diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-05-07 19:54:11 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-05-11 20:45:06 -0400 |
commit | 5031296c57024a78ddad4edfc993367dbf4abb98 (patch) | |
tree | 7506daf7aabf25a5ec567fcd2e644fe22cd91eca /arch/x86/boot/header.S | |
parent | fe83fcc0a14dcf71996de5eb84771b2369ba7abc (diff) |
x86: add extension fields for bootloader type and version
A long ago, in days of yore, it all began with a god named Thor.
There were vikings and boats and some plans for a Linux kernel
header. Unfortunately, a single 8-bit field was used for bootloader
type and version. This has generally worked without *too* much pain,
but we're getting close to flat running out of ID fields.
Add extension fields for both type and version. The type will be
extended if it the old field is 0xE; the version is a simple MSB
extension.
Keep /proc/sys/kernel/bootloader_type containing
(type << 4) + (ver & 0xf) for backwards compatiblity, but also add
/proc/sys/kernel/bootloader_version which contains the full version
number.
[ Impact: new feature to support more bootloaders ]
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/boot/header.S')
-rw-r--r-- | arch/x86/boot/header.S | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S index a0b426978d55..68c3bfbaff24 100644 --- a/arch/x86/boot/header.S +++ b/arch/x86/boot/header.S | |||
@@ -169,7 +169,11 @@ heap_end_ptr: .word _end+STACK_SIZE-512 | |||
169 | # end of setup code can be used by setup | 169 | # end of setup code can be used by setup |
170 | # for local heap purposes. | 170 | # for local heap purposes. |
171 | 171 | ||
172 | pad1: .word 0 | 172 | ext_loader_ver: |
173 | .byte 0 # Extended boot loader version | ||
174 | ext_loader_type: | ||
175 | .byte 0 # Extended boot loader type | ||
176 | |||
173 | cmd_line_ptr: .long 0 # (Header version 0x0202 or later) | 177 | cmd_line_ptr: .long 0 # (Header version 0x0202 or later) |
174 | # If nonzero, a 32-bit pointer | 178 | # If nonzero, a 32-bit pointer |
175 | # to the kernel command line. | 179 | # to the kernel command line. |