mirror of
https://github.com/open-simh/simh.git
synced 2026-05-05 07:33:56 +00:00
Added HELP device REGISTERS support and register definitions for the VAX CPU device
This commit is contained in:
@@ -408,55 +408,55 @@ UNIT cpu_unit = {
|
||||
};
|
||||
|
||||
REG cpu_reg[] = {
|
||||
{ HRDATA (PC, R[nPC], 32) },
|
||||
{ HRDATA (R0, R[0], 32) },
|
||||
{ HRDATA (R1, R[1], 32) },
|
||||
{ HRDATA (R2, R[2], 32) },
|
||||
{ HRDATA (R3, R[3], 32) },
|
||||
{ HRDATA (R4, R[4], 32) },
|
||||
{ HRDATA (R5, R[5], 32) },
|
||||
{ HRDATA (R6, R[6], 32) },
|
||||
{ HRDATA (R7, R[7], 32) },
|
||||
{ HRDATA (R8, R[8], 32) },
|
||||
{ HRDATA (R9, R[9], 32) },
|
||||
{ HRDATA (R10, R[10], 32) },
|
||||
{ HRDATA (R11, R[11], 32) },
|
||||
{ HRDATA (R12, R[12], 32) },
|
||||
{ HRDATA (R13, R[13], 32) },
|
||||
{ HRDATA (R14, R[14], 32) },
|
||||
{ HRDATA (AP, R[nAP], 32) },
|
||||
{ HRDATA (FP, R[nFP], 32) },
|
||||
{ HRDATA (SP, R[nSP], 32) },
|
||||
{ HRDATA (PSL, PSL, 32) },
|
||||
{ HRDATA (CC, PSL, 4) },
|
||||
{ HRDATA (KSP, KSP, 32) },
|
||||
{ HRDATA (ESP, ESP, 32) },
|
||||
{ HRDATA (SSP, SSP, 32) },
|
||||
{ HRDATA (USP, USP, 32) },
|
||||
{ HRDATA (IS, IS, 32) },
|
||||
{ HRDATA (SCBB, SCBB, 32) },
|
||||
{ HRDATA (PCBB, PCBB, 32) },
|
||||
{ HRDATA (P0BR, P0BR, 32) },
|
||||
{ HRDATA (P0LR, P0LR, 22) },
|
||||
{ HRDATA (P1BR, P1BR, 32) },
|
||||
{ HRDATA (P1LR, P1LR, 22) },
|
||||
{ HRDATA (SBR, SBR, 32) },
|
||||
{ HRDATA (SLR, SLR, 22) },
|
||||
{ HRDATA (SISR, SISR, 16) },
|
||||
{ HRDATA (ASTLVL, ASTLVL, 4) },
|
||||
{ FLDATA (MAPEN, mapen, 0) },
|
||||
{ FLDATA (PME, pme, 0) },
|
||||
{ HRDATA (TRPIRQ, trpirq, 8) },
|
||||
{ FLDATA (CRDERR, crd_err, 0) },
|
||||
{ FLDATA (MEMERR, mem_err, 0) },
|
||||
{ FLDATA (HLTPIN, hlt_pin, 0) },
|
||||
{ HRDATAD (PC, R[nPC], 32, "program counter") },
|
||||
{ HRDATAD (R0, R[0], 32, "General Purpose Register 0") },
|
||||
{ HRDATAD (R1, R[1], 32, "General Purpose Register 1") },
|
||||
{ HRDATAD (R2, R[2], 32, "General Purpose Register 2") },
|
||||
{ HRDATAD (R3, R[3], 32, "General Purpose Register 3") },
|
||||
{ HRDATAD (R4, R[4], 32, "General Purpose Register 4") },
|
||||
{ HRDATAD (R5, R[5], 32, "General Purpose Register 5") },
|
||||
{ HRDATAD (R6, R[6], 32, "General Purpose Register 6") },
|
||||
{ HRDATAD (R7, R[7], 32, "General Purpose Register 7") },
|
||||
{ HRDATAD (R8, R[8], 32, "General Purpose Register 8") },
|
||||
{ HRDATAD (R9, R[9], 32, "General Purpose Register 9") },
|
||||
{ HRDATAD (R10, R[10], 32, "General Purpose Register 10") },
|
||||
{ HRDATAD (R11, R[11], 32, "General Purpose Register 11") },
|
||||
{ HRDATAD (R12, R[12], 32, "General Purpose Register 12") },
|
||||
{ HRDATAD (R13, R[13], 32, "General Purpose Register 13") },
|
||||
{ HRDATAD (R14, R[14], 32, "General Purpose Register 14") },
|
||||
{ HRDATAD (AP, R[nAP], 32, "Alias for R12") },
|
||||
{ HRDATAD (FP, R[nFP], 32, "Alias for R13") },
|
||||
{ HRDATAD (SP, R[nSP], 32, "Alias for R14") },
|
||||
{ HRDATAD (PSL, PSL, 32, "processor status longword") },
|
||||
{ HRDATAD (CC, PSL, 4, "condition codes, PSL<3:0>") },
|
||||
{ HRDATAD (KSP, KSP, 32, "kernel stack pointer") },
|
||||
{ HRDATAD (ESP, ESP, 32, "executive stack pointer") },
|
||||
{ HRDATAD (SSP, SSP, 32, "supervisor stack pointer") },
|
||||
{ HRDATAD (USP, USP, 32, "user stack pointer") },
|
||||
{ HRDATAD (IS, IS, 32, "interrupt stack pointer") },
|
||||
{ HRDATAD (SCBB, SCBB, 32, "system control block base") },
|
||||
{ HRDATAD (PCBB, PCBB, 32, "process control block base") },
|
||||
{ HRDATAD (P0BR, P0BR, 32, "P0 base register") },
|
||||
{ HRDATAD (P0LR, P0LR, 22, "P0 length register") },
|
||||
{ HRDATAD (P1BR, P1BR, 32, "P1 base register") },
|
||||
{ HRDATAD (P1LR, P1LR, 22, "P1 length register") },
|
||||
{ HRDATAD (SBR, SBR, 32, "system base register") },
|
||||
{ HRDATAD (SLR, SLR, 22, "system length register") },
|
||||
{ HRDATAD (SISR, SISR, 16, "software interrupt summary register") },
|
||||
{ HRDATAD (ASTLVL, ASTLVL, 4, "AST level register") },
|
||||
{ FLDATAD (MAPEN, mapen, 0, "memory management enable") },
|
||||
{ FLDATAD (PME, pme, 0, "performance monitor enable") },
|
||||
{ HRDATAD (TRPIRQ, trpirq, 8, "trap/interrupt pending") },
|
||||
{ FLDATAD (CRDERR, crd_err, 0, "correctible read data error flag") },
|
||||
{ FLDATAD (MEMERR, mem_err, 0, "memory error flag") },
|
||||
{ FLDATA (HLTPIN, hlt_pin, 0) },
|
||||
{ HRDATA (IDLE_MASK, cpu_idle_mask, 16), REG_HIDDEN },
|
||||
{ DRDATA (IDLE_INDX, cpu_idle_type, 4), REG_HRO },
|
||||
{ DRDATA (IDLE_ENAB, sim_idle_enab, 4), REG_HRO },
|
||||
{ BRDATA (PCQ, pcq, 16, 32, PCQ_SIZE), REG_RO+REG_CIRC },
|
||||
{ BRDATAD (PCQ, pcq, 16, 32, PCQ_SIZE, "PC prior to last PC change or interrupt;"), REG_RO+REG_CIRC },
|
||||
{ HRDATA (PCQP, pcq_p, 6), REG_HRO },
|
||||
{ HRDATA (BADABO, badabo, 32), REG_HRO },
|
||||
{ HRDATA (WRU, sim_int_char, 8) },
|
||||
{ HRDATAD (WRU, sim_int_char, 8, "interrupt character") },
|
||||
{ HRDATA (MODEL, sys_model, 32), REG_HRO },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user