Commit 8380aabb99719af583447133f19a4d8074b5c337

Authored by Andi Kleen
Committed by Andi Kleen
1 parent b3698c03eb

[PATCH] Remove non e820 fallbacks in high level code

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>

Showing 2 changed files with 9 additions and 23 deletions Side-by-side Diff

arch/x86_64/kernel/e820.c
... ... @@ -536,10 +536,14 @@
536 536 return 0;
537 537 }
538 538  
539   -void __init setup_memory_region(void)
  539 +void early_panic(char *msg)
540 540 {
541   - char *who = "BIOS-e820";
  541 + early_printk(msg);
  542 + panic(msg);
  543 +}
542 544  
  545 +void __init setup_memory_region(void)
  546 +{
543 547 /*
544 548 * Try to copy the BIOS-supplied E820-map.
545 549 *
546 550  
... ... @@ -547,24 +551,10 @@
547 551 * the next section from 1mb->appropriate_mem_k
548 552 */
549 553 sanitize_e820_map(E820_MAP, &E820_MAP_NR);
550   - if (copy_e820_map(E820_MAP, E820_MAP_NR) < 0) {
551   - unsigned long mem_size;
552   -
553   - /* compare results from other methods and take the greater */
554   - if (ALT_MEM_K < EXT_MEM_K) {
555   - mem_size = EXT_MEM_K;
556   - who = "BIOS-88";
557   - } else {
558   - mem_size = ALT_MEM_K;
559   - who = "BIOS-e801";
560   - }
561   -
562   - e820.nr_map = 0;
563   - add_memory_region(0, LOWMEMSIZE(), E820_RAM);
564   - add_memory_region(HIGH_MEMORY, mem_size << 10, E820_RAM);
565   - }
  554 + if (copy_e820_map(E820_MAP, E820_MAP_NR) < 0)
  555 + early_panic("Cannot find a valid memory map");
566 556 printk(KERN_INFO "BIOS-provided physical RAM map:\n");
567   - e820_print_map(who);
  557 + e820_print_map("BIOS-e820");
568 558 }
569 559  
570 560 static int __init parse_memopt(char *p)
include/asm-x86_64/e820.h
... ... @@ -22,10 +22,6 @@
22 22 #define E820_ACPI 3 /* usable as RAM once ACPI tables have been read */
23 23 #define E820_NVS 4
24 24  
25   -#define HIGH_MEMORY (1024*1024)
26   -
27   -#define LOWMEMSIZE() (0x9f000)
28   -
29 25 #ifndef __ASSEMBLY__
30 26 struct e820entry {
31 27 u64 addr; /* start of memory segment */