diff options
| -rw-r--r-- | arch/x86/kernel/head64.c | 5 | ||||
| -rw-r--r-- | arch/x86/kernel/setup_32.c | 4 | ||||
| -rw-r--r-- | arch/x86/kernel/summit_32.c | 5 |
3 files changed, 6 insertions, 8 deletions
diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c index 993c76773256..d31d6b72d60d 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <asm/sections.h> | 22 | #include <asm/sections.h> |
| 23 | #include <asm/kdebug.h> | 23 | #include <asm/kdebug.h> |
| 24 | #include <asm/e820.h> | 24 | #include <asm/e820.h> |
| 25 | #include <asm/bios_ebda.h> | ||
| 25 | 26 | ||
| 26 | static void __init zap_identity_mappings(void) | 27 | static void __init zap_identity_mappings(void) |
| 27 | { | 28 | { |
| @@ -49,7 +50,6 @@ static void __init copy_bootdata(char *real_mode_data) | |||
| 49 | } | 50 | } |
| 50 | } | 51 | } |
| 51 | 52 | ||
| 52 | #define BIOS_EBDA_SEGMENT 0x40E | ||
| 53 | #define BIOS_LOWMEM_KILOBYTES 0x413 | 53 | #define BIOS_LOWMEM_KILOBYTES 0x413 |
| 54 | 54 | ||
| 55 | /* | 55 | /* |
| @@ -80,8 +80,7 @@ static void __init reserve_ebda_region(void) | |||
| 80 | lowmem <<= 10; | 80 | lowmem <<= 10; |
| 81 | 81 | ||
| 82 | /* start of EBDA area */ | 82 | /* start of EBDA area */ |
| 83 | ebda_addr = *(unsigned short *)__va(BIOS_EBDA_SEGMENT); | 83 | ebda_addr = get_bios_ebda(); |
| 84 | ebda_addr <<= 4; | ||
| 85 | 84 | ||
| 86 | /* Fixup: bios puts an EBDA in the top 64K segment */ | 85 | /* Fixup: bios puts an EBDA in the top 64K segment */ |
| 87 | /* of conventional memory, but does not adjust lowmem. */ | 86 | /* of conventional memory, but does not adjust lowmem. */ |
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 455d3c80960b..44cc9b933932 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c | |||
| @@ -389,7 +389,6 @@ unsigned long __init find_max_low_pfn(void) | |||
| 389 | return max_low_pfn; | 389 | return max_low_pfn; |
| 390 | } | 390 | } |
| 391 | 391 | ||
| 392 | #define BIOS_EBDA_SEGMENT 0x40E | ||
| 393 | #define BIOS_LOWMEM_KILOBYTES 0x413 | 392 | #define BIOS_LOWMEM_KILOBYTES 0x413 |
| 394 | 393 | ||
| 395 | /* | 394 | /* |
| @@ -420,8 +419,7 @@ static void __init reserve_ebda_region(void) | |||
| 420 | lowmem <<= 10; | 419 | lowmem <<= 10; |
| 421 | 420 | ||
| 422 | /* start of EBDA area */ | 421 | /* start of EBDA area */ |
| 423 | ebda_addr = *(unsigned short *)__va(BIOS_EBDA_SEGMENT); | 422 | ebda_addr = get_bios_ebda(); |
| 424 | ebda_addr <<= 4; | ||
| 425 | 423 | ||
| 426 | /* Fixup: bios puts an EBDA in the top 64K segment */ | 424 | /* Fixup: bios puts an EBDA in the top 64K segment */ |
| 427 | /* of conventional memory, but does not adjust lowmem. */ | 425 | /* of conventional memory, but does not adjust lowmem. */ |
diff --git a/arch/x86/kernel/summit_32.c b/arch/x86/kernel/summit_32.c index 6878a9c2df5d..ae751094eba9 100644 --- a/arch/x86/kernel/summit_32.c +++ b/arch/x86/kernel/summit_32.c | |||
| @@ -29,6 +29,7 @@ | |||
| 29 | #include <linux/mm.h> | 29 | #include <linux/mm.h> |
| 30 | #include <linux/init.h> | 30 | #include <linux/init.h> |
| 31 | #include <asm/io.h> | 31 | #include <asm/io.h> |
| 32 | #include <asm/bios_ebda.h> | ||
| 32 | #include <asm/mach-summit/mach_mpparse.h> | 33 | #include <asm/mach-summit/mach_mpparse.h> |
| 33 | 34 | ||
| 34 | static struct rio_table_hdr *rio_table_hdr __initdata; | 35 | static struct rio_table_hdr *rio_table_hdr __initdata; |
| @@ -140,8 +141,8 @@ void __init setup_summit(void) | |||
| 140 | int i, next_wpeg, next_bus = 0; | 141 | int i, next_wpeg, next_bus = 0; |
| 141 | 142 | ||
| 142 | /* The pointer to the EBDA is stored in the word @ phys 0x40E(40:0E) */ | 143 | /* The pointer to the EBDA is stored in the word @ phys 0x40E(40:0E) */ |
| 143 | ptr = *(unsigned short *)phys_to_virt(0x40Eul); | 144 | ptr = get_bios_ebda(); |
| 144 | ptr = (unsigned long)phys_to_virt(ptr << 4); | 145 | ptr = (unsigned long)phys_to_virt(ptr); |
| 145 | 146 | ||
| 146 | rio_table_hdr = NULL; | 147 | rio_table_hdr = NULL; |
| 147 | offset = 0x180; | 148 | offset = 0x180; |
