xref: /original-bsd/sys/vax/stand/savax.h (revision 183db9ee)
1 /*
2  * Copyright (c) 1982, 1986, 1988 Regents of the University of California.
3  * All rights reserved.  The Berkeley software License Agreement
4  * specifies the terms and conditions for redistribution.
5  *
6  *	@(#)savax.h	7.5 (Berkeley) 07/09/88
7  */
8 
9 /*
10  * Standalone definitions peculiar to vaxen:
11  *
12  * The mba devices in the standalone system are addressed as
13  *	type(mba, 0, drive, partition)		(disks)
14  *	type(mba, formatter, transport, file)	(tapes)
15  *
16  * The mbadrv macro gives the address of the device registers
17  * for the specified unit.
18  *
19  * The uba devices in the standalone system are addressed as
20  *	type(uba, ctlr, drive, partition)	(disks)
21  *	type(uba, formatter, transport, file)	(tapes)
22  *
23  * The ubamem macro converts a specified unibus address (ala pdp-11)
24  * into a unibus memory address space address.
25  */
26 
27 #define	mbadrv(mba, unit) 	(&mbamba(mba)->mba_drv[unit])
28 /* compute an I/O page physical address from a 16/18/22-bit bus address */
29 #define	ubamem(uba, off)	(uioaddr[uba] + ubdevreg(off))
30 
31 #define	mbamba(mba)		(mbaddr[mba])
32 #define	ubauba(uba)		(ubaddr[uba])
33 
34 #define	MAXNMBA	8
35 #define	MAXNUBA	8
36 #define	MAXNKDB	2
37 
38 struct	mba_regs **mbaddr;
39 int	mbaact;
40 int	nmba;
41 
42 caddr_t	*uioaddr;
43 struct	uba_regs **ubaddr;
44 int	nuba;
45 
46 #ifdef VAX8200
47 caddr_t	kdbaddr[MAXNKDB];
48 int	nkdb;
49 #endif
50 
51 int	cpu;				/* see ../vax/cpu.h */
52