Re: Removing options MIPS3 cause DS5000 to loop during boot
Erik Bertelsen <[email protected]> Sun, 1 May 2011 17:21:32 +0200
| Newsgroups | gmane.os.netbsd.ports.pmax |
|---|---|
| Message-ID | <[email protected]> |
2011/4/29 Izumi Tsutsui <[email protected]>: > Could you try this patch? > > Index: mips/pmap.c > =================================================================== > RCS file: /cvsroot/src/sys/arch/mips/mips/pmap.c,v > retrieving revision 1.198 > diff -u -p -r1.198 pmap.c > --- mips/pmap.c 15 Mar 2011 07:31:33 -0000 1.198 > +++ mips/pmap.c 29 Apr 2011 17:10:53 -0000 > @@ -2345,6 +2345,7 @@ pmap_remove_pv(pmap_t pmap, vaddr_t va, > pmap_page_cache(pg, true); > } > #endif > +#endif /* MIPS3_PLUS */ > > pmap_check_pvlist(md); > PG_MD_PVLIST_UNLOCK(md); > @@ -2371,6 +2372,7 @@ pmap_remove_pv(pmap_t pmap, vaddr_t va, > PMAP_COUNT(exec_synced_remove); > } > } > +#ifdef MIPS3_PLUS /* XXX mmu XXX */ > if (MIPS_HAS_R4K_MMU && last) /* XXX why */ > mips_dcache_wbinv_range_index(va, PAGE_SIZE); > #endif /* MIPS3_PLUS */ > > > --- > > (though I have not tried options DIAGNOSTIC one) With sources updated about half an hour ago and your patch added to pmap.c, the situation is: The S4 kernel (including options MIPS3) continues to work and may boot to multi-user. The S5 kernel (S4 but with options MIPS3 line removed) now also boots into multi-user -- this is the kernel that previously looped indefinitely. However the S6 kernel (S5 with options DEBUG and DIAGNOSTIC added) panics: Boot: 3/rz4/netbsd.s6 3454800+143520 [192208+187028]=0x3cb668 Starting at 0x80030000 mips_fixup_stubs: 6762 fixups done in 0 cycles Loaded initial symtab at 0x8039e7f0, strtab at 0x803cdbd4, # entries 11992 mcclock: iters 11680 computed MHz 33, instrs per usec=19 segment 0 start 00000000 size 02000000 phys segment: 0x2000000 @ 0 adding 0x402000 @ 0x3fe000 to freelist 1 adding 0x1800000 @ 0x800000 to freelist 0 pmap_steal_memory: seg 0: 0x3fe 0x3fe 0x800 0x800 pmap_steal_memory: seg 0: 0x424 0x424 0x800 0x800 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 5.99.51 (S6) #1: Sun May 1 16:50:49 CEST 2011 [email protected]:/home/NetBSD/crossbuild/obj.pmax/sys/arch/pmax/compile/S6 DECstation 5000/133 (3MIN) total memory = 32768 KB avail memory = 27884 KB mainbus0 (root) cpu0 at mainbus0: MIPS R3000A CPU (0x230) Rev. 3.0 with MIPS R3010 FPC Rev. 4.0 cpu0: 64KB/4B direct-mapped Instruction cache, 64 TLB entries cpu0: 128KB/4B direct-mapped write-through Data cache tc0 at mainbus0: 12.5 MHz clock ioasic0 at tc0 slot 3 offset 0x0 le0 at ioasic0 offset 0xc0000: address 08:00:2b:32:56:6f le0: 32 receive buffers, 8 transmit buffers 3MIN: imask 1030, enabling slot 0x2, dev 0xc362ac18 handler 0x80033280 zsc0 at ioasic0 offset 0x100000 vsms0 at zsc0 channel 0 wsmouse0 at vsms0 mux 0 zstty0 at zsc0 channel 1 3MIN: imask 1130, enabling slot 0x0, dev 0xc362ac18 handler 0x802fec3c zsc1 at ioasic0 offset 0x180000 lkkbd0 at zsc1 channel 0 wskbd0 at lkkbd0 mux 1 zstty1 at zsc1 channel 1 (console i/o) 3MIN: imask 1170, enabling slot 0x1, dev 0xc362ac18 handler 0x802fec3c mcclock0 at ioasic0 offset 0x200000: mc146818 or compatible asc0 at ioasic0 offset 0x3000003MIN: imask 11f0, enabling slot 0x3, dev 0xc362ac18 handler 0x80182d90 : NCR53C94, 25MHz, SCSI ID 7 scsibus0 at asc0: 8 targets, 8 luns per target scsibus0: waiting 2 seconds for devices to settle... sd0 at scsibus0 target 4 lun 0: <QUANTUM, QM39100TD-S, N1B0> disk fixed sd0: 8683 MB, 8057 cyl, 10 head, 220 sec, 512 bytes/sect x 17783249 sectors sd0: sync (200.00ns offset 15), 8-bit (5.000MB/s) transfers, tagged queueing boot device: sd0 root on sd0a dumps on sd0b mountroot: trying nfs... mountroot: trying lfs... mountroot: trying ffs... root file system type: ffs init: copying out flags `-s' 3 init: copying out path `/sbin/init' 11 pid 1(init): ABI set to O32 (e_flags=0x1007) panic: tlb_hi (0xc3ec1000) asid (0) != current asid (0x3) cpu0: Begin traceback... pid -1007936632 not found cpu0: End traceback... 0xc3ec1b70: cpu_reboot+3c (104,0,b1,80357858) ra 802242fc sz 24 0xc3ec1b88: panic+258 (104,c3ec1000,0,3) ra 801d5d7c sz 56 0xc3ec1bc0: pmap_tlb_asid_check+4c (104,c3ec1000,0,3) ra 801d65dc sz 24 0xc3ec1bd8: pmap_tlb_update_addr+8c (104,c3ec1000,0,3) ra 801d4a2c sz 40 0xc3ec1c00: pmap_enter+220 (104,c3ec1000,0,3) ra 802a961c sz 72 0xc3ec1c48: uvm_fault_lower+618 (104,c3ec1000,0,3) ra 802aab4c sz 96 0xc3ec1ca8: uvm_fault_internal+834 (81ee5d20,c3ec1000,7de99000,0) ra 80263db4 sz 272 0xc3ec1db8: trap+970 (8,8,7de99000,7de99c08) ra 80176950 sz 400 0xc3ec1f48: mips1_user_gen_exception+e0 (8,8,7de99000,7de99c08) ra 0 sz 0 User-level: pid 2.1 dumping to dev 19,1 offset 1332112 dump 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 succeeded rebooting... But at least you seem to have identified at least part of the problem. kind regards - Erik