diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2009-04-01 18:08:28 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-04-09 16:08:11 -0700 |
commit | 7a734e7dd93b9aea08ed51036a9a0e2c9dfd8dac (patch) | |
tree | 222c2ce27f583cccd4c8e7fb14903870b36a2b45 /arch/x86/boot/setup.ld | |
parent | 62b8e680e61d3f48f2a12ee248ca03ea8f376926 (diff) | |
download | kernel_samsung_smdk4412-7a734e7dd93b9aea08ed51036a9a0e2c9dfd8dac.zip kernel_samsung_smdk4412-7a734e7dd93b9aea08ed51036a9a0e2c9dfd8dac.tar.gz kernel_samsung_smdk4412-7a734e7dd93b9aea08ed51036a9a0e2c9dfd8dac.tar.bz2 |
x86, setup: "glove box" BIOS calls -- infrastructure
Impact: new interfaces (not yet used)
For all the platforms out there, there is an infinite number of buggy
BIOSes. This adds infrastructure to treat BIOS interrupts more like
toxic waste and "glove box" them -- we switch out the register set,
perform the BIOS interrupt, and then restore the previous state.
LKML-Reference: <49DE7F79.4030106@zytor.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'arch/x86/boot/setup.ld')
-rw-r--r-- | arch/x86/boot/setup.ld | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/boot/setup.ld b/arch/x86/boot/setup.ld index bb8dc2d..0f6ec455 100644 --- a/arch/x86/boot/setup.ld +++ b/arch/x86/boot/setup.ld @@ -15,8 +15,11 @@ SECTIONS . = 497; .header : { *(.header) } + .entrytext : { *(.entrytext) } .inittext : { *(.inittext) } .initdata : { *(.initdata) } + __end_init = .; + .text : { *(.text) } .text32 : { *(.text32) } @@ -52,4 +55,7 @@ SECTIONS . = ASSERT(_end <= 0x8000, "Setup too big!"); . = ASSERT(hdr == 0x1f1, "The setup header has the wrong offset!"); + /* Necessary for the very-old-loader check to work... */ + . = ASSERT(__end_init <= 5*512, "init sections too big!"); + } |