git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git]
/
arch
/
i386
/
mach-visws
/
mpparse.c
diff --git
a/arch/i386/mach-visws/mpparse.c
b/arch/i386/mach-visws/mpparse.c
index
dd1525a
..
fa80064
100644
(file)
--- a/
arch/i386/mach-visws/mpparse.c
+++ b/
arch/i386/mach-visws/mpparse.c
@@
-57,12
+57,12
@@
void __init MP_processor_info (struct mpc_config_processor *m)
boot_cpu_logical_apicid = logical_apicid;
}
boot_cpu_logical_apicid = logical_apicid;
}
- if (m->mpc_apicid > MAX_APICS) {
+ ver = m->mpc_apicver;
+ if ((ver >= 0x14 && m->mpc_apicid >= 0xff) || m->mpc_apicid >= 0xf) {
printk(KERN_ERR "Processor #%d INVALID. (Max ID: %d).\n",
m->mpc_apicid, MAX_APICS);
return;
}
printk(KERN_ERR "Processor #%d INVALID. (Max ID: %d).\n",
m->mpc_apicid, MAX_APICS);
return;
}
- ver = m->mpc_apicver;
apic_cpus = apicid_to_cpu_present(m->mpc_apicid);
physids_or(phys_cpu_present_map, phys_cpu_present_map, apic_cpus);
apic_cpus = apicid_to_cpu_present(m->mpc_apicid);
physids_or(phys_cpu_present_map, phys_cpu_present_map, apic_cpus);