diff options
author | Ian Campbell <ijc@hellion.org.uk> | 2008-01-30 07:33:27 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:27 -0500 |
commit | 503595010f2024b236fd2636a7318fe64c794d6c (patch) | |
tree | 661bcbb5bdd52f8340747afb9edd3683d90cdff3 | |
parent | 4323838215184f5a2f081e0d17b8d60731b03164 (diff) |
x86_32: remove unnecessary use of %ebx as the boot cpu flag
Currently in head_32.S there are two ways we test to see if we
are the boot cpu. By looking at %ebx and by looking at the
static variable ready. When changing things around I have
found that it gets tricky to preserve %ebx. So this
patch just switches head.S over to the more reliable
test of always using ready.
Hopefully later we can kill these tests entirely.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Mika Penttilä <mika.penttila@kolumbus.fi>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | arch/x86/kernel/head_32.S | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index f409fe2a52e4..7b9b2566b7a8 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -199,7 +199,6 @@ default_entry: | |||
199 | addl $0x67, %eax /* 0x67 == _PAGE_TABLE */ | 199 | addl $0x67, %eax /* 0x67 == _PAGE_TABLE */ |
200 | movl %eax, 4092(%edx) | 200 | movl %eax, 4092(%edx) |
201 | 201 | ||
202 | xorl %ebx,%ebx /* This is the boot CPU (BSP) */ | ||
203 | jmp 3f | 202 | jmp 3f |
204 | /* | 203 | /* |
205 | * Non-boot CPU entry point; entered from trampoline.S | 204 | * Non-boot CPU entry point; entered from trampoline.S |
@@ -268,10 +267,6 @@ ENTRY(startup_32_smp) | |||
268 | wrmsr | 267 | wrmsr |
269 | 268 | ||
270 | 6: | 269 | 6: |
271 | /* This is a secondary processor (AP) */ | ||
272 | xorl %ebx,%ebx | ||
273 | incl %ebx | ||
274 | |||
275 | #endif /* CONFIG_SMP */ | 270 | #endif /* CONFIG_SMP */ |
276 | 3: | 271 | 3: |
277 | 272 | ||
@@ -297,7 +292,7 @@ ENTRY(startup_32_smp) | |||
297 | popfl | 292 | popfl |
298 | 293 | ||
299 | #ifdef CONFIG_SMP | 294 | #ifdef CONFIG_SMP |
300 | andl %ebx,%ebx | 295 | cmpb $0, ready |
301 | jz 1f /* Initial CPU cleans BSS */ | 296 | jz 1f /* Initial CPU cleans BSS */ |
302 | jmp checkCPUtype | 297 | jmp checkCPUtype |
303 | 1: | 298 | 1: |