software breakpoint

Keith Owens kaos at sgi.com
Mon May 14 21:52:52 PDT 2007


"Randy.Dunlap" (on Mon, 14 May 2007 16:35:19 -0700) wrote:
>I tried to use KDB_ENTER() in a kernel init function,
>specifically, in net/core/netpoll.c::netpoll_setup(), which is
>called from drivers/net/netconsole.c::init_netconsole().
>
>kdb didn't break/trap.  The kernel just printed a message
>similar to:
>
>do_IRQ: 0.129 no handler
>
>Am I trying to break before kdb is ready to be used or what?

arch/i386/kdb/kdbasupport::kdba_late_init() sets up the interrupt gate
for KDBENTER_VECTOR (129).  kdba_late_init() is defined as __initcall,
init_netconsole is module_init which also maps to __initcall.  Booting
with initcall_debug shows netconsole being initialized before kdba_late_init.

>Any suggestions?

Apply this patch, it will be rolled into the next kdb patch set, along
with an x86_64 equivalent.

Index: linux/arch/i386/kdb/kdbasupport.c
===================================================================
--- linux.orig/arch/i386/kdb/kdbasupport.c	2007-05-15 14:50:28.271496876 +1000
+++ linux/arch/i386/kdb/kdbasupport.c	2007-05-15 14:49:30.786998513 +1000
@@ -1010,7 +1010,7 @@ kdba_verify_rw(unsigned long addr, size_
 }
 
 static int __init
-kdba_late_init(void)
+kdba_arch_init(void)
 {
 #ifdef	CONFIG_SMP
 	set_intr_gate(KDB_VECTOR, kdb_interrupt);
@@ -1019,7 +1019,7 @@ kdba_late_init(void)
 	return 0;
 }
 
-__initcall(kdba_late_init);
+arch_initcall(kdba_arch_init);
 
 #ifdef	CONFIG_SMP
 

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


More information about the kdb mailing list