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.