123241Smckusick /* 2*33644Sbostic * Copyright (c) 1982, 1986, 1988, Regents of the University of California. 323241Smckusick * All rights reserved. The Berkeley software License Agreement 423241Smckusick * specifies the terms and conditions for redistribution. 523241Smckusick * 6*33644Sbostic * @(#)savax.h 7.4 (Berkeley) 03/04/88 723241Smckusick */ 83266Swnj 93266Swnj /* 10*33644Sbostic * Standalone definitions peculiar to vaxen: 11*33644Sbostic * 12*33644Sbostic * The mba devices in the standalone system are addressed as 13*33644Sbostic * type(mba, 0, drive, partition) (disks) 14*33644Sbostic * type(mba, formatter, transport, file) (tapes) 15*33644Sbostic * 163266Swnj * The mbadrv macro gives the address of the device registers 17*33644Sbostic * for the specified unit. 183266Swnj * 19*33644Sbostic * The uba devices in the standalone system are addressed as 20*33644Sbostic * type(uba, ctlr, drive, partition) (disks) 21*33644Sbostic * type(uba, formatter, transport, file) (tapes) 22*33644Sbostic * 233266Swnj * The ubamem macro converts a specified unibus address (ala pdp-11) 243266Swnj * into a unibus memory address space address. 253266Swnj */ 263266Swnj 27*33644Sbostic #define mbadrv(mba, unit) (&mbamba(mba)->mba_drv[unit]) 28*33644Sbostic /* compute an I/O page physical address from a 16/18/22-bit bus address */ 29*33644Sbostic #define ubamem(uba, off) (uioaddr[uba] + ubdevreg(off)) 303266Swnj 31*33644Sbostic #define mbamba(mba) (mbaddr[mba]) 32*33644Sbostic #define ubauba(uba) (ubaddr[uba]) 33*33644Sbostic 3430547Skarels #define MAXNMBA 8 3530547Skarels #define MAXNUBA 8 36*33644Sbostic #define MAXNKDB 2 37*33644Sbostic 383266Swnj struct mba_regs **mbaddr; 393266Swnj int mbaact; 40*33644Sbostic 4133408Skarels caddr_t *uioaddr; 423266Swnj struct uba_regs **ubaddr; 433266Swnj 4433408Skarels #ifdef VAX8200 4533408Skarels caddr_t kdbaddr[MAXNKDB]; 4633408Skarels int nkdb; 4733408Skarels #endif 4833408Skarels 49*33644Sbostic int cpu; /* see ../vax/cpu.h */ 50