linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* setting and removing break-point from within kernel
@ 2010-09-19 14:56 Uma shankar
  2010-09-19 15:03 ` Uma shankar
  0 siblings, 1 reply; 2+ messages in thread
From: Uma shankar @ 2010-09-19 14:56 UTC (permalink / raw)
  To: linux-arm-kernel, linux-mm

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

}

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 2+ messages in thread

* setting and removing break-point from within kernel
  2010-09-19 14:56 setting and removing break-point from within kernel Uma shankar
@ 2010-09-19 15:03 ` Uma shankar
  0 siblings, 0 replies; 2+ messages in thread
From: Uma shankar @ 2010-09-19 15:03 UTC (permalink / raw)
  To: linux-arm-kernel, linux-mm

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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-09-19 15:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-19 14:56 setting and removing break-point from within kernel Uma shankar
2010-09-19 15:03 ` Uma shankar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox