diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /arch/x86/kernel/head32.c | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'arch/x86/kernel/head32.c')
-rw-r--r-- | arch/x86/kernel/head32.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c index 784360c0625c..3bb08509a7a1 100644 --- a/arch/x86/kernel/head32.c +++ b/arch/x86/kernel/head32.c | |||
@@ -8,6 +8,7 @@ | |||
8 | #include <linux/init.h> | 8 | #include <linux/init.h> |
9 | #include <linux/start_kernel.h> | 9 | #include <linux/start_kernel.h> |
10 | #include <linux/mm.h> | 10 | #include <linux/mm.h> |
11 | #include <linux/memblock.h> | ||
11 | 12 | ||
12 | #include <asm/setup.h> | 13 | #include <asm/setup.h> |
13 | #include <asm/sections.h> | 14 | #include <asm/sections.h> |
@@ -17,11 +18,11 @@ | |||
17 | #include <asm/apic.h> | 18 | #include <asm/apic.h> |
18 | #include <asm/io_apic.h> | 19 | #include <asm/io_apic.h> |
19 | #include <asm/bios_ebda.h> | 20 | #include <asm/bios_ebda.h> |
21 | #include <asm/tlbflush.h> | ||
20 | 22 | ||
21 | static void __init i386_default_early_setup(void) | 23 | static void __init i386_default_early_setup(void) |
22 | { | 24 | { |
23 | /* Initialize 32bit specific setup functions */ | 25 | /* Initialize 32bit specific setup functions */ |
24 | x86_init.resources.probe_roms = probe_roms; | ||
25 | x86_init.resources.reserve_resources = i386_reserve_resources; | 26 | x86_init.resources.reserve_resources = i386_reserve_resources; |
26 | x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc; | 27 | x86_init.mpparse.setup_ioapic_ids = setup_ioapic_ids_from_mpc; |
27 | 28 | ||
@@ -30,17 +31,9 @@ static void __init i386_default_early_setup(void) | |||
30 | 31 | ||
31 | void __init i386_start_kernel(void) | 32 | void __init i386_start_kernel(void) |
32 | { | 33 | { |
33 | #ifdef CONFIG_X86_TRAMPOLINE | 34 | memblock_init(); |
34 | /* | ||
35 | * But first pinch a few for the stack/trampoline stuff | ||
36 | * FIXME: Don't need the extra page at 4K, but need to fix | ||
37 | * trampoline before removing it. (see the GDT stuff) | ||
38 | */ | ||
39 | reserve_early_overlap_ok(PAGE_SIZE, PAGE_SIZE + PAGE_SIZE, | ||
40 | "EX TRAMPOLINE"); | ||
41 | #endif | ||
42 | 35 | ||
43 | reserve_early(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); | 36 | memblock_x86_reserve_range(__pa_symbol(&_text), __pa_symbol(&__bss_stop), "TEXT DATA BSS"); |
44 | 37 | ||
45 | #ifdef CONFIG_BLK_DEV_INITRD | 38 | #ifdef CONFIG_BLK_DEV_INITRD |
46 | /* Reserve INITRD */ | 39 | /* Reserve INITRD */ |
@@ -49,7 +42,7 @@ void __init i386_start_kernel(void) | |||
49 | u64 ramdisk_image = boot_params.hdr.ramdisk_image; | 42 | u64 ramdisk_image = boot_params.hdr.ramdisk_image; |
50 | u64 ramdisk_size = boot_params.hdr.ramdisk_size; | 43 | u64 ramdisk_size = boot_params.hdr.ramdisk_size; |
51 | u64 ramdisk_end = PAGE_ALIGN(ramdisk_image + ramdisk_size); | 44 | u64 ramdisk_end = PAGE_ALIGN(ramdisk_image + ramdisk_size); |
52 | reserve_early(ramdisk_image, ramdisk_end, "RAMDISK"); | 45 | memblock_x86_reserve_range(ramdisk_image, ramdisk_end, "RAMDISK"); |
53 | } | 46 | } |
54 | #endif | 47 | #endif |
55 | 48 | ||
@@ -58,6 +51,9 @@ void __init i386_start_kernel(void) | |||
58 | case X86_SUBARCH_MRST: | 51 | case X86_SUBARCH_MRST: |
59 | x86_mrst_early_setup(); | 52 | x86_mrst_early_setup(); |
60 | break; | 53 | break; |
54 | case X86_SUBARCH_CE4100: | ||
55 | x86_ce4100_early_setup(); | ||
56 | break; | ||
61 | default: | 57 | default: |
62 | i386_default_early_setup(); | 58 | i386_default_early_setup(); |
63 | break; | 59 | break; |