aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/mpparse_32.c
diff options
context:
space:
mode:
authorAlexey Starikovskiy <astarikovskiy@suse.de>2008-04-04 15:42:27 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:41:35 -0400
commite950bea8bff23c14eb38dc706aadf197ed81abf4 (patch)
tree642a45b3eba2c2a13ed407937ddc4a934d8993a2 /arch/x86/kernel/mpparse_32.c
parentf8924e770e048429ae13bfabe1ddad9bf1e64df7 (diff)
x86: unify smp_read_mpc
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/mpparse_32.c')
-rw-r--r--arch/x86/kernel/mpparse_32.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/arch/x86/kernel/mpparse_32.c b/arch/x86/kernel/mpparse_32.c
index 9120573e2616..c185065c3ebc 100644
--- a/arch/x86/kernel/mpparse_32.c
+++ b/arch/x86/kernel/mpparse_32.c
@@ -288,39 +288,40 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early)
288 unsigned char *mpt = ((unsigned char *)mpc) + count; 288 unsigned char *mpt = ((unsigned char *)mpc) + count;
289 289
290 if (memcmp(mpc->mpc_signature, MPC_SIGNATURE, 4)) { 290 if (memcmp(mpc->mpc_signature, MPC_SIGNATURE, 4)) {
291 printk(KERN_ERR "SMP mptable: bad signature [0x%x]!\n", 291 printk(KERN_ERR "MPTABLE: bad signature [%c%c%c%c]!\n",
292 *(u32 *) mpc->mpc_signature); 292 mpc->mpc_signature[0], mpc->mpc_signature[1],
293 mpc->mpc_signature[2], mpc->mpc_signature[3]);
293 return 0; 294 return 0;
294 } 295 }
295 if (mpf_checksum((unsigned char *)mpc, mpc->mpc_length)) { 296 if (mpf_checksum((unsigned char *)mpc, mpc->mpc_length)) {
296 printk(KERN_ERR "SMP mptable: checksum error!\n"); 297 printk(KERN_ERR "MPTABLE: checksum error!\n");
297 return 0; 298 return 0;
298 } 299 }
299 if (mpc->mpc_spec != 0x01 && mpc->mpc_spec != 0x04) { 300 if (mpc->mpc_spec != 0x01 && mpc->mpc_spec != 0x04) {
300 printk(KERN_ERR "SMP mptable: bad table version (%d)!!\n", 301 printk(KERN_ERR "MPTABLE: bad table version (%d)!!\n",
301 mpc->mpc_spec); 302 mpc->mpc_spec);
302 return 0; 303 return 0;
303 } 304 }
304 if (!mpc->mpc_lapic) { 305 if (!mpc->mpc_lapic) {
305 printk(KERN_ERR "SMP mptable: null local APIC address!\n"); 306 printk(KERN_ERR "MPTABLE: null local APIC address!\n");
306 return 0; 307 return 0;
307 } 308 }
308 memcpy(oem, mpc->mpc_oem, 8); 309 memcpy(oem, mpc->mpc_oem, 8);
309 oem[8] = 0; 310 oem[8] = 0;
310 printk(KERN_INFO "OEM ID: %s ", oem); 311 printk(KERN_INFO "MPTABLE: OEM ID: %s ", oem);
311 312
312 memcpy(str, mpc->mpc_productid, 12); 313 memcpy(str, mpc->mpc_productid, 12);
313 str[12] = 0; 314 str[12] = 0;
314 printk("Product ID: %s ", str); 315 printk("Product ID: %s ", str);
315 316
317#ifdef CONFIG_X86_32
316 mps_oem_check(mpc, oem, str); 318 mps_oem_check(mpc, oem, str);
319#endif
320 printk(KERN_INFO "MPTABLE: Product ID: %s ", str);
317 321
318 printk("APIC at: 0x%X\n", mpc->mpc_lapic); 322 printk(KERN_INFO "MPTABLE: APIC at: 0x%X\n", mpc->mpc_lapic);
319 323
320 /* 324 /* save the local APIC address, it might be non-default */
321 * Save the local APIC address (it might be non-default) -- but only
322 * if we're not using ACPI.
323 */
324 if (!acpi_lapic) 325 if (!acpi_lapic)
325 mp_lapic_addr = mpc->mpc_lapic; 326 mp_lapic_addr = mpc->mpc_lapic;
326 327
@@ -399,7 +400,7 @@ static int __init smp_read_mpc(struct mp_config_table *mpc, unsigned early)
399 } 400 }
400 setup_apic_routing(); 401 setup_apic_routing();
401 if (!num_processors) 402 if (!num_processors)
402 printk(KERN_ERR "SMP mptable: no processors registered!\n"); 403 printk(KERN_ERR "MPTABLE: no processors registered!\n");
403 return num_processors; 404 return num_processors;
404} 405}
405 406