1*11364Ssam /* savax.h 4.4 83/03/01 */ 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)]) 357446Sroot #define ubamem(unit, off) ((umaddr[UNITTOUBA(unit)]+ubdevreg(off))) 36*11364Ssam 37*11364Ssam #define PHYSUBA0 0x20006000 38*11364Ssam #define PHYSMBA0 0x20010000 39*11364Ssam #define PHYSMBA1 0x20012000 40*11364Ssam #define PHYSUMEM 0x2013e000 41