[LinuxBIOS] [PATCH][v3] Merge hlt() into cpu.h (svn resync)
Peter Stuge
peter at stuge.se
Thu Jul 12 17:47:16 CEST 2007
On Thu, Jul 12, 2007 at 03:06:57PM +0200, Uwe Hermann wrote:
> > > If so, shall we move the loop into hlt() itself?
> >
> > I don't think so. hlt() is just a C wrapper around the instruction.
>
> Hm, but given your above explanations that the hlt() may not really
> completely halt, I'd say that we really should move the loop into
> hlt().
Again, the function is a C interface to the instruction.
The instruction will always halt the CPU, but the CPU can wake up
again. All by design. :)
> When I call hlt() from my code I _expect_ a full halt, I don't want
> _any_ other code exectuted.
I think that's another function. Maybe it's die() or halt() but it
sure isn't what the hlt instruction does.
> Or ??s there some reason why you explicitly want that behaviour?
hlt can be used to sleep until further notice. I don't know if we do
in LB yet, but Linux executes hlt all the time. (Less with dynamic
clocks.)
There is definately a legitimate use of hlt() as it stands, but we
may not actually need it in LB at the moment. We would probably be
fine with just a halt().
Until we've looked into it further I think looping in die() is good.
> > Eventually I imagine building a panic room into die() so that
>
> Yep, surely a nice idea (should be a Kconfig option, though).
Maybe an expert option that is enabled by default? Typically I'd like
it to always be available. But discussion for later.
> But maybe hlt() and die() should do just what they are supposed to
> do.
I think they do now.
> It may be better to make an explicit panicroom() function or so...
Yep, definately.
//Peter
More information about the coreboot
mailing list