Subject: re: Ultra 30 almost working
To: None <eeh@netbsd.org, mrg@eterna.com.au>
From: None <eeh@netbsd.org>
List: port-sparc64
Date: 12/13/2001 18:31:57
| Index: psycho.c
| ===================================================================
| RCS file: /cvsroot/syssrc/sys/arch/sparc64/dev/psycho.c,v
| retrieving revision 1.39
| diff -p -u -r1.39 psycho.c
| --- psycho.c 2001/10/07 20:30:41 1.39
| +++ psycho.c 2001/12/13 00:29:39
| @@ -487,6 +487,18 @@ found:
| if (PROM_getproplen(sc->sc_node, "no-streaming-cache") >= 0)
| sc->sc_is->is_sb[1] = &pci_ctl->pci_strbuf;
| iommu_reset(sc->sc_is);
| +
| + /*
| + * Apparently the kernel is spending too much time in nucleus
| + * mode with interrupts disabled and a number of machines with
| + * psycho and psycho+ controllers are losing interrupts.
| + * We'll try setting the interrupt retry timeout to a larger
| + * value for the monent, which seems to help alleviate this
| + * problem until the trap handlers can be revamped.
| + */
| + bus_space_write_8(sc->sc_bustag,
| + (bus_space_handle_t)
| + (u_long)&sc->sc_regs->intr_retry_timer, 0, 0xff);
| }
|
|
| maybe read the current value in and only reset it there? and
| warn when doing so? dunno...
Actually.... It would be interesting to determine what that's set to
on sysios....
Eduardo