Subject: Re: enableing QBus bridge
To: None <port-vax@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-vax
Date: 05/30/2001 18:06:15
>> D/P/W 20001f40 20

> This address is "local memory external access enable" and allows the
> Qbus to do DMA into the CPU memory.  The address 20001f40 is a
> register in the CPU, also used for IPC I think.

That *bit* is the LMEAE.  The address is used for more than that; see
vax/uba/ubareg.h (at least ubareg.h,v 1.11).

It is used for IPC in that by poking the 0x0001 bit of it, another bus
master can get the processor's attention.  Most of the time, at least -
many 630s will drop doorbell interrupts randomly at a rate on the order
of one per thousand.  (This is the hardware bug I referred to near the
end of my recent reminiscences posting - some etch run crosses the
whole board, and the RC time constant is marginal.  There is a hardware
patch, which IIRC amounts to changing a pullup resistor, though I don't
know whether you can still get it even if you know exactly what to ask
for.  The only reason it worked _at all_ is that DEC overdesigned the
thing by a factor of some two or three.)

Also, if memory serves, the 1f40 address is correct only for processor
0; each processor has its own register at a different address.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B