Subject: Re: uba_reset_establish()
To: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
From: Anders Magnusson <ragge@ludd.luth.se>
List: port-vax
Date: 12/31/2002 13:40:00
> 
> uba_reset_establish() can be used to register some kind of device reset
> handler function that seams to be called upon a Uni/Q-bus reset.. 
> When is this handler called? / When occures a Uni/Q-bus reset?
The UBA reset is an ancient leftover from old days. Sometimes when 
a Unibus is really busy it may go crazy, like hanging, sending lots
of zero interrupt vectors etc... When this happens the software may 
push the emergency button which sends a reset signal to the Unibus and
all of its devices. This makes the devices loose all information it
has gotten, stops all active transfers etc...

> What is the purpose of this handler?
To inform the devices that they need to reinitialize, apply for new 
bus resources, restart transfers etc.

> What drivers should use this handler?
All drivers that keep states and have allocated bus resources. That 
means in practise all devices, with the exception for some simple
devices like the DL11.

> What should this handler do?
> 
See above.

> (Background: I am doing some last work on my RX02 driver that I plan to 
> release next week. Should I care about uba_reset_establish() in this
> driver?) 
> 
Cool :-)

Note: UBA resets are extremely rare, I have only encountered when I
had a flakey DZ11 in a machine. You can ignore it if for now if you
don't want to deal with it. 
I'm not sure if UBA resets actually can happen on a Qbus in reality.

-- Ragge