tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kgdb on amd64



panic: lockdebug_lookup: uninitialized lock... (from kvtopte())

is what you get if you try kgdb on amd64.

On connecting, I see:
...
Sending packet: $qAttached#8f...Ack
Packet received: 
Packet qAttached (query-attached) is NOT supported
Sending packet: $g#67...Ack
Packet received: 000000000000000000908181ffffffff010000000000000000908181ffffffff00908181ffffffffd0070000000000008509d980ffffffff080000000000000000000000000000000000000000000000000000000000000080070000000000000a1800000000000090e30f01000000000000000000000000189052ca00000000
Sending packet: $m81819000,1#65...Ack

That $m81819000 leads to sys/arch/amd64/amd64/kgdb_machdep.c:kgdb_acc()
and the panic is in

                          pte = kvtopte(va);

with va=0x81819000;

kvtopte() is defined in sys/arch/x86/include/pmap.h:

static __inline pt_entry_t * __unused
vtopte(vaddr_t va)
{
 
        KASSERT(va < VM_MIN_KERNEL_ADDRESS);
 
        return (PTE_BASE + pl1_i(va));
}

#define pl1_i(VA)       (((VA_SIGN_POS(VA)) & L1_FRAME) >> L1_SHIFT)

So, where is the lock? (or is the address illegal?)

Cheers,

Patrick


Home | Main Index | Thread Index | Old Index