--- linux-2.4.22-pre3-ac1/arch/i386/kernel/io_apic.c.orig Mon Jul 7 11:06:36 2003 +++ linux-2.4.22-pre3-ac1/arch/i386/kernel/io_apic.c Mon Jul 7 11:25:07 2003 @@ -44,7 +44,6 @@ unsigned int int_dest_addr_mode = APIC_DEST_LOGICAL; unsigned char int_delivery_mode = dest_LowestPrio; -extern unsigned int xapic_support; /* * # of IRQ routing registers @@ -1208,8 +1207,7 @@ old_id = mp_ioapics[apic].mpc_apicid; - if (!xapic_support && - (mp_ioapics[apic].mpc_apicid >= apic_broadcast_id)) { + if ((mp_ioapics[apic].mpc_apicid >= apic_broadcast_id)) { printk(KERN_ERR "BIOS bug, IO-APIC#%d ID is %d in the MPC table!...\n", apic, mp_ioapics[apic].mpc_apicid); printk(KERN_ERR "... fixing up to %d. (tell your hw vendor)\n", @@ -1223,8 +1221,7 @@ * 'stuck on smp_invalidate_needed IPI wait' messages. * I/O APIC IDs no longer have any meaning for xAPICs and SAPICs. */ - if (!xapic_support && - (clustered_apic_mode != CLUSTERED_APIC_XAPIC) && + if ((clustered_apic_mode != CLUSTERED_APIC_XAPIC) && (phys_id_present_map & (1 << mp_ioapics[apic].mpc_apicid))) { printk(KERN_ERR "BIOS bug, IO-APIC#%d ID %d is already used!...\n", apic, mp_ioapics[apic].mpc_apicid);