123241Smckusick /* 2*35052Skarels * 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*35052Skarels * @(#)savax.h 7.5 (Berkeley) 07/09/88 723241Smckusick */ 83266Swnj 93266Swnj /* 1033644Sbostic * Standalone definitions peculiar to vaxen: 1133644Sbostic * 1233644Sbostic * The mba devices in the standalone system are addressed as 1333644Sbostic * type(mba, 0, drive, partition) (disks) 1433644Sbostic * type(mba, formatter, transport, file) (tapes) 1533644Sbostic * 163266Swnj * The mbadrv macro gives the address of the device registers 1733644Sbostic * for the specified unit. 183266Swnj * 1933644Sbostic * The uba devices in the standalone system are addressed as 2033644Sbostic * type(uba, ctlr, drive, partition) (disks) 2133644Sbostic * type(uba, formatter, transport, file) (tapes) 2233644Sbostic * 233266Swnj * The ubamem macro converts a specified unibus address (ala pdp-11) 243266Swnj * into a unibus memory address space address. 253266Swnj */ 263266Swnj 2733644Sbostic #define mbadrv(mba, unit) (&mbamba(mba)->mba_drv[unit]) 2833644Sbostic /* compute an I/O page physical address from a 16/18/22-bit bus address */ 2933644Sbostic #define ubamem(uba, off) (uioaddr[uba] + ubdevreg(off)) 303266Swnj 3133644Sbostic #define mbamba(mba) (mbaddr[mba]) 3233644Sbostic #define ubauba(uba) (ubaddr[uba]) 3333644Sbostic 3430547Skarels #define MAXNMBA 8 3530547Skarels #define MAXNUBA 8 3633644Sbostic #define MAXNKDB 2 3733644Sbostic 383266Swnj struct mba_regs **mbaddr; 393266Swnj int mbaact; 40*35052Skarels int nmba; 4133644Sbostic 4233408Skarels caddr_t *uioaddr; 433266Swnj struct uba_regs **ubaddr; 44*35052Skarels int nuba; 453266Swnj 4633408Skarels #ifdef VAX8200 4733408Skarels caddr_t kdbaddr[MAXNKDB]; 4833408Skarels int nkdb; 4933408Skarels #endif 5033408Skarels 5133644Sbostic int cpu; /* see ../vax/cpu.h */ 52