diff options
author | Alexander van Heukelum <heukelum@mailshack.com> | 2008-03-04 13:57:42 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-17 11:40:52 -0400 |
commit | 2fde61fdb00c2337efc56cfbb05bde8a42864e65 (patch) | |
tree | 1bb0c42e59c9e045cc8621438581bde40aee6659 /arch/x86/kernel/setup_32.c | |
parent | 0d7a1819e97ef89be5bcbb4b724acb9f6c873c97 (diff) |
x86: reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled
Jeremy Fitzhardinge pointed out that looking at the boot_params
struct to determine if the system is running in a paravirtual
environment is not reliable for the Xen case, currently. He also
points out that there already exists a function to determine if
the system is running in a paravirtual environment. So let's use
that instead. This gets rid of the preprocessor test too.
Signed-off-by: Alexander van Heukelum <heukelum@fastmail.fm>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup_32.c')
-rw-r--r-- | arch/x86/kernel/setup_32.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 14e293edd23f..fd639d9f79b6 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c | |||
@@ -64,6 +64,7 @@ | |||
64 | #include <setup_arch.h> | 64 | #include <setup_arch.h> |
65 | #include <bios_ebda.h> | 65 | #include <bios_ebda.h> |
66 | #include <asm/cacheflush.h> | 66 | #include <asm/cacheflush.h> |
67 | #include <asm/processor.h> | ||
67 | 68 | ||
68 | /* This value is set up by the early boot code to point to the value | 69 | /* This value is set up by the early boot code to point to the value |
69 | immediately after the boot time page tables. It contains a *physical* | 70 | immediately after the boot time page tables. It contains a *physical* |
@@ -408,12 +409,8 @@ static void __init reserve_ebda_region(void) | |||
408 | /* that area is absent. We'll just have to assume */ | 409 | /* that area is absent. We'll just have to assume */ |
409 | /* that the paravirt case can handle memory setup */ | 410 | /* that the paravirt case can handle memory setup */ |
410 | /* correctly, without our help. */ | 411 | /* correctly, without our help. */ |
411 | #ifdef CONFIG_PARAVIRT | 412 | if (paravirt_enabled()) |
412 | if ((boot_params.hdr.version >= 0x207) && | ||
413 | (boot_params.hdr.hardware_subarch != 0)) { | ||
414 | return; | 413 | return; |
415 | } | ||
416 | #endif | ||
417 | 414 | ||
418 | /* end of low (conventional) memory */ | 415 | /* end of low (conventional) memory */ |
419 | lowmem = *(unsigned short *)__va(BIOS_LOWMEM_KILOBYTES); | 416 | lowmem = *(unsigned short *)__va(BIOS_LOWMEM_KILOBYTES); |