Commit 582b5af2 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds

[PATCH] x86_64: Fix safe_smp_processor_id after genapic

genapic broke early safe_smp_processor_id(), especially when you got a
WARN_ON or oops early it would loops forever in show_trace.  The reason was
that the x86_cpu_to_apicid array wasn't correctly initialized.

This patch fixes this by just testing for this case.

Orginally from James Cleverdon
Acked-by: Andi Kleen <ak@muc.de> 
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 0f3c3a85
......@@ -104,6 +104,11 @@ static inline int x86_apicid_to_cpu(u8 apicid)
if (x86_cpu_to_apicid[i] == apicid)
return i;
/* No entries in x86_cpu_to_apicid? Either no MPS|ACPI,
* or called too early. Either way, we must be CPU 0. */
if (x86_cpu_to_apicid[0] == BAD_APICID)
return 0;
return -1;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment