Ctrl-Alt-ESC during boot

Matthew Dillon dillon at apollo.backplane.com
Fri Jan 28 00:48:16 PST 2005


:but something bad is happening upon dereferencing td
:
:(kgdb) p td->td_cpl
:
:Chuck Tuffli
:Agilent Technologies

    No, actually spl0() is working just fine.  What is happening is that
    there is a pending interrupt marked and spl0 is calling splz() to
    process the pending interrupts.

    splz() is pure assembly... it doesn't have a frame pointer so GDB's
    backtrace doesn't see it.  But you should be able to figure out the code
    that is actually running by examining the stack starting at the stack
    pointer and looking for addresses above 0xc0000000.  You would have to
    compare them against a sorted namelist of the kernel binary
    (nm -n /kernel | less) to figure out which routine the kernel is 
    actually in.

    It could be a stuck interrupt.  That is, if an interrupt service routine
    runs but does not clear the source of the interrupt, the interrupt will
    remain pending and the interrupt service routine will run again in a 
    tight loop.  The interrupt rate limiting code is supposed to deal with
    that but that code might not be operational so early in the boot 
    sequence.

					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>





More information about the Kernel mailing list