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>
This commit is contained in:
Ian Campbell 2008-01-30 13:33:27 +01:00 committed by Ingo Molnar
parent 4323838215
commit 503595010f

View File

@ -199,7 +199,6 @@ default_entry:
addl $0x67, %eax /* 0x67 == _PAGE_TABLE */ addl $0x67, %eax /* 0x67 == _PAGE_TABLE */
movl %eax, 4092(%edx) movl %eax, 4092(%edx)
xorl %ebx,%ebx /* This is the boot CPU (BSP) */
jmp 3f jmp 3f
/* /*
* Non-boot CPU entry point; entered from trampoline.S * Non-boot CPU entry point; entered from trampoline.S
@ -268,10 +267,6 @@ ENTRY(startup_32_smp)
wrmsr wrmsr
6: 6:
/* This is a secondary processor (AP) */
xorl %ebx,%ebx
incl %ebx
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
3: 3:
@ -297,7 +292,7 @@ ENTRY(startup_32_smp)
popfl popfl
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
andl %ebx,%ebx cmpb $0, ready
jz 1f /* Initial CPU cleans BSS */ jz 1f /* Initial CPU cleans BSS */
jmp checkCPUtype jmp checkCPUtype
1: 1: