Port-sparc64 archive

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

Re: NetBSD-8.xx fails to boot on ultra 45



On Tue, 5 Mar 2019, Magnus Lindholm wrote:

> usb3 at ehci0: USB revision 2.0
> auacer0 at pci3 dev 29 function 0Breakpoint in pid 0.1 (system) at
> netbsd:auacer_attach:   save            %
> sp, -0x140, %sp
> db{0}>
> : Acer Labs M5455 Audio controller
> auacer0: interrupting at ivec 785
> auacer0: ac97: Analog Devices AD1981B codec; headphone, 20 bit DAC, no 3D
> stereo
> auacer0: ac97: ext id 0x601<AC97_22,AMAP,VRA>
> audio0 at auacer0: full duplex, playback, capture, mmap, independent
> 
> SIR
> 
> ERROR: Software Initiated Reset has occurred.
> 
> WARNING: sync callback did not work.
> 
> reset reason: 0000.0000.0000.0001
> Fire TLU-A OE Status Clear: 0003.0100.0000.0100
> Fire TLU-B OE Status Clear: 0000.0100.0000.0100
> @(#)OBP 4.30.4 2009/08/19 07:14 Sun Ultra 45 Workstation
> 

The CPU is executing a software initiated reset instruction.

Those instructions are sprinkled throughout locore.s in places the kernel 
gets too stuffed up to recover.  On the machines I've worked on openboot 
would do a full register dump when the CPU executed an SIR instruction.  
Obviously that's not happenning on your machine.

You can try to replace all the `sir' instructions in locore.s with either 
`ta	1' instructions to try to enter DDB or `ta	2' to use the 
standard illegal trap handler to try to dump state.

If those don't work things get ugly because you would need to write a trap 
handler that saves all the registers somewhere and then recovers the 
machine state enough to be able to dump those values on the console.

Eduardo


Home | Main Index | Thread Index | Old Index