Re: 2.4.11 APIC problems

Roman Kagan (Roman.Kagan@itep.ru)
Thu, 11 Oct 2001 11:37:16 +0400


I had exactly the same problem on my HP e800. I've tried to identify
what had changed between 2.4.10 and 2.4.11 in IO-APIC code, and I've
found out that probably the only change relevant to my uniprocessor
case is the change of the initial value of dest_mode field in struct
IO_APIC_route_entry in setup_IO_APIC_irqs() and
setup_ExtINT_IRQ0_pin() in arch/i386/kernel/io_apic.c from 1 to macro
INT_DELIVERY_MODE, which for uniprocessors was defined to be 0.

I don't claim I understand whether it is right or wrong, but the
following patch can fix _my_ problem:

--- linux/include/asm-i386/smp.h.int_delivery Wed Oct 10 13:36:11 2001
+++ linux/include/asm-i386/smp.h Wed Oct 10 18:17:06 2001
@@ -31,7 +31,7 @@
# define INT_DELIVERY_MODE 1 /* logical delivery broadcast to all procs */
# endif
#else
-# define INT_DELIVERY_MODE 0 /* physical delivery on LOCAL quad */
+# define INT_DELIVERY_MODE 1 /* logical delivery */
# define TARGET_CPUS 0x01
#endif

Cheers,
Roman.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/