Subject: Re: boot fails on an asus P6PND
To: Brett Lymn <blymn@baesystems.com.au>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: tech-smp
Date: 09/02/2000 08:56:45
>         I was inspired by the recent rash of successes to try running
> a mp kernel on my dual ppro asus board.  Unfortunately, it drops to
> the debugger just after mounting the root file system.  The panic
> message is:
> 
> cpu1: cpu0 running
> kernel: page fault trap, code=0
> 
> 
> a trace gives:
> 
> tlbflushg(.....) at tlb_flushg+0x26
> pmap_do_tlb_shootdown at pmap_do_tlb_shootdown+0x74
> i386_ipi_handler(......) at i386_ipi_handler+0x9e
> Xintripi() at Xintripi+0x38
> 
> When I tried doing a sync from ddb the machine just hung so I could
> not get a kernel core dump :-(

the core dump/panic/reboot path needs a bit of work in the MP case.

> Is there anything I can try to fix this?

s/fix/diagnose/

The function offsets don't match anything in the kernel I built.  In
particular, tlbflushg should be inlined into pmap_do_tlb_shootdown.

tlbflushg is a "global" tlb flush.

things you can do:

 - send dmesg for a normal boot (of uniprocessor kernel)
 - send kernel config.
 - hook up a serial console and capture boot output.
 - capture traceback and "show reg" output
 - in particular, capture *all* the debugger output... the current cpu
number will show up in the prompt.

also, can you:

gdb netbsd
(gdb) disassemble tlbflushg
(gdb) disassemble pmap_do_tlb_shootdown

(for the test kernel you booted, of course..)

and mail the output to me?

thanks..

						- Bill