- unless otherwise specified, modules are now loaded from the same device
as the kernel ('load miniroot' now implies 'load tftp:miniroot' if the
boot command is 'boot tftp:netbsd')
- the module name -> path expansion now works when a device prefix: is
specified ('load tftp:miniroot' now works)
- if the module name has been expanded to a path, print that path when
loading the module rather than the symbolic name
- only print an error in module_open if both the expanded path and the
raw path fail to open
PR# port-i386/41162: A20 gate legacy hook cause long pxeboot delay on Soekris net5501
Remove calls to delay() before polling KBD registers in gateA20().
of "starting in N" and eliminate a use of sprintf. Note that on
some rare machines it can be that the BIOS does not provide the delay
function. On such machines the countdown will almost immediately count down
to zero display "starting in 0 seconds."; apparently the net4801 is such a
machine.
Feedback, ideas, and inspiration from tron, ok tron/tonnerre
than 32k.
A bootconf file is normally only a few hundred bytes long. If it is
much bigger than expected, we can't load it into an 8086 real mode
segment anyway.
Much more to the point, in the pxeboot case, someone may have
configured their dhcpd to return the filename for the kernel, not
realizing that the filename is now for boot.cfg which didn't used to
be the case. If we try to load the kernel here, thinking it is
boot.cfg by accident, the boot loader will die ignominiously and
without much of an error message, so we don't want to do that.
This needs to be pulled up to 5.0 if 5.0 has all this machinery
-- I'm not sure whether it does.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
and amd64 where VESA VBE 2.0+ is available.
* Add helper library and stubs to invoke VBE bioscalls.
* Bump HEAP_START as we were already dangerously close to our limits.
* bootdataseg now allows access > 16MB so in the future we can scribble
on the framebuffer.
* Pass BTINFO_FRAMEBUFFER parameters to kernel when configured.
* VBE modes are configured with the new 'vesa' command. Usage, when present:
* vesa {enabled|disabled}
Enable / disable linear framebuffer, default mode is 640x480x8. May
be changed in the future to determine mode based on VBE/DDC where
available.
* vesa list
List modes supported by the firmware that meet the following criteria:
* linear framebuffer
* packed pixel or direct colour mode
* vesa {modenum|modestr}
Enable specific VBE mode. The mode can be specified either as a
VBE mode number (eg. 0x101) or as a string (eg. 800x600x16).
to avoid unnecessary 64 bit ops which would make binaries larger:
satime_t (currently unsigned int):
numbers in seconds returned by the machine dependent getsecs() function
which are used to measure relative time
saseconds_t (currently int):
numbers in seconds used to specify timeout to network drivers
Per discussion on current-users.
Patch provided by Robert Swindell with fixes for the command line
parsing and addition of passing module options from me. The kernel now
always gets the full string for modules like for the command line,
everything before the first space/tab is the path name of the module.
elf header/program headers/text/data/note/
section headers/symbol table/string table
We need to read the section headers first to find the offset of the note
and thus we requite backwards seek. The only reason we need to read the
note is to find the version of the kernel, and this seems not to be used
anywhere. We could potentially change the kernel ldscript to add the note
information in the program headers, but dealing with ldscripts is painful
and producing a more complex binary could break some dumb standalone loader.
So the simple solution is to just disable the note loading for floppies
which is what this patch does. If someone wants to fix it in a better way,
be my guest.