|
@@ -2007,9 +2007,12 @@ void __init setup_ioapic_ids_from_mpc_nocheck(void)
|
|
|
= mp_ioapics[apic_id].apicid;
|
|
|
|
|
|
/*
|
|
|
- * Read the right value from the MPC table and
|
|
|
- * write it into the ID register.
|
|
|
+ * Update the ID register according to the right value
|
|
|
+ * from the MPC table if they are different.
|
|
|
*/
|
|
|
+ if (mp_ioapics[apic_id].apicid == reg_00.bits.ID)
|
|
|
+ continue;
|
|
|
+
|
|
|
apic_printk(APIC_VERBOSE, KERN_INFO
|
|
|
"...changing IO-APIC physical APIC ID to %d ...",
|
|
|
mp_ioapics[apic_id].apicid);
|