summaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/smp.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 10:52:34 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 10:52:34 +0200
commitb7f5e3c7742d5332b78b831131f43fc3630e6322 (patch)
tree4334c97a3a8e2ac409444ecb2d7844d3a63e4118 /arch/x86_64/kernel/smp.c
parent3fa7c794fe4dc127f7fac3fad4d13628e68f89ce (diff)
downloadop-kernel-dev-b7f5e3c7742d5332b78b831131f43fc3630e6322.zip
op-kernel-dev-b7f5e3c7742d5332b78b831131f43fc3630e6322.tar.gz
[PATCH] Don't access the APIC in safe_smp_processor_id when it is not mapped yet
Lockdep can call the dwarf2 unwinder early, and the dwarf2 code uses safe_smp_processor_id which tries to access the local APIC page. But that doesn't work before the APIC code has set up its fixmap. Check for this case and always return boot cpu then. Cc: jbeulich@novell.com Cc: mingo@elte.hu Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/x86_64/kernel/smp.c')
-rw-r--r--arch/x86_64/kernel/smp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c
index 06af6ca..2df988b 100644
--- a/arch/x86_64/kernel/smp.c
+++ b/arch/x86_64/kernel/smp.c
@@ -526,7 +526,7 @@ int safe_smp_processor_id(void)
{
unsigned apicid, i;
- if (disable_apic)
+ if (disable_apic || !apic_mapped)
return 0;
apicid = hard_smp_processor_id();
OpenPOWER on IntegriCloud