<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/stand/forth, branch releng/14.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F14.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2024-12-28T18:13:19Z</updated>
<entry>
<title>loader/4th: Move from hint.acpi.0.rsdp to acpi.rsdp</title>
<updated>2024-12-28T18:13:19Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2024-10-04T04:50:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3463f0d85a02ab5c50c9ad06f5b7e3e0c52e2b44'/>
<id>urn:sha1:3463f0d85a02ab5c50c9ad06f5b7e3e0c52e2b44</id>
<content type='text'>
Use acpi.rsdp to test for ACPI. 4th wasn't updated with the old compat
was dropped a while ago.

MFC After:	1 week
Sponsored by:	Netflix

(cherry picked from commit 37798b1d5dd12cd5e842b6f99135a2e4af8cf9e0)
</content>
</entry>
<entry>
<title>loader.4th dictthreshold too small</title>
<updated>2024-04-16T19:54:30Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-03-18T23:16:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=41883f55a8f9f7755ac7f0c321694eeee2b765e8'/>
<id>urn:sha1:41883f55a8f9f7755ac7f0c321694eeee2b765e8</id>
<content type='text'>
The dictthreshold in stand/forth/loader.4th is too small
resulting in full dictionary.

Reviewed by:	stevek, imp
Sponsored by:	Juniper Networks, Inc.
Differential Revision:	https://reviews.freebsd.org/D44414

(cherry picked from commit a8eb3b365eb63d2a569b166f2dfc982967d3a7fa)
</content>
</entry>
<entry>
<title>stand: Retire setting hw.ata.wc: it doesn't exist.</title>
<updated>2024-04-16T02:32:05Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-24T18:28:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5029119797e1340636952d1a8e7b0defd7b2500b'/>
<id>urn:sha1:5029119797e1340636952d1a8e7b0defd7b2500b</id>
<content type='text'>
hw.ata.wc was disconnected as part ot the 2013 cam-ification of ata. No
need to continue setting it. It's been unused in FreeBSD 10.x and newer.

Sponsored by:		Netflix

(cherry picked from commit 67d2bd974d34d918255307321107273562f11dde)
</content>
</entry>
<entry>
<title>stand: Retire setting hw.eisa_slots.</title>
<updated>2024-04-16T02:32:05Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-11-24T17:58:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5417db3a9739c47520cf3651caeb1e869bb49243'/>
<id>urn:sha1:5417db3a9739c47520cf3651caeb1e869bb49243</id>
<content type='text'>
When the eisa code was removed in 2017, prior to the stable/12 branch,
setting hw.eisa_slots became a nop. The oldest supported branch doesn't
have eisa at all. The need to set it manually on boot disappeared
largely by 2000...

Sponsored by:		Netflix

(cherry picked from commit 21795c374aceb685dbdb1bd18c7a5c41c3cf0baf)
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: one-line forth tag</title>
<updated>2023-08-16T17:55:43Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:55:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=26a58599a09a6181e0f5abe624021865a0c23186'/>
<id>urn:sha1:26a58599a09a6181e0f5abe624021865a0c23186</id>
<content type='text'>
Remove /^\\[\s*]*\$FreeBSD\$.*$\n/
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: two-line nroff pattern</title>
<updated>2023-08-16T17:55:10Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:55:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fa9896e082a1046ff4fbc75fcba4d18d1f2efc19'/>
<id>urn:sha1:fa9896e082a1046ff4fbc75fcba4d18d1f2efc19</id>
<content type='text'>
Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: one-line sh pattern</title>
<updated>2023-08-16T17:55:03Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:55:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf'/>
<id>urn:sha1:d0b2dbfa0ecf2bbc9709efc5e20baf8e4b44bbbf</id>
<content type='text'>
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
</content>
</entry>
<entry>
<title>loader.4th(8): Fix a typo in the manual page</title>
<updated>2022-04-02T13:11:59Z</updated>
<author>
<name>Gordon Bergling</name>
<email>gbe@FreeBSD.org</email>
</author>
<published>2022-04-02T13:11:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ad49d7c54cca4906179369e2196c1edbcf509342'/>
<id>urn:sha1:ad49d7c54cca4906179369e2196c1edbcf509342</id>
<content type='text'>
- s/commmand/command/

MFC after:	3 days
</content>
</entry>
<entry>
<title>loader: support.4th resets the read buffer incorrectly</title>
<updated>2021-07-28T19:50:38Z</updated>
<author>
<name>John Hood</name>
<email>cgull+l-freebsd-bugzilla@glup.org</email>
</author>
<published>2021-07-28T19:43:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=dbdf2b52f59df7374eb1f799b4df1b54e4502e40'/>
<id>urn:sha1:dbdf2b52f59df7374eb1f799b4df1b54e4502e40</id>
<content type='text'>
Large nextboot.conf files (over 80 bytes) are not read correctly by the
Forth loader, causing file parsing to abort, and nextboot configuration
fails to apply.

Simple repro:

nextboot -e foo=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
shutdown -r now

That will cause the bug to cause a parse failure but shouldn't otherwise
affect the boot.  Depending on your loader configuration, you may also
have to set beastie_disable and/or reduce the number of modules loaded
to see the error on a small console screen.  12.0 or CURRENT users will
also have to explicitly use the Forth loader instead of the Lua loader.
The error will look something like:

Warning: syntax error on file /boot/loader.conf.local
foo="xxxxxxxxxxxxxxnextboot_enable="YES"
                                    ^
/boot/support.4th has crude file I/O buffering, which uses a buffer
'read_buffer', defined to be 80 bytes by the 'read_buffer_size'
constant.  The loader first tastes nextboot.conf, reading and parsing
the first line in it for nextboot_enable="YES".  If this is true, then
it reopens the file and parses it like other loader .conf files.

Unfortunately, the file I/O buffering code does not fully reset the
buffer state in the reset_line_reading word.  If the last file was read
to the end, that doesn't matter; the file buffer is treated as empty
anyway.  But in the nextboot.conf case, the loader will not read to the
end of file if it is over 80 bytes, and the file buffer may be reused
when reading the next file.  When the file is reread, the corrupt text
may cause file parsing to abort on bad syntax (if the corrupt line has
&lt;&gt;2 quotes in it), the wrong variable to be set, no variable to be set
at all, or (if the splice happens to land at a line ending) something
approximating normal operation.

The bug is very old, dating back to at least 2000 if not before, and is
still present in 12.0 and CURRENT r345863 (though it is now hidden by
the Lua loader by default).

Suggested one-line attached.  This does change the behavior of the
reset_line_reading word, which is exported in the line-reading
dictionary (though the export is not documented in loader man pages).
But repo history shows it was probably exported for the PNP support
code, which was never included in the loader build, and was removed 5
months ago.

One thing that puzzles me: how has this bug gone unnoticed/unfixed for
nearly 2 decades?  I find it hard to believe that nobody's tried to do
something interesting with nextboot, like load a kernel and filesystem,
which is what I'm doing.

Tested by:		Gary Jennejohn
PR:			239315
MFC After:		3 weeks
Reviewed by:		imp (and correctly applied this time)
Differential Revision:	https://reviews.freebsd.org/D31328
</content>
</entry>
<entry>
<title>Revert "loader: support.4th resets the read buffer incorrectly"</title>
<updated>2021-07-26T22:40:41Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2021-07-26T22:40:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4783fb730fa1cfdbe5c905bb23ac74f681e2df6b'/>
<id>urn:sha1:4783fb730fa1cfdbe5c905bb23ac74f681e2df6b</id>
<content type='text'>
This reverts commit 9c1c02093b90ae49745a174eb26ea85dd1990eec. It seems
to have broken all old nextboot.conf files causing hangs on boot.

Sponsored by:		Netflix
</content>
</entry>
</feed>
