aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smpboot_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/smpboot_32.c')
-rw-r--r--arch/x86/kernel/smpboot_32.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c
index a21f25418b3e..ee826594aa03 100644
--- a/arch/x86/kernel/smpboot_32.c
+++ b/arch/x86/kernel/smpboot_32.c
@@ -73,41 +73,12 @@ EXPORT_PER_CPU_SYMBOL(x86_cpu_to_apicid);
73 73
74u8 apicid_2_node[MAX_APICID]; 74u8 apicid_2_node[MAX_APICID];
75 75
76static unsigned char *trampoline_base;
77
78static void map_cpu_to_logical_apicid(void); 76static void map_cpu_to_logical_apicid(void);
79 77
80/* State of each CPU. */ 78/* State of each CPU. */
81DEFINE_PER_CPU(int, cpu_state) = { 0 }; 79DEFINE_PER_CPU(int, cpu_state) = { 0 };
82 80
83/* 81/*
84 * Currently trivial. Write the real->protected mode
85 * bootstrap into the page concerned. The caller
86 * has made sure it's suitably aligned.
87 */
88
89static unsigned long __cpuinit setup_trampoline(void)
90{
91 memcpy(trampoline_base, trampoline_data, trampoline_end - trampoline_data);
92 return virt_to_phys(trampoline_base);
93}
94
95/*
96 * We are called very early to get the low memory for the
97 * SMP bootup trampoline page.
98 */
99void __init smp_alloc_memory(void)
100{
101 trampoline_base = alloc_bootmem_low_pages(PAGE_SIZE);
102 /*
103 * Has to be in very low memory so we can execute
104 * real-mode AP code.
105 */
106 if (__pa(trampoline_base) >= 0x9F000)
107 BUG();
108}
109
110/*
111 * The bootstrap kernel entry code has set these up. Save them for 82 * The bootstrap kernel entry code has set these up. Save them for
112 * a given CPU 83 * a given CPU
113 */ 84 */