Boot x86 boot enhancements, boot parameters 1/9
PATCH 1/1 Boot x86 boot enhancements, boot parameters 1/9
Linus please apply,
I have been working with Linux in areas where the usual booting process is inadequate, or simply falls short.
I regularly boot in an environment that does not have a 16bit BIOS
so I cannot use the current 16bit entry point. This is environment
is LinuxBIOS but I know of several other embedded platforms have this property as well.
I routinely use very stupid non-interactive boot loaders where it is convinient to precompute the command line, and where the ramdisk is loaded in memory. The kernel does not currently export enough information about it's boot process to do this properly.
To address these needs I have come up with a series of patches that moves the x86 boot protocol to version 2.04. This retains backwards compatibility while introducing enough flexibility to handle the strange cases cleanly, and enough information to actually describe what memory the kernel boot process is using.
This first patch introduces a structure of boot parameters placed in asm-i386/boot_param.h and implemented in misc.c and setup.c.
This removes a lot of magic macros and by keeping all of the boot parameters in a structure it becomes much easier to track which boot_paramters we have and where they live. Additionally this keeps the names more uniform making grepping easier.
Eric
Documentation/i386/zero-page.txt +3 -1
@@ -9,6 +9,8 @@ arch/i386/boot/video.S arch/i386/kernel/head.S arch/i386/kernel/setup.c + +See include/asm-i386/boot_param.h a structure is kept there with uptodate information. Offset Type Description
@@ -65,7 +67,7 @@ 0x21c unsigned long INITRD_SIZE, size in bytes of ramdisk image 0x220 4 bytes (setup.S) 0x224 unsigned short setup.S heap end pointer -0x2d0 - 0x600 E820MAP +0x2d0 - 0x550 E820MAP 0x800 string, 2K max COMMAND_LINE, the kernel commandline as copied using CL_OFFSET.
arch/i386/boot/compressed/misc.c +34 -30
113 lines not on this page · raw message
arch/i386/kernel/setup.c +41 -62
167 lines not on this page · raw message
include/asm-i386/boot_param.h +73 -0
73 lines not on this page · raw message