aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r--arch/x86/kernel/mpparse_32.c6
-rw-r--r--arch/x86/kernel/setup_32.c18
-rw-r--r--arch/x86/kernel/setup_64.c5
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");