Subject: Re: Ultra 30 almost working
To: None <gadams@avernus.com, port-sparc64@netbsd.org>
From: None <eeh@netbsd.org>
List: port-sparc64
Date: 12/09/2001 20:24:27
| I've loaded an Ultra 30 with -current (kernels built from sources from 
| December 5 and from an hour ago), and it's almost usable. It comes up 
| into single user mode (sometimes), and every operation I've attempted so 
| far works (after some effort). However, processes frequently get "stuck."

Jason Wright says that he also had some stability issues with OpenBSD on
Ultra 30 machines and added the following to the bottom of psycho_attach()
to solve the problem:

        /*
         * XXX Linux magic, helps U30
         * "PROM sets the IRQ retry value too low, increase it."
         */
        sc->sc_regs->intr_retry_timer = 0xff;

I have not added this since I really don't like to add untested code, but
I'll be happy to do so if it fixes your problem.

You can either add that line to the bottom of psycho_attach() and build
a new kernel, or patch the registers by hand by breaking into the prom
(presumably this is the correct physical address) and typing:

ff 1fe.0000.1a00 15 spacex!

Eduardo