xref: /csrg-svn/sys/vax/stand/savax.h (revision 29309)
1 /*
2  * Copyright (c) 1982, 1986 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.1 (Berkeley) 06/05/86
7  */
8 
9 /*
10  * Standalone definitions peculiar to vaxen
11  * The mba devices in the standalone system are addressed as
12  *	xx(unit,section)
13  * where unit is
14  *	8*mbanum+drive
15  * The mbadrv macro gives the address of the device registers
16  * for the specified unit; the mbamba macro gives the address of the
17  * mba registers themselves.
18  *
19  * The uba devices are also addressed by giving, as unit,
20  *	8*ubanum+drive
21  * The ubamem macro converts a specified unibus address (ala pdp-11)
22  * into a unibus memory address space address.
23  */
24 
25 int	cpu;		/* see <sys/cpu.h> */
26 
27 #define	MAXNMBA	4
28 #define	MAXNUBA	4
29 struct	mba_regs **mbaddr;
30 int	mbaact;
31 caddr_t	*umaddr;
32 struct	uba_regs **ubaddr;
33 
34 #define	UNITTOMBA(unit)		((unit)>>3)
35 #define	UNITTODRIVE(unit)	((unit)&07)
36 
37 #define	mbamba(unit)		(mbaddr[UNITTOMBA(unit)])
38 #define	mbadrv(unit) 		(&mbamba(unit)->mba_drv[UNITTODRIVE(unit)])
39 
40 #define	UNITTOUBA(unit)		((unit)>>3)
41 #define	ubauba(unit)		(ubaddr[UNITTOUBA(unit)])
42 #define	ubamem(unit, off)	((umaddr[UNITTOUBA(unit)]+ubdevreg(off)))
43 
44 #define	PHYSUBA0	0x20006000
45 #define	PHYSMBA0	0x20010000
46 #define	PHYSMBA1	0x20012000
47 #define	PHYSUMEM	0x2013e000
48 
49 /*
50  * RM03/5 (4-byte header plus CRC) format information:
51  * codes for sector header word 1
52  */
53 #define	HDR1_FMT22	0x1000	/* standard 16 bit format */
54 #define	HDR1_OKSCT	0xc000	/* sector ok */
55 #define	HDR1_SSF	0x2000	/* skip sector flag */
56