Re: [PATCH 2.6.26 2/25] mdb: Merkey's Kernel Debugger

From: Andi Kleen
Date: Tue Aug 05 2008 - 21:45:13 EST


jmerkey@xxxxxxxxxxxxxxxxxxxxx writes:
> regs->ip)
> -#ifndef CONFIG_KPROBES
> +#if !defined(CONFIG_KPROBES) && !defined(CONFIG_MDB)
> DO_VM86_ERROR(3, SIGTRAP, "int3", int3)
> #endif
> DO_VM86_ERROR(4, SIGSEGV, "overflow", overflow)
> @@ -733,6 +747,9 @@
> {
> if (notify_die(DIE_NMIUNKNOWN, "nmi", regs, reason, 2, SIGINT) ==
> NOTIFY_STOP)
> return;
> +#ifdef CONFIG_MDB
> + mdb(NMI_EXCEPTION, reason, regs); // nmi is code 2
> +#endif

This should be all using die notifiers (register_die etc.) like the
other kernel debuggers, not own hooks. As you can see there is already
a notify_die call around basically all the places you put in a mdb()
call, and you can just hook in there. If your other interfaces to the core
kernel are clean enough this would even allow to use your debugger as a module.

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