Skip to contentSkip to conversation

Boot x86 boot enhancements, boot parameters 1/9

PATCH New Eric W. Biederman 1 participant 1 message Apr 3, 2002 Documentation

lore
Share & tools
lore
#0 lore raw

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
diff -uNr linux-2.5.7/Documentation/i386/zero-page.txt linux-2.5.7.boot2.boot_params/Documentation/i386/zero-page.txt
@@ -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