On Thu, Jul 12, 2007 at 03:44:23AM +0200, Uwe Hermann wrote:
Btw, why does die() do an endless loop around hlt()? Is there a reason a hlt() will _not_ immediately halt the CPU? Can that happen?
It should halt, but the CPU may wake up again and continue executing if an interrupt arrives. All should be masked, but you never know..
If so, shall we move the loop into hlt() itself?
I don't think so. hlt() is just a C wrapper around the instruction.
Eventually I imagine building a panic room into die() so that recovery can be made via console on fatal errors. Ideally with some kind of stub for debugging stage0 and definately one for initram.
Merge hlt() into cpu.h where it belongs. Add some documentation.
Signed-off-by: Uwe Hermann uwe@hermann-uwe.de
Acked-by: Peter Stuge peter@stuge.se