diff options
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/mpparse_32.c | 6 | ||||
-rw-r--r-- | arch/x86/kernel/setup_32.c | 18 | ||||
-rw-r--r-- | arch/x86/kernel/setup_64.c | 5 |
3 files changed, 17 insertions, 12 deletions
diff --git a/arch/x86/kernel/mpparse_32.c b/arch/x86/kernel/mpparse_32.c index 67009cdd5eca..f349e68e45a0 100644 --- a/arch/x86/kernel/mpparse_32.c +++ b/arch/x86/kernel/mpparse_32.c | |||
@@ -736,7 +736,8 @@ static int __init smp_scan_config (unsigned long base, unsigned long length) | |||
736 | smp_found_config = 1; | 736 | smp_found_config = 1; |
737 | printk(KERN_INFO "found SMP MP-table at [%p] %08lx\n", | 737 | printk(KERN_INFO "found SMP MP-table at [%p] %08lx\n", |
738 | mpf, virt_to_phys(mpf)); | 738 | mpf, virt_to_phys(mpf)); |
739 | reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE); | 739 | reserve_bootmem(virt_to_phys(mpf), PAGE_SIZE, |
740 | BOOTMEM_DEFAULT); | ||
740 | if (mpf->mpf_physptr) { | 741 | if (mpf->mpf_physptr) { |
741 | /* | 742 | /* |
742 | * We cannot access to MPC table to compute | 743 | * We cannot access to MPC table to compute |
@@ -751,7 +752,8 @@ static int __init smp_scan_config (unsigned long base, unsigned long length) | |||
751 | unsigned long end = max_low_pfn * PAGE_SIZE; | 752 | unsigned long end = max_low_pfn * PAGE_SIZE; |
752 | if (mpf->mpf_physptr + size > end) | 753 | if (mpf->mpf_physptr + size > end) |
753 | size = end - mpf->mpf_physptr; | 754 | size = end - mpf->mpf_physptr; |
754 | reserve_bootmem(mpf->mpf_physptr, size); | 755 | reserve_bootmem(mpf->mpf_physptr, size, |
756 | BOOTMEM_DEFAULT); | ||
755 | } | 757 | } |
756 | 758 | ||
757 | mpf_found = mpf; | 759 | mpf_found = mpf; |
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c index 62adc5f20be5..d1d8c347cc0b 100644 --- a/arch/x86/kernel/setup_32.c +++ b/arch/x86/kernel/setup_32.c | |||
@@ -390,7 +390,7 @@ static void __init reserve_ebda_region(void) | |||
390 | unsigned int addr; | 390 | unsigned int addr; |
391 | addr = get_bios_ebda(); | 391 | addr = get_bios_ebda(); |
392 | if (addr) | 392 | if (addr) |
393 | reserve_bootmem(addr, PAGE_SIZE); | 393 | reserve_bootmem(addr, PAGE_SIZE, BOOTMEM_DEFAULT); |
394 | } | 394 | } |
395 | 395 | ||
396 | #ifndef CONFIG_NEED_MULTIPLE_NODES | 396 | #ifndef CONFIG_NEED_MULTIPLE_NODES |
@@ -484,7 +484,8 @@ static void __init reserve_crashkernel(void) | |||
484 | (unsigned long)(total_mem >> 20)); | 484 | (unsigned long)(total_mem >> 20)); |
485 | crashk_res.start = crash_base; | 485 | crashk_res.start = crash_base; |
486 | crashk_res.end = crash_base + crash_size - 1; | 486 | crashk_res.end = crash_base + crash_size - 1; |
487 | reserve_bootmem(crash_base, crash_size); | 487 | reserve_bootmem(crash_base, crash_size, |
488 | BOOTMEM_DEFAULT); | ||
488 | } else | 489 | } else |
489 | printk(KERN_INFO "crashkernel reservation failed - " | 490 | printk(KERN_INFO "crashkernel reservation failed - " |
490 | "you have to specify a base address\n"); | 491 | "you have to specify a base address\n"); |
@@ -525,7 +526,7 @@ static void __init reserve_initrd(void) | |||
525 | } | 526 | } |
526 | if (ramdisk_end <= end_of_lowmem) { | 527 | if (ramdisk_end <= end_of_lowmem) { |
527 | /* All in lowmem, easy case */ | 528 | /* All in lowmem, easy case */ |
528 | reserve_bootmem(ramdisk_image, ramdisk_size); | 529 | reserve_bootmem(ramdisk_image, ramdisk_size, BOOTMEM_DEFAULT); |
529 | initrd_start = ramdisk_image + PAGE_OFFSET; | 530 | initrd_start = ramdisk_image + PAGE_OFFSET; |
530 | initrd_end = initrd_start+ramdisk_size; | 531 | initrd_end = initrd_start+ramdisk_size; |
531 | return; | 532 | return; |
@@ -536,7 +537,7 @@ static void __init reserve_initrd(void) | |||
536 | 537 | ||
537 | /* Note: this includes all the lowmem currently occupied by | 538 | /* Note: this includes all the lowmem currently occupied by |
538 | the initrd, we rely on that fact to keep the data intact. */ | 539 | the initrd, we rely on that fact to keep the data intact. */ |
539 | reserve_bootmem(ramdisk_here, ramdisk_size); | 540 | reserve_bootmem(ramdisk_here, ramdisk_size, BOOTMEM_DEFAULT); |
540 | initrd_start = ramdisk_here + PAGE_OFFSET; | 541 | initrd_start = ramdisk_here + PAGE_OFFSET; |
541 | initrd_end = initrd_start + ramdisk_size; | 542 | initrd_end = initrd_start + ramdisk_size; |
542 | 543 | ||
@@ -606,13 +607,14 @@ void __init setup_bootmem_allocator(void) | |||
606 | * bootmem allocator with an invalid RAM area. | 607 | * bootmem allocator with an invalid RAM area. |
607 | */ | 608 | */ |
608 | reserve_bootmem(__pa_symbol(_text), (PFN_PHYS(min_low_pfn) + | 609 | reserve_bootmem(__pa_symbol(_text), (PFN_PHYS(min_low_pfn) + |
609 | bootmap_size + PAGE_SIZE-1) - __pa_symbol(_text)); | 610 | bootmap_size + PAGE_SIZE-1) - __pa_symbol(_text), |
611 | BOOTMEM_DEFAULT); | ||
610 | 612 | ||
611 | /* | 613 | /* |
612 | * reserve physical page 0 - it's a special BIOS page on many boxes, | 614 | * reserve physical page 0 - it's a special BIOS page on many boxes, |
613 | * enabling clean reboots, SMP operation, laptop functions. | 615 | * enabling clean reboots, SMP operation, laptop functions. |
614 | */ | 616 | */ |
615 | reserve_bootmem(0, PAGE_SIZE); | 617 | reserve_bootmem(0, PAGE_SIZE, BOOTMEM_DEFAULT); |
616 | 618 | ||
617 | /* reserve EBDA region, it's a 4K region */ | 619 | /* reserve EBDA region, it's a 4K region */ |
618 | reserve_ebda_region(); | 620 | reserve_ebda_region(); |
@@ -622,7 +624,7 @@ void __init setup_bootmem_allocator(void) | |||
622 | unless you have no PS/2 mouse plugged in. */ | 624 | unless you have no PS/2 mouse plugged in. */ |
623 | if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD && | 625 | if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD && |
624 | boot_cpu_data.x86 == 6) | 626 | boot_cpu_data.x86 == 6) |
625 | reserve_bootmem(0xa0000 - 4096, 4096); | 627 | reserve_bootmem(0xa0000 - 4096, 4096, BOOTMEM_DEFAULT); |
626 | 628 | ||
627 | #ifdef CONFIG_SMP | 629 | #ifdef CONFIG_SMP |
628 | /* | 630 | /* |
@@ -630,7 +632,7 @@ void __init setup_bootmem_allocator(void) | |||
630 | * FIXME: Don't need the extra page at 4K, but need to fix | 632 | * FIXME: Don't need the extra page at 4K, but need to fix |
631 | * trampoline before removing it. (see the GDT stuff) | 633 | * trampoline before removing it. (see the GDT stuff) |
632 | */ | 634 | */ |
633 | reserve_bootmem(PAGE_SIZE, PAGE_SIZE); | 635 | reserve_bootmem(PAGE_SIZE, PAGE_SIZE, BOOTMEM_DEFAULT); |
634 | #endif | 636 | #endif |
635 | #ifdef CONFIG_ACPI_SLEEP | 637 | #ifdef CONFIG_ACPI_SLEEP |
636 | /* | 638 | /* |
diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c index c8939dfddfba..8345c3b12f05 100644 --- a/arch/x86/kernel/setup_64.c +++ b/arch/x86/kernel/setup_64.c | |||
@@ -189,7 +189,7 @@ contig_initmem_init(unsigned long start_pfn, unsigned long end_pfn) | |||
189 | bootmap_size = init_bootmem(bootmap >> PAGE_SHIFT, end_pfn); | 189 | bootmap_size = init_bootmem(bootmap >> PAGE_SHIFT, end_pfn); |
190 | e820_register_active_regions(0, start_pfn, end_pfn); | 190 | e820_register_active_regions(0, start_pfn, end_pfn); |
191 | free_bootmem_with_active_regions(0, end_pfn); | 191 | free_bootmem_with_active_regions(0, end_pfn); |
192 | reserve_bootmem(bootmap, bootmap_size); | 192 | reserve_bootmem(bootmap, bootmap_size, BOOTMEM_DEFAULT); |
193 | } | 193 | } |
194 | #endif | 194 | #endif |
195 | 195 | ||
@@ -238,7 +238,8 @@ static void __init reserve_crashkernel(void) | |||
238 | (unsigned long)(free_mem >> 20)); | 238 | (unsigned long)(free_mem >> 20)); |
239 | crashk_res.start = crash_base; | 239 | crashk_res.start = crash_base; |
240 | crashk_res.end = crash_base + crash_size - 1; | 240 | crashk_res.end = crash_base + crash_size - 1; |
241 | reserve_bootmem(crash_base, crash_size); | 241 | reserve_bootmem(crash_base, crash_size, |
242 | BOOTMEM_DEFAULT); | ||
242 | } else | 243 | } else |
243 | printk(KERN_INFO "crashkernel reservation failed - " | 244 | printk(KERN_INFO "crashkernel reservation failed - " |
244 | "you have to specify a base address\n"); | 245 | "you have to specify a base address\n"); |