aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup_32.c
diff options
context:
space:
mode:
authorAlexander van Heukelum <heukelum@mailshack.com>2008-03-04 13:57:42 -0500
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:40:52 -0400
commit2fde61fdb00c2337efc56cfbb05bde8a42864e65 (patch)
tree1bb0c42e59c9e045cc8621438581bde40aee6659 /arch/x86/kernel/setup_32.c
parent0d7a1819e97ef89be5bcbb4b724acb9f6c873c97 (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.c7
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);