Port-sparc archive

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

re: partially working SMP again



   >    A kernel built from the recent source tree fails earlier place:
   >    ---
   >    >> NetBSD/sparc Secondary Boot, Revision 1.15
   >    >> (builds%b6.netbsd.org@localhost, Mon Apr 27 06:09:56 UTC 2009)
   >    Booting netbsd.mp2
   >    3649760+108384+268208 [243552+229482]=0x45ab38
   >    OBP version 3, revision 2.25 (plugin rev 2)
   >    panic: makememarr: cannot find "memory" node
   >    Stopped in pid 0.1 (system) at  0xf0055430:     or              %o7, 
%g0, %g1
   >    db{0}> 
   >    
   >    ---
   >    
   >    Some PROM mapping is corrupted?
   >    Or more patches are required?
   > 
   > 
   > i'm not sure how my changes can affect this.
   > 
   > the call to makememarr() occurs before the new bootstrap code.
   > 
   > i don't know what to do about this panic.
   
   Looks more cache issue. (cache size dependent?)
   
   Adding "cpuinfo.cache_flush_all()" before pmap_bootstrap() in autoconf.c
   makes kernel get further, but it still fails in le0 as before:
   
   ---
   ledma0 at sbus0 slot 15 offset 0x400010: DMA rev 2
   le0 at ledma0 slot 15 offset 0xc00000 level 6Reader / writer lock error: 
rw_vector_enter: locking against myself
    :
   ---


could you try commenting the "align >>= 1;" at the end of the loop
in pmap_bootstrap4m() to calculate desired alignment (around line
3645 in my tree.)

i don't understand why that is done, but it did appear in the old
code.


.mrg.


Home | Main Index | Thread Index | Old Index