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