xref: /csrg-svn/sys/vax/stand/savax.h (revision 7446)
1*7446Sroot /*	savax.h	4.3	82/07/15	*/
23266Swnj 
33266Swnj /*
43266Swnj  * Standalone definitions peculiar to vaxen
53266Swnj  * The mba devices in the standalone system are addressed as
63266Swnj  *	xx(unit,section)
73266Swnj  * where unit is
83266Swnj  *	8*mbanum+drive
93266Swnj  * The mbadrv macro gives the address of the device registers
103266Swnj  * for the specified unit; the mbamba macro gives the address of the
113266Swnj  * mba registers themselves.
123266Swnj  *
133266Swnj  * The uba devices are also addressed by giving, as unit,
143266Swnj  *	8*ubanum+drive
153266Swnj  * The ubamem macro converts a specified unibus address (ala pdp-11)
163266Swnj  * into a unibus memory address space address.
173266Swnj  */
183266Swnj 
193266Swnj int	cpu;		/* see <sys/cpu.h> */
203266Swnj 
213266Swnj #define	MAXNMBA	4
223266Swnj struct	mba_regs **mbaddr;
233266Swnj int	mbaact;
243266Swnj caddr_t	*umaddr;
253266Swnj struct	uba_regs **ubaddr;
263266Swnj 
273266Swnj #define	UNITTOMBA(unit)		((unit)>>3)
283266Swnj #define	UNITTODRIVE(unit)	((unit)&07)
293266Swnj 
303266Swnj #define	mbamba(unit)		(mbaddr[UNITTOMBA(unit)])
313266Swnj #define	mbadrv(unit) 		(&mbamba(unit)->mba_drv[UNITTODRIVE(unit)])
323266Swnj 
333266Swnj #define	UNITTOUBA(unit)		((unit)>>3)
343266Swnj #define	ubauba(unit)		(ubaddr[UNITTOUBA(unit)])
35*7446Sroot #define	ubamem(unit, off)	((umaddr[UNITTOUBA(unit)]+ubdevreg(off)))
36