Port-sparc archive

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

Re: Severe problems with sun4



On Tue, 3 Aug 2010, David Brownlee wrote:
On 23 July 2010 12:42, Christian Corti
More problems:
First I fixed the xy driver (which was painful due to the uncomprehensible
code) and now it seems that NetBSD is broken in respect with VME bus
interrupts. This also explains why I can't use any SCSI disk, too. The
[...]
If you have time it could well be worth test booting older NetBSD
releases until you find one that works and then to check how the
interrupt code works there :)

Ok, some news with 4.0.1 (the oldest I had tried was 1.6 and that didn't work, too). I've found the reason why interrupts didn't work: A VMEbus interrupt caused an infinite interrupt loop in vmeintr4 (file vme_machdep.c) because of the statement
[...]
  splx(ihp->ih.ih_classipl);
[...]

Each time the kernel executed that statement it reentered vmeintr4, and so on. So in fact a loop was created which then was terminated by the watchdog reset. Removing that statement made the VMEbus interrupt system work. So now both the SCSI controller and the Xylogics 450 are working. BTW the onboard I/O devices (e.g. ethernet, serial ports) weren't affected.

I will submit the updated Xylogics driver source when I have finished with enhancing (notably the missing low-level ioctls which I need), testing and cleaning up the code.

Christian


Home | Main Index | Thread Index | Old Index