1*2332Swnj /* mbavar.h 4.3 02/03/81 */ 260Sbill 31907Swnj #if VAX==780 460Sbill /* 560Sbill * VAX Massbus adapter registers 660Sbill */ 760Sbill 8*2332Swnj struct mba_drv 9*2332Swnj { 10*2332Swnj int mbd_cs1; 11*2332Swnj int mbd_ds; 12*2332Swnj int mbd_er1; 13*2332Swnj int mbd_mr1; 14*2332Swnj int mbd_as; 15*2332Swnj int mbd_da; 16*2332Swnj #define mbd_fc mbd_da 17*2332Swnj int mbd_dt; 18*2332Swnj int mbd_la; 19*2332Swnj #define mbd_ck mbd_la 20*2332Swnj int mbd_sn; 21*2332Swnj int mbd_of; 22*2332Swnj #define mbd_tc mbd_of 23*2332Swnj int mbd_fill[22]; 24*2332Swnj }; 25*2332Swnj /* 26*2332Swnj * Bits in mbd_dt. 27*2332Swnj */ 28*2332Swnj #define MBDT_NSA 0x8000 /* not sector addressible */ 29*2332Swnj #define MBDT_TAP 0x4000 /* is a tape */ 30*2332Swnj #define MBDT_MOH 0x2000 /* moving head */ 31*2332Swnj #define MBDT_7CH 0x1000 /* 7 channel */ 32*2332Swnj #define MBDT_DRQ 0x800 /* drive request required */ 33*2332Swnj #define MBDT_SPR 0x400 /* slave present */ 34*2332Swnj 35*2332Swnj #define MBDT_TYPE 0x1ff 36*2332Swnj #define MBDT_MASK (MBDT_NSA|MBDT_TAP|MBDT_TYPE) 37*2332Swnj 38*2332Swnj #define MBDT_RP04 020 39*2332Swnj #define MBDT_RP05 021 40*2332Swnj #define MBDT_RP06 022 41*2332Swnj #define MBDT_RP07 042 42*2332Swnj #define MBDT_RM03 024 43*2332Swnj #define MBDT_RM05 027 44*2332Swnj #define MBDT_RM80 026 45*2332Swnj 46*2332Swnj #define MBDT_TM03 050 47*2332Swnj #define MBDT_TE16 051 48*2332Swnj #define MBDT_TU45 052 49*2332Swnj #define MBDT_TU77 054 50*2332Swnj #define MBDT_TU78 0140 51*2332Swnj 52*2332Swnj /* 53*2332Swnj * Bits in mbd_ds. 54*2332Swnj */ 55*2332Swnj #define MBD_DRY 0x80 56*2332Swnj #define MBD_MOL 0x1000 57*2332Swnj #define MBD_DPR 0x100 58*2332Swnj #define MBD_ERR 0x4000 59*2332Swnj 60*2332Swnj #define MBD_WCOM 0x30 61*2332Swnj #define MBD_RCOM 0x38 62*2332Swnj #define MBD_GO 0x1 63*2332Swnj 6460Sbill struct mba_regs 6560Sbill { 6660Sbill int mba_csr; 6760Sbill int mba_cr; 6860Sbill int mba_sr; 6960Sbill int mba_var; 7060Sbill int mba_bcr; 71583Sbill int mba_dr; 72583Sbill int mba_pad1[250]; 73*2332Swnj struct mba_drv mba_drv[8]; 74583Sbill struct pte mba_map[256]; 75*2332Swnj int mba_pad2[256*5]; 7660Sbill }; 7760Sbill 78583Sbill #define MBAINIT 0x1 791279Sbill #define MBAIE 0x4 8060Sbill 811279Sbill #define MBAEBITS 0xe0770 8260Sbill 83583Sbill #define PHYSMBA0 ((struct mba_regs *)0x20010000) 84583Sbill #define PHYSMBA1 ((struct mba_regs *)0x20012000) 8560Sbill 86*2332Swnj #define mbadev(mba,unit) ((struct device *)&mba->mba_drv[unit]) 8760Sbill 88583Sbill #ifdef KERNEL 89583Sbill struct mba_info 90583Sbill { 91583Sbill struct mba_regs *mi_loc; /* virtual mba */ 92583Sbill struct mba_regs *mi_phys; /* physical mba */ 93583Sbill struct pte *mi_map; /* page table base for nexus */ 94583Sbill }; 9560Sbill 961279Sbill #define MBA0 ((struct mba_regs *)0x80064000) 971279Sbill #define MBA1 ((struct mba_regs *)0x80066000) 98583Sbill 99583Sbill int mbanum[]; 100583Sbill struct mba_info mbainfo[]; 101583Sbill int mbaact; 102583Sbill #endif 1031907Swnj #endif 104