From 6922762e58b2c5d32e06c98f870cd97529f435ad Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Wed, 30 Aug 2006 19:37:09 +0200 Subject: [PATCH] --- yaml --- r: 33698 b: refs/heads/master c: 29fe5f3bafb644c33269fb0f2a719d4809a07332 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/i386/kernel/head.S | 14 ++++---------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 920532b90c11..326ad2b311be 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c05991ed12fd71e539dd8de8f5663450cd0c934c +refs/heads/master: 29fe5f3bafb644c33269fb0f2a719d4809a07332 diff --git a/trunk/arch/i386/kernel/head.S b/trunk/arch/i386/kernel/head.S index eb79aa2fa8bb..a6b8bd89aa27 100644 --- a/trunk/arch/i386/kernel/head.S +++ b/trunk/arch/i386/kernel/head.S @@ -317,20 +317,14 @@ is386: movl $2,%ecx # set MP movl %eax,%gs lldt %ax cld # gcc2 wants the direction flag cleared at all times + pushl %eax # fake return address #ifdef CONFIG_SMP movb ready, %cl movb $1, ready - cmpb $0,%cl - je 1f # the first CPU calls start_kernel - # all other CPUs call initialize_secondary - call initialize_secondary - jmp L6 -1: + cmpb $0,%cl # the first CPU calls start_kernel + jne initialize_secondary # all other CPUs call initialize_secondary #endif /* CONFIG_SMP */ - call start_kernel -L6: - jmp L6 # main should never return here, but - # just in case, we know what happens. + jmp start_kernel /* * We depend on ET to be correct. This checks for 287/387.