1 /* savax.h 6.2 84/08/07 */ 2 3 /* 4 * Standalone definitions peculiar to vaxen 5 * The mba devices in the standalone system are addressed as 6 * xx(unit,section) 7 * where unit is 8 * 8*mbanum+drive 9 * The mbadrv macro gives the address of the device registers 10 * for the specified unit; the mbamba macro gives the address of the 11 * mba registers themselves. 12 * 13 * The uba devices are also addressed by giving, as unit, 14 * 8*ubanum+drive 15 * The ubamem macro converts a specified unibus address (ala pdp-11) 16 * into a unibus memory address space address. 17 */ 18 19 int cpu; /* see <sys/cpu.h> */ 20 21 #define MAXNMBA 4 22 #define MAXNUBA 4 23 struct mba_regs **mbaddr; 24 int mbaact; 25 caddr_t *umaddr; 26 struct uba_regs **ubaddr; 27 28 #define UNITTOMBA(unit) ((unit)>>3) 29 #define UNITTODRIVE(unit) ((unit)&07) 30 31 #define mbamba(unit) (mbaddr[UNITTOMBA(unit)]) 32 #define mbadrv(unit) (&mbamba(unit)->mba_drv[UNITTODRIVE(unit)]) 33 34 #define UNITTOUBA(unit) ((unit)>>3) 35 #define ubauba(unit) (ubaddr[UNITTOUBA(unit)]) 36 #define ubamem(unit, off) ((umaddr[UNITTOUBA(unit)]+ubdevreg(off))) 37 38 #define PHYSUBA0 0x20006000 39 #define PHYSMBA0 0x20010000 40 #define PHYSMBA1 0x20012000 41 #define PHYSUMEM 0x2013e000 42