Subject: re: panic: cpu1: lockmgr: no context
To: Simon J. Gerraty <sjg@crufty.net>
From: matthew green <mrg@eterna.com.au>
List: tech-smp
Date: 01/06/2002 01:17:55
   
   
   
   cpu0: booting secondary processors: cpu1
   cpu0, curproc=0xf02c0850
   calling: exec_init(1)
   wakeup start_init_exec
   calling: uvm_scheduler()
   raise_ipi_wait_and_unlock(cpu0): couldn't ping cpu1

OK, so IPI's don't work on hypersparc cpus it seems.

   panic: cpu1: lockmgr: no context: lkp=0xf029810c interlkp=0x0 flags=0x1
   Stopped at      cpu_Debugger+0x4:       jmpl            [%o7 + 0x8], %g0
   db{1}> trace
   _lockmgr(0xf029810c, 0x1, 0x0, 0xfffffffe, 0x92, 0xf024f170) at _lockmgr+0xf0
   uvm_fault(0xf0298108, 0xf61c9000, 0x0, 0x2, 0x3de, 0x0) at uvm_fault+0x80
   mem_access_fault4m(0x9, 0x3a6, 0xf61c9000, 0xf61c8f00, 0x0, 0x12) at mem_access_
   fault4m+0x2d8
   memfault_sun4m(0xf61c8fb0, 0x80000000, 0xffffffff, 0xf01fa280, 0xedfe200, 0x6006
   06) at memfault_sun4m+0xe4
   sparc_interrupt44c(0xf0653f40, 0x0, 0x0, 0x0, 0x0, 0x0) at sparc_interrupt44c+0x
   164
   cpu_hatch(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) at cpu_hatch+0x88
   db{1}> 
   
   The raise_ipi_wait_and_unlock is a result of trying to use
   smp_tlb_flush_* which results in the nmi which cpu1 is fielding when
   it panics.


OK, turn smp_tlb_flush* off and write a simple IPI (see the
cross_call() function perhaps) and see if you can't get that
to work.  do we have a hypersparc manual anywhere?