]> err.no Git - linux-2.6/commitdiff
[PATCH] Remove non e820 fallbacks in high level code
authorAndi Kleen <ak@suse.de>
Tue, 26 Sep 2006 08:52:37 +0000 (10:52 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Tue, 26 Sep 2006 08:52:37 +0000 (10:52 +0200)
Drop support for non e820 BIOS calls to get the memory map.

The boot assembler code still has some support, but not the C code now.

Signed-off-by: Andi Kleen <ak@suse.de>
arch/x86_64/kernel/e820.c
include/asm-x86_64/e820.h

index e06c2714ecf362304413124dbc71d34dacdc143b..5d1275a936583ecef5fd734919a37e855bc826eb 100644 (file)
@@ -536,10 +536,14 @@ static int __init copy_e820_map(struct e820entry * biosmap, int nr_map)
        return 0;
 }
 
-void __init setup_memory_region(void)
+void early_panic(char *msg)
 {
-       char *who = "BIOS-e820";
+       early_printk(msg);
+       panic(msg);
+}
 
+void __init setup_memory_region(void)
+{
        /*
         * Try to copy the BIOS-supplied E820-map.
         *
@@ -547,24 +551,10 @@ void __init setup_memory_region(void)
         * the next section from 1mb->appropriate_mem_k
         */
        sanitize_e820_map(E820_MAP, &E820_MAP_NR);
-       if (copy_e820_map(E820_MAP, E820_MAP_NR) < 0) {
-               unsigned long mem_size;
-
-               /* compare results from other methods and take the greater */
-               if (ALT_MEM_K < EXT_MEM_K) {
-                       mem_size = EXT_MEM_K;
-                       who = "BIOS-88";
-               } else {
-                       mem_size = ALT_MEM_K;
-                       who = "BIOS-e801";
-               }
-
-               e820.nr_map = 0;
-               add_memory_region(0, LOWMEMSIZE(), E820_RAM);
-               add_memory_region(HIGH_MEMORY, mem_size << 10, E820_RAM);
-       }
+       if (copy_e820_map(E820_MAP, E820_MAP_NR) < 0)
+               early_panic("Cannot find a valid memory map");
        printk(KERN_INFO "BIOS-provided physical RAM map:\n");
-       e820_print_map(who);
+       e820_print_map("BIOS-e820");
 }
 
 static int __init parse_memopt(char *p)
index dba0121518565b248c47588d671ae539170d4a47..8dac397bf85ed6ba467032113641890cc5dd9a06 100644 (file)
 #define E820_ACPI      3 /* usable as RAM once ACPI tables have been read */
 #define E820_NVS       4
 
-#define HIGH_MEMORY    (1024*1024)
-
-#define LOWMEMSIZE()   (0x9f000)
-
 #ifndef __ASSEMBLY__
 struct e820entry {
        u64 addr;       /* start of memory segment */