aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/head_32.S
diff options
context:
space:
mode:
authorGlauber Costa <gcosta@redhat.com>2008-05-28 12:57:02 -0300
committerIngo Molnar <mingo@elte.hu>2008-07-08 12:48:17 +0200
commite3f77edfc1d0beb7b10f9f31d9e39206f7dbef7b (patch)
tree54f6b89dd5aefa2e205a19b04199d6f5fcaaa840 /arch/x86/kernel/head_32.S
parentx86: move x86_64 gdt closer to i386 (diff)
downloadlinux-dev-e3f77edfc1d0beb7b10f9f31d9e39206f7dbef7b.tar.xz
linux-dev-e3f77edfc1d0beb7b10f9f31d9e39206f7dbef7b.zip
x86: use initial_code for i386
x86_64 jumps to whatever is written in "initial_code" symbol, instead of a fixed address. Do it for i386 too. It will allow us to integrate more of the smp boot code. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/head_32.S')
-rw-r--r--arch/x86/kernel/head_32.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index b98b338aae1a..ffb73a5b609f 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -455,7 +455,10 @@ is386: movl $2,%ecx # set MP
jmp initialize_secondary # all other CPUs call initialize_secondary
1:
#endif /* CONFIG_SMP */
- jmp i386_start_kernel
+ jmp *(initial_code)
+.align 4
+ENTRY(initial_code)
+ .long i386_start_kernel
/*
* We depend on ET to be correct. This checks for 287/387.