Subject: Re: Recent VME spurrious interupts...
To: None <dgilbert@jaywon.pci.on.ca>
From: Chris Torek <torek@bsdi.com>
List: port-sparc
Date: 03/23/1996 11:25:16
>It is really and truely an ie1.

Okay, because as I said, this problem could be expected on ie's
but not le's (abrown@eecs.harvard.edu mentioned le's).

>If this is really a problem that should occasionally occur ...

The fact that it *is* occurring suggests that you may need an
splimp/splx around the code in ieintr, so that ie0 cannot interrupt
ie1 while it is in the middle of handling ie1's interrupt.

If you wanted to see for sure, add code that detects reentry
into ieintr, e.g.,

	int ieintr(...) {
		static int depth;
		int s, rv;

		s = splhigh();
		if (++depth > 1) printf("ieintr: depth %d\n", depth);
		splx(s);
		...
		rv = ... return value ...
		s = splhigh();
		depth--;
		splx(s);
		return rv;
	}

Chris