setting and removing break-point from within kernel

Uma shankar shankar.vk at gmail.com
Sun Sep 19 11:03:16 EDT 2010


Hi,

        I am trying to debug  a subtle  timing-dependent  bug in kernel.

I found that  if  I could set up  a break-point  from within  kernel
at run-time, this  would help.

The condition to trigger is
"If  0 is written  at  virtual address  0xCEC8F004 , then stop".

The address is on kernel-stack

My  SOC has a onchip  JTAG-based  debug block.

What I have in mind  is  to do as  below -

signed long __sched schedule_timeout(signed long timeout)
{
 struct timer_list timer;
 unsigned long expire;
// some  kernel code

// setup  conditional break-point

// some  kernel code  runs here
// some  kernel code
// some  kernel code

//  remove  the break-point

// some  kernel code  runs here

}

     Has anyone tried this ?
     Any ideas ?
                                       Thanks
                                       shankar



More information about the linux-arm-kernel mailing list