[comp.sys.amiga.tech] What happens on RAM parity error?

plouff@nac.dec.com (Wes Plouff) (11/11/88)

Too much software orientation in this group... ;-)

Here's a hardware question.  If I have a RAM board with parity, and get 
a parity error, what should happen?  Should the hardware do a...

	- nonmaskable interrupt?
	- interrupt at lower level?
	- bus error?
	- something else?

I'm curious about how the operating system is currently set up to handle 
this situation, or if it isn't.  Now, to avoid the religious wars about 
crashes and what other brands do, assume for a moment that detection of
corrupt memory is desirable in some applications.

If the answer is in the A-W software technical manuals or either hardware 
manual, it has so far eluded me.

-- 
Wes Plouff, Digital Equipment Corp, Littleton, Mass.
plouff%nac.dec@decwrl.dec.com

Amiga -- over 179,200,000,000 pixels sold.

daveh@cbmvax.UUCP (Dave Haynie) (11/15/88)

in article <8811110403.AA18805@decwrl.dec.com>, plouff@nac.dec.com (Wes Plouff) says:

> Too much software orientation in this group... ;-)

> Here's a hardware question.  If I have a RAM board with parity, and get 
> a parity error, what should happen?  Should the hardware do a...

From a hardware point of view:

> 	- nonmaskable interrupt?
> 	- interrupt at lower level?

Can't generate an NMI on an A500 or A1000, so that would limit your 
application.  Interrupting might result in trouble since it's not 
instantaneous, and you can't be sure that other interrupt handlers 
using that same interrupt won't run into trouble with the bad memory
before you get a chance to handle the condition.

> 	- bus error?

That's probably you best shot, though you'd still need an exception
handler for it.  Bus error will case all expansion devices to get off
the bus, and it'll abort the current cycle.

> 	- something else?

> I'm curious about how the operating system is currently set up to handle 
> this situation, or if it isn't.  

The system isn't set up to handle parity errors, from a software point of
view at least.  The main question is, how do you handle that error?  At
best, you could do that kind of things that the GOMF program does -- hunt
down the task using the failed memory, warn the user, offering options
to go on, stop the task, etc.  All of which could possibly fail, in that
the OS really isn't designed to let you do this kind of thing, though in
many cases it works.  And if the failure is in OS memory itself, you're
probably doomed, but at least you could let the user know.

> Now, to avoid the religious wars about crashes and what other brands do, 
> assume for a moment that detection of corrupt memory is desirable in some 
> applications.

Amigas in Space!  That's the ticket!

Now, if you're considering a custom application and not something every 
application is trying to support, you might do better.  A program could
certainly provide it's own handler, or perhaps communicate with a parity
error handler attached to bus error.

> Wes Plouff, Digital Equipment Corp, Littleton, Mass.
> plouff%nac.dec@decwrl.dec.com

> Amiga -- over 179,200,000,000 pixels sold.
-- 
Dave Haynie  "The 32 Bit Guy"     Commodore-Amiga  "The Crew That Never Rests"
   {uunet|pyramid|rutgers}!cbmvax!daveh      PLINK: D-DAVE H     BIX: hazy
              Amiga -- It's not just a job, it's an obsession