summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-03-19 14:26:08 -0300
committerIngo Molnar <mingo@elte.hu>2008-04-17 17:41:04 +0200
commit0df1ba8cabc6c2d613921c75e525826e6eb3210b (patch)
treefdb8df4658b53a848f12965b635dd697e933d925 /arch
parent1db17f553425ae679bc771d4796b7349f00cb1d9 (diff)
x86: add extra sanity check
This test exists in x86_64 and also applies to i386. So we add it Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/smpboot_32.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c
index 6be36d3eea4..ae23b603978 100644
--- a/arch/x86/kernel/smpboot_32.c
+++ b/arch/x86/kernel/smpboot_32.c
@@ -118,6 +118,12 @@ static void __init disable_smp(void)
static int __init smp_sanity_check(unsigned max_cpus)
{
+ if (!physid_isset(hard_smp_processor_id(), phys_cpu_present_map)) {
+ printk(KERN_WARNING "weird, boot CPU (#%d) not listed"
+ "by the BIOS.\n", hard_smp_processor_id());
+ physid_set(hard_smp_processor_id(), phys_cpu_present_map);
+ }
+
/*
* If we couldn't find an SMP configuration at boot time,
* get out of here now!