diff options
Diffstat (limited to 'arch/x86/kernel/head64.c')
| -rw-r--r-- | arch/x86/kernel/head64.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c index 7147143fd614..2d2673c28aff 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <linux/percpu.h> | 12 | #include <linux/percpu.h> | 
| 13 | #include <linux/start_kernel.h> | 13 | #include <linux/start_kernel.h> | 
| 14 | #include <linux/io.h> | 14 | #include <linux/io.h> | 
| 15 | #include <linux/memblock.h> | ||
| 15 | 16 | ||
| 16 | #include <asm/processor.h> | 17 | #include <asm/processor.h> | 
| 17 | #include <asm/proto.h> | 18 | #include <asm/proto.h> | 
| @@ -79,6 +80,8 @@ void __init x86_64_start_kernel(char * real_mode_data) | |||
| 79 | /* Cleanup the over mapped high alias */ | 80 | /* Cleanup the over mapped high alias */ | 
| 80 | cleanup_highmap(); | 81 | cleanup_highmap(); | 
| 81 | 82 | ||
| 83 | max_pfn_mapped = KERNEL_IMAGE_SIZE >> PAGE_SHIFT; | ||
| 84 | |||
| 82 | for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) { | 85 | for (i = 0; i < NUM_EXCEPTION_VECTORS; i++) { | 
| 83 | #ifdef CONFIG_EARLY_PRINTK | 86 | #ifdef CONFIG_EARLY_PRINTK | 
| 84 | set_intr_gate(i, &early_idt_handlers[i]); | 87 | set_intr_gate(i, &early_idt_handlers[i]); | 
| @@ -98,7 +101,9 @@ void __init x86_64_start_reservations(char *real_mode_data) | |||
| 98 | { | 101 | { | 
| 99 | copy_bootdata(__va(real_mode_data)); | 102 | copy_bootdata(__va(real_mode_data)); | 
| 100 | 103 | ||
| 101 | reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); | 104 | memblock_init(); | 
| 105 | |||
| 106 | memblock_x86_reserve_range(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); | ||
| 102 | 107 | ||
| 103 | #ifdef CONFIG_BLK_DEV_INITRD | 108 | #ifdef CONFIG_BLK_DEV_INITRD | 
| 104 | /* Reserve INITRD */ | 109 | /* Reserve INITRD */ | 
| @@ -107,7 +112,7 @@ void __init x86_64_start_reservations(char *real_mode_data) | |||
| 107 | unsigned long ramdisk_image = boot_params.hdr.ramdisk_image; | 112 | unsigned long ramdisk_image = boot_params.hdr.ramdisk_image; | 
| 108 | unsigned long ramdisk_size = boot_params.hdr.ramdisk_size; | 113 | unsigned long ramdisk_size = boot_params.hdr.ramdisk_size; | 
| 109 | unsigned long ramdisk_end = PAGE_ALIGN(ramdisk_image + ramdisk_size); | 114 | unsigned long ramdisk_end = PAGE_ALIGN(ramdisk_image + ramdisk_size); | 
| 110 | reserve_early(ramdisk_image, ramdisk_end, "RAMDISK"); | 115 | memblock_x86_reserve_range(ramdisk_image, ramdisk_end, "RAMDISK"); | 
| 111 | } | 116 | } | 
| 112 | #endif | 117 | #endif | 
| 113 | 118 | ||
