weirdness with DMF-32 sync, Qniverter, and uVAX-II...

Steve Dyer dyer at harvard.UUCP
Tue May 6 01:07:11 AEST 1986


In article <281 at spdcc.UUCP>, dyer at spdcc.UUCP (Steve Dyer) writes:
> 3.) The DMF sync driver has a number of busy loops in the open and close
>     routines which have always managed to break out within milli- or micro-
>     seconds on the 750.  However, these bad coding practices have turned
>     into monsters on the MicroVAX!  Briefly, the code fragments look something
>     like this:
> 	dmfsaddr->dmfsmr = DMF_MR;	/* 0x80 master reset */
> 	while(dmfsaddr->dmfsmr & DMF_MR) DELAY(10);
>     The "master reset" bit is held high until the DMF sync line has finished
>     resetting.  On the uVAX, the bit is never reset.
> 	% adm -w /dev/kUmem
> 	0x08xxxxx?w 0x80 (where 0x08xxxxx is the mapped "UNIBUS" address
> 			  of the DMF sync misc register above)
>     resets the device address, so that 0x80 is no longer held high.
> 

Just in case anyone was losing sleep over this, and to clear the name of
Able, the maker of the Qniverter II, I should mention that the problem
ultimately was hardware--Unibus DMA boards placed in slots with NPR jumpers,
and other non-DMA boards in those with the NPR jumpers removed.  (Hey, I'm
just the software person.)  The Qniverter seems to have an isolating effect;
placed after all the Qbus devices, it allowed for weird behavior as above,
something you'd probably never see on a true UNIBUS machine.  Placed before
them, the Qbus, naturally, gets hung.

As of right now, the Qniverter II is working fine with our UNIBUS peripherals
on the mVAX-II.
-- 
/Steve Dyer
dyer at harvard.harvard.edu
harvard!dyer



More information about the Comp.unix.wizards mailing list