x86: add extension fields for bootloader type and version
authorH. Peter Anvin <hpa@zytor.com>
Thu, 7 May 2009 23:54:11 +0000 (16:54 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 12 May 2009 00:45:06 +0000 (17:45 -0700)
commit5031296c57024a78ddad4edfc993367dbf4abb98
tree7506daf7aabf25a5ec567fcd2e644fe22cd91eca
parentfe83fcc0a14dcf71996de5eb84771b2369ba7abc
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>
Documentation/x86/boot.txt
arch/x86/boot/header.S
arch/x86/include/asm/bootparam.h
arch/x86/include/asm/processor.h
arch/x86/kernel/setup.c
kernel/sysctl.c