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

Eduardo Horvath <[email protected]>
Newsgroups gmane.os.netbsd.ports.sparc64
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.