|
|
1.1 ! root 1: /* procreg.h -- constants associated with DEC processor register mnemonics */ ! 2: ! 3: #define ASM /* mark for other .h files */ ! 4: #include <conf.h> ! 5: ! 6: /* VAX privileged processor registers -- accessed via mtpr and mfpr */ ! 7: #define KSP 0x0 /* kernel stack pointer */ ! 8: #define ESP 0x1 /* executive stack pointer */ ! 9: #define SSP 0x2 /* supervisor stack pointer */ ! 10: #define USP 0x3 /* user stack pointer */ ! 11: #define ISP 0x4 /* interrupt stack pointer */ ! 12: #define P0BR 0x8 /* p0 base register */ ! 13: #define P0LR 0x9 /* p0 length register */ ! 14: #define P1BR 0xa /* p1 base register */ ! 15: #define P1LR 0xb /* p1 length register */ ! 16: #define SBR 0xc /* system base register */ ! 17: #define SLR 0xd /* system length register */ ! 18: #define PCBB 0x10 /* process control block base */ ! 19: #define SCBB 0x11 /* system control block base */ ! 20: #define IPL 0x12 /* interrupt priority level */ ! 21: #define ASTLVL 0x13 /* asynchronous system trap level */ ! 22: #define SIRR 0x14 /* software interrupt request */ ! 23: #define SISR 0x15 /* software interrupt summary */ ! 24: #define CMIER 0x17 /* CMI error (750/751) */ ! 25: #define MCSR 0x17 /* machine check status register */ ! 26: #define ICCS 0x18 /* interval clock control/status */ ! 27: #define NICR 0x19 /* next interval count */ ! 28: #define ICR 0x1a /* interval count */ ! 29: #define TODR 0x1b /* time of day */ ! 30: #define CSRS 0x1c /* console storage receive/status */ ! 31: #define CSDR 0x1d /* console storage receive data */ ! 32: #define CSTS 0x1e /* console storage transmit/status */ ! 33: #define CSTD 0x1f /* console storage transmit data */ ! 34: #define RXCS 0x20 /* console receive control/status */ ! 35: #define RXDB 0x21 /* console receive data buffer */ ! 36: #define TXCS 0x22 /* console transmit control/status */ ! 37: #define TXDB 0x23 /* console transmit data buffer */ ! 38: #define TBDR 0x24 /* translation buffer disable */ ! 39: #define CADR 0x25 /* cache disable */ ! 40: #define MCESR 0x26 /* machine check error summary */ ! 41: #define CAER 0x27 /* cache error */ ! 42: #define ACCS 0x28 /* accelerator control/status */ ! 43: #define IUR 0x37 /* init unibus or Q-bus register */ ! 44: #define MAPEN 0x38 /* memory management enable */ ! 45: #define TBIA 0x39 /* translation buffer invalidate all*/ ! 46: #define TBIS 0x3a /* trans. buffer invalidate single */ ! 47: #define TB 0x3b /* translation buffer */ ! 48: #define PMR 0x3d /* performance monitor enable */ ! 49: #define SID 0x3e /* system identification */ ! 50: #define TBCHK 0x3f /* translation buffer check */ ! 51: ! 52: #if defined(VAX785)||defined(VAX780) ! 53: #define ACCR 0x29 /* accelerator maintenance */ ! 54: #define WCSA 0x2c /* WCS address */ ! 55: #define WCSD 0x2d /* WCS data */ ! 56: #define SBIFS 0x30 /* SBI fault and status */ ! 57: #define SBIS 0x31 /* SBI silo */ ! 58: #define SBISC 0x32 /* SBI silo comparator */ ! 59: #define SBIMT 0x33 /* SBI maintenance */ ! 60: #define SBIER 0x34 /* SBI error register */ ! 61: #define SBITA 0x35 /* SBI timeout address */ ! 62: #define SBIQC 0x36 /* SBI quadword clear */ ! 63: #define MBRK 0x3c /* microcode breakpoint */ ! 64: #endif ! 65: ! 66: #if defined(VAX8600) ! 67: #define PAMACC 0x40 /* physical address memory access */ ! 68: #define PAMLOC 0x41 /* physical address memory location */ ! 69: #define CSWP 0x42 /* cache sweep */ ! 70: #define MDECC 0x43 /* mbox data ecc */ ! 71: #define MENA 0x44 /* mbox error enable */ ! 72: #define MDCTL 0x45 /* mbox data control */ ! 73: #define MCCTL 0x46 /* mbox mcc control */ ! 74: #define MERG 0x47 /* mbox error generator */ ! 75: #define CRBT 0x48 /* console reboot */ ! 76: #define DFI 0x49 /* diagnostic fault insertion */ ! 77: #define EHSR 0x4a /* error handling status */ ! 78: #define STXCS 0x4c /* storage transmit control/status */ ! 79: #define STXDB 0x4d /* storage transmit data buffer */ ! 80: #define ESPA 0x4e /* ebox scratchpad address */ ! 81: #define ESPD 0x4f /* ebox scratchpad data */ ! 82: #endif ! 83: ! 84: /* masks for processor registers */ ! 85: #define DISABLE 0x1f /* IPL to disable interrupts */ ! 86: #define ENABLE 0x0 /* IPL to enable interrupts */ ! 87: #define NOMAP 0x0 /* value to disable memory mapping */ ! 88: #define MAP 0x1 /* value to enable memory mapping */ ! 89: #define MCESRCLR 0xd /* value to clear MCESR */ ! 90: #define IURSET 0x1 /* value to init bus */ ! 91: #define IURUNSET 0x0 /* value to uninit bus */ ! 92: ! 93: #if defined(VAX780) || defined(VAX785) ! 94: #define SBIFSCLR 0 /* value to clear SBIFS */ ! 95: #endif ! 96: ! 97: #if defined(VAX8600) ! 98: #define CACHCLR 0xb /* flush cache, no write-through */ ! 99: #endif ! 100: ! 101: #define LOWREGS 0x3f /* mask for saving registers r5-r0 */ ! 102: #define NLOWREG 6 /* number of regs saved w LOWREGS */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.