Jack something that should probably go in your port...

The I/O apic code remaps the interrupt gate for entering KDB after
trap_init.

This patch fixes the problem.

Regards
-steve

MR: 17231
Type: Defect Fix
Disposition: submitted to kdb maintainers
Signed-off-by: Steven Dake <[EMAIL PROTECTED]>
Description:
        The io apic code would register an interrupt gate (IRQ handler)
        after KDB had set its interrupt handler.  This registration wipes out 
the
        KDB registration.  This results in KDB_ENTER no longer working which
        is called by the panic notifier.  The solution is to ensure the
        KDBENTER_VECTOR is not assigned during IO APIC IRQ assignment.

Index: linux-2.6.10/arch/x86_64/kernel/io_apic.c
===================================================================
--- linux-2.6.10.orig/arch/x86_64/kernel/io_apic.c
+++ linux-2.6.10/arch/x86_64/kernel/io_apic.c
@@ -31,6 +31,7 @@
 #include <linux/mc146818rtc.h>
 #include <linux/acpi.h>
 #include <linux/sysdev.h>
+#include <linux/kdb.h>
 
 #include <asm/io.h>
 #include <asm/smp.h>
@@ -667,6 +668,11 @@ next:
        if (current_vector == IA32_SYSCALL_VECTOR)
                goto next;
 
+#ifdef CONFIG_KDB
+       if (current_vector == KDBENTER_VECTOR)
+               goto next;
+#endif
+
        if (current_vector >= FIRST_SYSTEM_VECTOR) {
                offset++;
                if (!(offset%8))


---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.

Reply via email to