x86: reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled
authorAlexander van Heukelum <heukelum@mailshack.com>
Tue, 4 Mar 2008 18:57:42 +0000 (19:57 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:40:52 +0000 (17:40 +0200)
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>
arch/x86/kernel/setup_32.c

index 14e293edd23f5ec3f5bcfecfe4419fc8fbd48bca..fd639d9f79b6c452d1355f3f5e6dd431de02dcb3 100644 (file)
@@ -64,6 +64,7 @@
 #include <setup_arch.h>
 #include <bios_ebda.h>
 #include <asm/cacheflush.h>
+#include <asm/processor.h>
 
 /* This value is set up by the early boot code to point to the value
    immediately after the boot time page tables.  It contains a *physical*
@@ -408,12 +409,8 @@ static void __init reserve_ebda_region(void)
        /* that area is absent. We'll just have to assume */
        /* that the paravirt case can handle memory setup */
        /* correctly, without our help. */
-#ifdef CONFIG_PARAVIRT
-       if ((boot_params.hdr.version >= 0x207) &&
-                       (boot_params.hdr.hardware_subarch != 0)) {
+       if (paravirt_enabled())
                return;
-       }
-#endif
 
        /* end of low (conventional) memory */
        lowmem = *(unsigned short *)__va(BIOS_LOWMEM_KILOBYTES);