kirkwood openrd: random kernel crashes with git kernel

Nicolas Pitre nico at fluxnic.net
Fri Oct 2 22:50:39 EDT 2009


On Fri, 2 Oct 2009, Simon Kagstrom wrote:

> On Thu, 01 Oct 2009 12:19:21 -0400 (EDT)
> Nicolas Pitre <nico at fluxnic.net> wrote:
> 
> > > I should add that I've seen this error even without openocd connected,
> > > so this seems to be a real error. Anyway, I guess this will sooner or
> > > later be applied (in some form) upstream, so openrd should benefit
> > > "automatically" from it.
> > > 
> > > However, with OpenOCD there are other type of crashes which look very
> > > random, so I believe those will stay even with this.
> > 
> > Please send me information about those when you can.
> 
> The nohlt argument seems to fix them, thanks! Without it I get random
> memory corruption errors such as this:
[...]

Good.  Just so that you know the reason: the nohlt argument tells the 
kernel not to use the wait-for-interrupt instruction when idle.  This 
basically turns the idle loop into a busy loop.

The WFI instruction is normally used because it turns the CPU clock off 
to save power. Unfortunately, the clock to the JTAG unit is also turned 
off in that case and JTAG communication goes down the drain when that 
occurs.  Depending on exactly when the WFI mode is entered, if that 
happens in the middle of a JTAG communication then strange things may 
happen.  With nohlt the CPU clock is never stopped.


Nicolas



More information about the linux-arm-kernel mailing list