[comp.unix.ultrix] vectoring interrupts on the vaxbi

rubenst@ircam.ircam.fr (Brad Rubenstein) (11/09/90)

Hardware setup: 5820 running Ultrix 4.0.  I'm writing a device driver
for the DRB32 adapter.

On the off chance that there are some VAXBI protocol wizards
listening:

When my vaxbi node sends an interrupt to a cpu, it gets called back
with an IDENT transaction, and it replies with a "vector".  I'm having
trouble getting my interrupt routines (registered via bidev_vec()
at LEVEL15) called when this happens.

1) How does this vector get translated into an interrupt routine address
(i.e. what do I store in my various vector registers (the BIIC has 2)
to get my interrupt routines called)?

2) It appears that, in the presence of BIF_SET_HEIE in bisw, BIIC hard
error interrupts are internally vectored (by probebi) at BR level 5.
How does this relate to spl levels?  Will splbio() block such
interrupts?  What, if anything, interrupts at BR level 4?

3) vaxbierrors() is called from scb_vec.c with one argument, but
expects two.  When the second argument (garbage) is dereferenced (later
in log_bierrors() while contructing the log entry), I get a panic.
Does this mean that vaxbi errors cannot be logged at all?
(I have MMAPDRV_DEBUG set, though I can't see how that matters,
since vaxbierrors is called from the bottom half of the kernel).

Thanks for any light you can shed on these.  You can reply via email,
to rubenst@ircam.fr.

Brad Rubenstein

-- 
Brad Rubenstein, rubenst@ircam.fr	IRCAM - Service Syste`me