1: /*
   2:  * Copyright (c) 1982, 1986 Regents of the University of California.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  *	@(#)nexus.h	7.1 (Berkeley) 6/5/86
   7:  */
   8: 
   9: /*
  10:  * Information about nexus's.
  11:  *
  12:  * Each machine has an address of backplane slots (nexi).
  13:  * Each nexus is some type of adapter, whose code is the low
  14:  * byte of the first word of the adapter address space.
  15:  * At boot time the system looks through the array of available
  16:  * slots and finds the interconnects for the machine.
  17:  */
  18: #define NNEXSBI     16
  19: #if VAX8600
  20: #define NNEX8600    NNEXSBI
  21: #define NEXA8600    ((struct nexus *)(0x20000000))
  22: #define NEXB8600    ((struct nexus *)(0x22000000))
  23: #endif
  24: #if VAX780
  25: #define NNEX780 NNEXSBI
  26: #define NEX780  ((struct nexus *)0x20000000)
  27: #endif
  28: #if VAX750
  29: #define NNEX750 NNEXSBI
  30: #define NEX750  ((struct nexus *)0xf20000)
  31: #endif
  32: #if VAX730
  33: #define NNEX730 NNEXSBI
  34: #define NEX730  ((struct nexus *)0xf20000)
  35: #endif
  36: #if VAX630
  37: #define NNEX630 1
  38: #define NEX630  ((struct nexus *)0x20088000)
  39: #endif
  40: #define NEXSIZE 0x2000
  41: 
  42: #if VAX8600
  43: #define MAXNNEXUS (2 * NNEXSBI)
  44: #else
  45: #define MAXNNEXUS NNEXSBI
  46: #endif
  47: 
  48: #ifndef LOCORE
  49: struct  nexus {
  50:     union nexcsr {
  51:         long    nex_csr;
  52:         u_char  nex_type;
  53:     } nexcsr;
  54:     long    nex_pad[NEXSIZE / sizeof (long) - 1];
  55: };
  56: #ifdef  KERNEL
  57: struct nexus nexus[MAXNNEXUS];
  58: #endif
  59: #endif
  60: 
  61: /*
  62:  * Bits in high word of nexus's.
  63:  */
  64: #define SBI_PARFLT  (1<<31)     /* sbi parity fault */
  65: #define SBI_WSQFLT  (1<<30)     /* write sequence fault */
  66: #define SBI_URDFLT  (1<<29)     /* unexpected read data fault */
  67: #define SBI_ISQFLT  (1<<28)     /* interlock sequence fault */
  68: #define SBI_MXTFLT  (1<<27)     /* multiple transmitter fault */
  69: #define SBI_XMTFLT  (1<<26)     /* transmit fault */
  70: 
  71: #define NEX_CFGFLT  (0xfc000000)
  72: 
  73: #ifndef LOCORE
  74: #if defined(VAX780) || defined(VAX8600)
  75: #define NEXFLT_BITS \
  76: "\20\40PARFLT\37WSQFLT\36URDFLT\35ISQFLT\34MXTFLT\33XMTFLT"
  77: #endif
  78: #endif
  79: 
  80: #define NEX_APD     (1<<23)     /* adaptor power down */
  81: #define NEX_APU     (1<<22)     /* adaptor power up */
  82: 
  83: #define MBA_OT      (1<<21)     /* overtemperature */
  84: 
  85: #define UBA_UBINIT  (1<<18)     /* unibus init */
  86: #define UBA_UBPDN   (1<<17)     /* unibus power down */
  87: #define UBA_UBIC    (1<<16)     /* unibus initialization complete */
  88: 
  89: /*
  90:  * Types for nex_type.
  91:  */
  92: #define NEX_ANY     0       /* pseudo for handling 11/750 */
  93: #define NEX_MEM4    0x08        /* 4K chips, non-interleaved mem */
  94: #define NEX_MEM4I   0x09        /* 4K chips, interleaved mem */
  95: #define NEX_MEM16   0x10        /* 16K chips, non-interleaved mem */
  96: #define NEX_MEM16I  0x11        /* 16K chips, interleaved mem */
  97: #define NEX_MBA     0x20        /* Massbus adaptor */
  98: #define NEX_UBA0    0x28        /* Unibus adaptor */
  99: #define NEX_UBA1    0x29        /* 4 flavours for 4 addr spaces */
 100: #define NEX_UBA2    0x2a
 101: #define NEX_UBA3    0x2b
 102: #define NEX_DR32    0x30        /* DR32 user i'face to SBI */
 103: #define NEX_CI      0x38        /* CI adaptor */
 104: #define NEX_MPM0    0x40        /* Multi-port mem */
 105: #define NEX_MPM1    0x41        /* Who knows why 4 different ones ? */
 106: #define NEX_MPM2    0x42
 107: #define NEX_MPM3    0x43
 108: #define NEX_MEM64L  0x68        /* 64K chips, non-interleaved, lower */
 109: #define NEX_MEM64LI 0x69        /* 64K chips, ext-interleaved, lower */
 110: #define NEX_MEM64U  0x6a        /* 64K chips, non-interleaved, upper */
 111: #define NEX_MEM64UI 0x6b        /* 64K chips, ext-interleaved, upper */
 112: #define NEX_MEM64I  0x6c        /* 64K chips, interleaved */
 113: #define NEX_MEM256L 0x70        /* 256K chips, non-interleaved, lower */
 114: #define NEX_MEM256LI    0x71        /* 256K chips, ext-interleaved, lower */
 115: #define NEX_MEM256U 0x72        /* 256K chips, non-interleaved, upper */
 116: #define NEX_MEM256UI    0x73        /* 256K chips, ext-interleaved, upper */
 117: #define NEX_MEM256I 0x74        /* 256K chips, interleaved */

Defined variables

nexus defined in line 57; used 1 times

Defined struct's

nexus defined in line 49; used 12 times

Defined union's

nexcsr defined in line 50; used 2 times

Defined macros

MAXNNEXUS defined in line 45; used 3 times
MBA_OT defined in line 83; never used
NEX630 defined in line 38; used 1 times
NEX730 defined in line 34; used 2 times
NEX750 defined in line 30; used 3 times
NEX780 defined in line 26; used 3 times
NEXA8600 defined in line 21; used 1 times
NEXB8600 defined in line 22; used 1 times
NEXFLT_BITS defined in line 75; used 1 times
NEXSIZE defined in line 40; used 1 times
  • in line 54
NEX_ANY defined in line 92; used 14 times
NEX_APD defined in line 80; used 1 times
NEX_APU defined in line 81; never used
NEX_CFGFLT defined in line 71; used 1 times
NEX_CI defined in line 103; never used
NEX_DR32 defined in line 102; never used
NEX_MBA defined in line 97; used 4 times
NEX_MEM16 defined in line 95; used 5 times
NEX_MEM16I defined in line 96; never used
NEX_MEM256I defined in line 117; used 1 times
NEX_MEM256L defined in line 113; never used
NEX_MEM256LI defined in line 114; never used
NEX_MEM256U defined in line 115; never used
NEX_MEM256UI defined in line 116; never used
NEX_MEM4 defined in line 93; never used
NEX_MEM4I defined in line 94; never used
NEX_MEM64I defined in line 112; used 1 times
NEX_MEM64L defined in line 108; never used
NEX_MEM64LI defined in line 109; never used
NEX_MEM64U defined in line 110; never used
NEX_MEM64UI defined in line 111; never used
NEX_MPM0 defined in line 104; never used
NEX_MPM1 defined in line 105; never used
NEX_MPM2 defined in line 106; never used
NEX_MPM3 defined in line 107; never used
NEX_UBA0 defined in line 98; used 3 times
NEX_UBA1 defined in line 99; used 1 times
NEX_UBA2 defined in line 100; never used
NEX_UBA3 defined in line 101; never used
NNEX630 defined in line 37; used 2 times
NNEX730 defined in line 33; used 2 times
NNEX750 defined in line 29; used 2 times
NNEX780 defined in line 25; used 1 times
NNEX8600 defined in line 20; used 2 times
NNEXSBI defined in line 18; used 8 times
SBI_ISQFLT defined in line 67; never used
SBI_MXTFLT defined in line 68; never used
SBI_PARFLT defined in line 64; never used
SBI_URDFLT defined in line 66; never used
SBI_WSQFLT defined in line 65; never used
SBI_XMTFLT defined in line 69; never used
UBA_UBIC defined in line 87; never used
UBA_UBINIT defined in line 85; never used
UBA_UBPDN defined in line 86; never used

Usage of this include

Last modified: 1986-06-05
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1346
Valid CSS Valid XHTML 1.0 Strict