!*** MODULE $PR13DEF *** CDEC$ OPTIONS /NOALIGN PARAMETER PR13$K_REVISION = '0000001E'X ! Revision number of this file ! In the definitions below, registers are annotated with one of the following ! symbols: ! ! RW - The register may be read and written ! RO - The register may only be read ! WO - The register may only be written ! ! For RO and WO registers, all bits and fields within the register are also ! read-only or write-only. For RW registers, each bit or field within ! the register is annotated with one of the following: ! ! RW - The bit/field may be read and written ! RO - The bit/field may be read; writes are ignored ! WO - The bit/field may be written; reads return an UNPREDICTABLE result. ! WZ - The bit/field may be written; reads return a 0 ! WC - The bit/field may be read; writes cause state to clear ! RC - The bit/field may be read, which also causes state to clear; writes are ignored PARAMETER PR13$_TODR = '0000001B'X ! Time Of Year Register (RW) PARAMETER PR13$_MCESR = '00000026'X ! Machine check error register (WO) PARAMETER PR13$_SAVPC = '0000002A'X ! Console saved PC (RO) PARAMETER PR13$_SAVPSL = '0000002B'X ! Console saved PSL (RO) PARAMETER PR13_SAVPSL$M_PSL_LO = '000000FF'X PARAMETER PR13_SAVPSL$M_HALTCODE = '00003F00'X PARAMETER PR13_SAVPSL$K_HALT_HLTPIN = '00000002'X ! HALT_L pin asserted PARAMETER PR13_SAVPSL$K_HALT_PWRUP = '00000003'X ! Initial powerup PARAMETER PR13_SAVPSL$K_HALT_INTSTK = '00000004'X ! Interrupt stack not valid PARAMETER PR13_SAVPSL$K_HALT_DOUBLE = '00000005'X ! Machine check during exception processing PARAMETER PR13_SAVPSL$K_HALT_HLTINS = '00000006'X ! Halt instruction in kernel mode PARAMETER PR13_SAVPSL$K_HALT_ILLVEC = '00000007'X ! Illegal SCB vector (bits<1:0>=11) PARAMETER PR13_SAVPSL$K_HALT_WCSVEC = '00000008'X ! WCS SCB vector (bits<1:0>=10) PARAMETER PR13_SAVPSL$K_HALT_CHMFI = '0000000A'X ! CHMx on interrupt stack PARAMETER PR13_SAVPSL$K_HALT_IE0 = '00000010'X ! ACV/TNV during machine check processing PARAMETER PR13_SAVPSL$K_HALT_IE1 = '00000011'X ! ACV/TNV during KSNV processing PARAMETER PR13_SAVPSL$K_HALT_IE2 = '00000012'X ! Machine check during machine check processing PARAMETER PR13_SAVPSL$K_HALT_IE3 = '00000013'X ! Machine check during KSNV processing PARAMETER PR13_SAVPSL$K_HALT_IE_PSL_101 = '00000019'X ! PSL<26:24>=101 during interrupt or exception PARAMETER PR13_SAVPSL$K_HALT_IE_PSL_110 = '0000001A'X ! PSL<26:24>=110 during interrupt or exception PARAMETER PR13_SAVPSL$K_HALT_IE_PSL_111 = '0000001B'X ! PSL<26:24>=111 during interrupt or exception PARAMETER PR13_SAVPSL$K_HALT_REI_PSL_101 = '0000001D'X ! PSL<26:24>=101 during REI PARAMETER PR13_SAVPSL$K_HALT_REI_PSL_110 = '0000001E'X ! PSL<26:24>=110 during REI PARAMETER PR13_SAVPSL$K_HALT_REI_PSL_111 = '0000001F'X ! PSL<26:24>=111 during REI PARAMETER PR13_SAVPSL$M_INVALID = '00004000'X PARAMETER PR13_SAVPSL$M_MAPEN = '00008000'X PARAMETER PR13_SAVPSL$M_PSL_HI = 'FFFF0000'X PARAMETER PR13$_IORESET = '00000037'X ! I/O system reset register (WO) PARAMETER PR13$_PME = '0000003D'X ! Performance monitoring enable (RW) PARAMETER PR13$_SID = '0000003E'X ! System identification register (RO) PARAMETER PR13_SID$M_UCODE_REV = '000000FF'X PARAMETER PR13_SID$M_NONSTANDARD_PATCH = '00000100'X PARAMETER PR13_SID$M_PATCH_REV = '00003E00'X PARAMETER PR13_SID$M_TYPE = 'FF000000'X PARAMETER PR13$_IAK14 = '00000040'X ! Level 14 interrupt acknowledge (RO) PARAMETER PR13$_IAK15 = '00000041'X ! Level 15 interrupt acknowledge (RO) PARAMETER PR13$_IAK16 = '00000042'X ! Level 16 interrupt acknowledge (RO) PARAMETER PR13$_IAK17 = '00000043'X ! Level 17 interrupt acknowledge (RO) PARAMETER PR13_IAK$M_IPL17 = '00000001'X PARAMETER PR13_IAK$M_PR = '00000002'X PARAMETER PR13_IAK$M_SCB_OFFSET = '0000FFFC'X PARAMETER PR13$_CWB = '00000044'X ! Clear write buffers (RW) ! Ebox registers. PARAMETER PR13$_INTSYS = '0000007A'X ! Interrupt system status register (RW) PARAMETER PR13_INTSYS$M_ICCS6 = '00000001'X PARAMETER PR13_INTSYS$M_SISR = '0000FFFE'X PARAMETER PR13_INTSYS$M_INT_ID = '001F0000'X PARAMETER PR13_INTSYS$K_INT_ID_HALT = '0000001F'X ! Halt pin PARAMETER PR13_INTSYS$K_INT_ID_PWRFL = '0000001E'X ! Power fail PARAMETER PR13_INTSYS$K_INT_ID_H_ERR = '0000001D'X ! Hard error PARAMETER PR13_INTSYS$K_INT_ID_INT_TIM = '0000001C'X ! Interval timer PARAMETER PR13_INTSYS$K_INT_ID_PMON = '0000001B'X ! Performance monitor PARAMETER PR13_INTSYS$K_INT_ID_S_ERR = '0000001A'X ! Soft error PARAMETER PR13_INTSYS$K_INT_ID_IRQ3 = '00000017'X ! IPL 17 device interrupt PARAMETER PR13_INTSYS$K_INT_ID_IRQ2 = '00000016'X ! IPL 16 device interrupt PARAMETER PR13_INTSYS$K_INT_ID_IRQ1 = '00000015'X ! IPL 15 device interrupt PARAMETER PR13_INTSYS$K_INT_ID_IRQ0 = '00000014'X ! IPL 14 device interrupt PARAMETER PR13_INTSYS$K_INT_ID_SISR15 = '0000000F'X ! SISR<15> PARAMETER PR13_INTSYS$K_INT_ID_SISR14 = '0000000E'X ! SISR<14> PARAMETER PR13_INTSYS$K_INT_ID_SISR13 = '0000000D'X ! SISR<13> PARAMETER PR13_INTSYS$K_INT_ID_SISR12 = '0000000C'X ! SISR<12> PARAMETER PR13_INTSYS$K_INT_ID_SISR11 = '0000000B'X ! SISR<11> PARAMETER PR13_INTSYS$K_INT_ID_SISR10 = '0000000A'X ! SISR<10> PARAMETER PR13_INTSYS$K_INT_ID_SISR9 = '00000009'X ! SISR<9> PARAMETER PR13_INTSYS$K_INT_ID_SISR8 = '00000008'X ! SISR<8> PARAMETER PR13_INTSYS$K_INT_ID_SISR7 = '00000007'X ! SISR<7> PARAMETER PR13_INTSYS$K_INT_ID_SISR6 = '00000006'X ! SISR<6> PARAMETER PR13_INTSYS$K_INT_ID_SISR5 = '00000005'X ! SISR<5> PARAMETER PR13_INTSYS$K_INT_ID_SISR4 = '00000004'X ! SISR<4> PARAMETER PR13_INTSYS$K_INT_ID_SISR3 = '00000003'X ! SISR<3> PARAMETER PR13_INTSYS$K_INT_ID_SISR2 = '00000002'X ! SISR<2> PARAMETER PR13_INTSYS$K_INT_ID_SISR1 = '00000001'X ! SISR<1> PARAMETER PR13_INTSYS$K_INT_ID_NO_INT = '00000000'X ! No interrupt PARAMETER PR13_INTSYS$M_INT_TIM_RESET = '01000000'X PARAMETER PR13_INTSYS$M_S_ERR_RESET = '08000000'X PARAMETER PR13_INTSYS$M_PMON_RESET = '10000000'X PARAMETER PR13_INTSYS$M_H_ERR_RESET = '20000000'X PARAMETER PR13_INTSYS$M_PWRFL_RESET = '40000000'X PARAMETER PR13_INTSYS$M_HALT_RESET = '80000000'X PARAMETER PR13$_PMFCNT = '0000007B'X ! Performance monitoring facility count register (RW) PARAMETER PR13_PMFCNT$M_PMCTR0 = '0000FFFF'X PARAMETER PR13_PMFCNT$M_PMCTR1 = 'FFFF0000'X PARAMETER PR13$_PCSCR = '0000007C'X ! Patchable control store control register (RW) PARAMETER PR13_PCSCR$M_PAR_PORT_DIS = '00000100'X PARAMETER PR13_PCSCR$M_PCS_ENB = '00000200'X PARAMETER PR13_PCSCR$M_PCS_WRITE = '00000400'X PARAMETER PR13_PCSCR$M_RWL_SHIFT = '00000800'X PARAMETER PR13_PCSCR$M_DATA = '00001000'X PARAMETER PR13_PCSCR$M_NONSTANDARD_PATCH = '00800000'X PARAMETER PR13_PCSCR$M_PATCH_REV = '1F000000'X PARAMETER PR13$_ECR = '0000007D'X ! Ebox control register (RW) PARAMETER PR13_ECR$M_VECTOR_PRESENT = '00000001'X PARAMETER PR13_ECR$M_FBOX_ENABLE = '00000002'X PARAMETER PR13_ECR$M_TIMEOUT_EXT = '00000004'X PARAMETER PR13_ECR$M_FBOX_ST4_BYPASS_ENA = '00000008'X PARAMETER PR13_ECR$M_TIMEOUT_OCCURRED = '00000010'X PARAMETER PR13_ECR$M_TIMEOUT_TEST = '00000020'X PARAMETER PR13_ECR$M_TIMEOUT_CLOCK = '00000040'X PARAMETER PR13_ECR$M_ICCS_EXT = '00000080'X PARAMETER PR13_ECR$M_FBOX_TEST_ENABLE = '00002000'X PARAMETER PR13_ECR$M_PMF_ENABLE = '00010000'X PARAMETER PR13_ECR$M_PMF_PMUX = '00060000'X PARAMETER PR13_ECR$K_PMUX_IBOX = '00000000'X ! Select Ibox PARAMETER PR13_ECR$K_PMUX_EBOX = '00000001'X ! Select Ebox PARAMETER PR13_ECR$K_PMUX_MBOX = '00000002'X ! Select Mbox PARAMETER PR13_ECR$K_PMUX_CBOX = '00000003'X ! Select Cbox PARAMETER PR13_ECR$M_PMF_EMUX = '00380000'X PARAMETER PR13_ECR$K_EMUX_S3_STALL = '00000000'X ! Measure S3 stall against total cycles PARAMETER PR13_ECR$K_EMUX_EM_PA_STALL = '00000001'X ! Measure EM+PA queue stall against total cycles PARAMETER PR13_ECR$K_EMUX_CPI = '00000002'X ! Measure instructions retired against total cycles PARAMETER PR13_ECR$K_EMUX_STALL = '00000003'X ! Measure total stalls against total cycles PARAMETER PR13_ECR$K_EMUX_S3_STALL_PCT = '00000004'X ! Measure S3 stall against total stalls PARAMETER PR13_ECR$K_EMUX_EM_PA_STALL_PCT = '00000005'X ! Measure EM+PA queue stall against total stalls PARAMETER PR13_ECR$K_EMUX_UWORD = '00000007'X ! Count microword increments PARAMETER PR13_ECR$M_PMF_LFSR = '00400000'X PARAMETER PR13_ECR$M_PMF_CLEAR = '80000000'X PARAMETER PR13$_MTBTAG = '0000007E'X ! Mbox TB tag fill (WO) PARAMETER PR13_MTBTAG$M_TP = '00000001'X PARAMETER PR13_MTBTAG$M_VPN = 'FFFFFE00'X PARAMETER PR13$_MTBPTE = '0000007F'X ! Mbox TB PTE fill (WO) PARAMETER PR13_MTBPTE$M_PFN = '007FFFFF'X PARAMETER PR13_MTBPTE$M_P = '01000000'X PARAMETER PR13_MTBPTE$M_M = '04000000'X PARAMETER PR13_MTBPTE$M_PROT = '18000000'X PARAMETER PR13_MTBPTE$M_V = '20000000'X PARAMETER PR13$_VPSR = '00000090'X ! Vector processor status register (RW) PARAMETER PR13_VPSR$M_VEN = '00000001'X PARAMETER PR13_VPSR$M_RST = '00000002'X PARAMETER PR13_VPSR$M_AEX = '00000080'X PARAMETER PR13_VPSR$M_IMP = '01000000'X PARAMETER PR13_VPSR$M_BSY = '80000000'X PARAMETER PR13$_VAER = '00000091'X ! Vector arithmetic exception register (RO) PARAMETER PR13_VAER$M_F_UNDF = '00000001'X PARAMETER PR13_VAER$M_F_DIVZ = '00000002'X PARAMETER PR13_VAER$M_F_ROPR = '00000004'X PARAMETER PR13_VAER$M_F_OVFL = '00000008'X PARAMETER PR13_VAER$M_I_OVFL = '00000020'X PARAMETER PR13_VAER$M_REGISTER_MASK = 'FFFF0000'X PARAMETER PR13$_VMAC = '00000092'X ! Vector memory activity register (RO) PARAMETER PR13$_VTBIA = '00000093'X ! Vector translation buffer invalidate all (WO) ! Cbox registers. PARAMETER PR13$_CCTL = '000000A0'X ! Cbox control register (RW) PARAMETER PR13_CCTL$M_ENABLE = '00000001'X PARAMETER PR13_CCTL$M_TAG_SPEED = '00000002'X PARAMETER PR13_CCTL$K_TAG_3_CYCLES = '00000000'X ! Select tag RAM speed: 3-cycle read rep/3-cycle write rep PARAMETER PR13_CCTL$K_TAG_4_CYCLES = '00000001'X ! Select tag RAM speed: 4-cycle read rep/4-cycle write rep PARAMETER PR13_CCTL$M_DATA_SPEED = '0000000C'X PARAMETER PR13_CCTL$K_DATA_2_CYCLES = '00000000'X ! Select data RAM speed: 2-cycle read rep/3-cycle write rep PARAMETER PR13_CCTL$K_DATA_3_CYCLES = '00000001'X ! Select data RAM speed: 3-cycle read rep/4-cycle write rep PARAMETER PR13_CCTL$K_DATA_4_CYCLES = '00000002'X ! Select data RAM speed: 4-cycle read rep/5-cycle write rep PARAMETER PR13_CCTL$M_SIZE = '00000030'X PARAMETER PR13_CCTL$K_SIZE_128KB = '00000000'X ! Select 128KB Bcache PARAMETER PR13_CCTL$K_SIZE_256KB = '00000001'X ! Select 256KB Bcache PARAMETER PR13_CCTL$K_SIZE_512KB = '00000002'X ! Select 512KB Bcache PARAMETER PR13_CCTL$K_SIZE_2MB = '00000003'X ! Select 2MB Bcache PARAMETER PR13_CCTL$M_FORCE_HIT = '00000040'X PARAMETER PR13_CCTL$M_DISABLE_ERRORS = '00000080'X PARAMETER PR13_CCTL$M_SW_ECC = '00000100'X PARAMETER PR13_CCTL$M_TIMEOUT_TEST = '00000200'X PARAMETER PR13_CCTL$M_DISABLE_PACK = '00000400'X PARAMETER PR13_CCTL$M_PM_ACCESS_TYPE = '00003800'X PARAMETER PR13_CCTL$K_PMAT_COH = '00000000'X ! Coherency access of either type PARAMETER PR13_CCTL$K_PMAT_COH_READ = '00000001'X ! Coherency access for READ PARAMETER PR13_CCTL$K_PMAT_COH_OREAD = '00000002'X ! Coherency access for OREAD PARAMETER PR13_CCTL$K_PMAT_CPU = '00000004'X ! CPU access of any type PARAMETER PR13_CCTL$K_PMAT_CPU_IREAD = '00000005'X ! CPU access for IREAD PARAMETER PR13_CCTL$K_PMAT_CPU_DREAD = '00000006'X ! CPU access for DREAD PARAMETER PR13_CCTL$K_PMAT_CPU_OREAD = '00000007'X ! CPU access for OREAD PARAMETER PR13_CCTL$M_PM_HIT_TYPE = '0000C000'X PARAMETER PR13_CCTL$K_PMHT_HIT = '00000000'X ! Hit PARAMETER PR13_CCTL$K_PMHT_HIT_OWNED = '00000001'X ! Hit on owned block PARAMETER PR13_CCTL$K_PMHT_HIT_VALID = '00000002'X ! Hit on valid block PARAMETER PR13_CCTL$K_PMHT_MISS_OWNED = '00000003'X ! Miss on owned block (causes writeback) PARAMETER PR13_CCTL$M_FORCE_NDAL_PERR = '00010000'X PARAMETER PR13_CCTL$M_SW_ETM = '40000000'X PARAMETER PR13_CCTL$M_HW_ETM = '80000000'X PARAMETER PR13$_BCDECC = '000000A2'X ! Bcache data ram ECC (WO) PARAMETER PR13_BCDECC$M_ECCLO = '000003C0'X PARAMETER PR13_BCDECC$M_ECCHI = '03C00000'X PARAMETER PR13$_BCETSTS = '000000A3'X ! Bcache error tag status (RW) PARAMETER PR13_BCETSTS$M_LOCK = '00000001'X PARAMETER PR13_BCETSTS$M_CORR = '00000002'X PARAMETER PR13_BCETSTS$M_UNCORR = '00000004'X PARAMETER PR13_BCETSTS$M_BAD_ADDR = '00000008'X PARAMETER PR13_BCETSTS$M_LOST_ERR = '00000010'X PARAMETER PR13_BCETSTS$M_TS_CMD = '000003E0'X PARAMETER PR13_BCETSTS$K_CMD_DREAD = '00000007'X ! Command was D-stream tag lookup PARAMETER PR13_BCETSTS$K_CMD_IREAD = '00000003'X ! Command was I-stream tag lookup PARAMETER PR13_BCETSTS$K_CMD_OREAD = '00000002'X ! Command was OREAD tag lookup for write or read lock PARAMETER PR13_BCETSTS$K_CMD_WUNLOCK = '00000008'X ! Command was write unlock tag lookup (done only under ETM) PARAMETER PR13_BCETSTS$K_CMD_R_INVAL = '0000000D'X ! Command was inval tag lookup for NDAL DREAD or IREAD PARAMETER PR13_BCETSTS$K_CMD_O_INVAL = '00000009'X ! Command was inval tag lookup for NDAL OREAD or WRITE PARAMETER PR13_BCETSTS$K_CMD_IPR_DEALLOC = '0000000A'X ! Command was tag lookup for IPR deallocate PARAMETER PR13$_BCETIDX = '000000A4'X ! Bcache error tag index (RO) PARAMETER PR13$_BCETAG = '000000A5'X ! Bcache error tag (RO) PARAMETER PR13_BCETAG$M_VALID = '00000200'X PARAMETER PR13_BCETAG$M_OWNED = '00000400'X PARAMETER PR13_BCETAG$M_ECC = '0001F800'X PARAMETER PR13_BCETAG$M_TAG = 'FFFE0000'X PARAMETER PR13$_BCEDSTS = '000000A6'X ! Bcache error data status (RW) PARAMETER PR13_BCEDSTS$M_LOCK = '00000001'X PARAMETER PR13_BCEDSTS$M_CORR = '00000002'X PARAMETER PR13_BCEDSTS$M_UNCORR = '00000004'X PARAMETER PR13_BCEDSTS$M_BAD_ADDR = '00000008'X PARAMETER PR13_BCEDSTS$M_LOST_ERR = '00000010'X PARAMETER PR13_BCEDSTS$M_DR_CMD = '00000F00'X PARAMETER PR13_BCEDSTS$K_CMD_DREAD = '00000007'X ! Command was D-stream data lookup PARAMETER PR13_BCEDSTS$K_CMD_IREAD = '00000003'X ! Command was I-stream data lookup PARAMETER PR13_BCEDSTS$K_CMD_WBACK = '00000004'X ! Command was writeback data lookup PARAMETER PR13_BCEDSTS$K_CMD_RMW = '00000002'X ! Command was read-modify-write data lookup PARAMETER PR13$_BCEDIDX = '000000A7'X ! Bcache error data index (RO) PARAMETER PR13$_BCEDECC = '000000A8'X ! Bcache error ECC (RO) PARAMETER PR13_BCEDECC$M_ECCLO = '000003C0'X PARAMETER PR13_BCEDECC$M_ECCHI = '03C00000'X PARAMETER PR13$_CEFADR = '000000AB'X ! Fill error address (RO) PARAMETER PR13$_CEFSTS = '000000AC'X ! Fill error status (RW) PARAMETER PR13_CEFSTS$M_RDLK = '00000001'X PARAMETER PR13_CEFSTS$M_LOCK = '00000002'X PARAMETER PR13_CEFSTS$M_TIMEOUT = '00000004'X PARAMETER PR13_CEFSTS$M_RDE = '00000008'X PARAMETER PR13_CEFSTS$M_LOST_ERR = '00000010'X PARAMETER PR13_CEFSTS$M_ID0 = '00000020'X PARAMETER PR13_CEFSTS$M_IREAD = '00000040'X PARAMETER PR13_CEFSTS$M_OREAD = '00000080'X PARAMETER PR13_CEFSTS$M_WRITE = '00000100'X PARAMETER PR13_CEFSTS$M_TO_MBOX = '00000200'X PARAMETER PR13_CEFSTS$M_RIP = '00000400'X PARAMETER PR13_CEFSTS$M_OIP = '00000800'X PARAMETER PR13_CEFSTS$M_DNF = '00001000'X PARAMETER PR13_CEFSTS$M_RDLK_FL_DONE = '00002000'X PARAMETER PR13_CEFSTS$M_REQ_FILL_DONE = '00004000'X PARAMETER PR13_CEFSTS$M_COUNT = '00018000'X PARAMETER PR13_CEFSTS$M_UNEXPECTED_FILL = '00200000'X PARAMETER PR13$_NESTS = '000000AE'X ! NDAL error status (RW) PARAMETER PR13_NESTS$M_NOACK = '00000001'X PARAMETER PR13_NESTS$M_BADWDATA = '00000002'X PARAMETER PR13_NESTS$M_LOST_OERR = '00000004'X PARAMETER PR13_NESTS$M_PERR = '00000008'X PARAMETER PR13_NESTS$M_INCON_PERR = '00000010'X PARAMETER PR13_NESTS$M_LOST_PERR = '00000020'X PARAMETER PR13$_NEOADR = '000000B0'X ! NDAL error output address (RO) PARAMETER PR13$_NEOCMD = '000000B2'X ! NDAL error output command (RO) PARAMETER PR13_NEOCMD$M_CMD = '0000000F'X PARAMETER PR13_NEOCMD$M_ID = '00000070'X PARAMETER PR13_NEOCMD$M_BYTE_EN = '0000FF00'X PARAMETER PR13_NEOCMD$M_LEN = 'C0000000'X PARAMETER PR13$_NEDATHI = '000000B4'X ! NDAL error data high (RO) PARAMETER PR13$_NEDATLO = '000000B6'X ! NDAL error data low (RO) PARAMETER PR13$_NEICMD = '000000B8'X ! NDAL error input command (RO) PARAMETER PR13_NEICMD$M_CMD = '0000000F'X PARAMETER PR13_NEICMD$M_ID = '00000070'X PARAMETER PR13_NEICMD$M_PARITY = '00000380'X PARAMETER PR13_NDAL$K_LEN_HW = '00000000'X ! Length = hexaword PARAMETER PR13_NDAL$K_LEN_QW = '00000002'X ! Length = quadword PARAMETER PR13_NDAL$K_LEN_OW = '00000003'X ! Length = octaword ! encoded NDAL command values PARAMETER PR13_NDAL$K_CMD_NOP = '00000000'X ! Command = NOP PARAMETER PR13_NDAL$K_CMD_WRITE = '00000002'X ! Command = Write PARAMETER PR13_NDAL$K_CMD_WDISOWN = '00000003'X ! Command = Write disown PARAMETER PR13_NDAL$K_CMD_IREAD = '00000004'X ! Command = I-read PARAMETER PR13_NDAL$K_CMD_DREAD = '00000005'X ! Command = D-read PARAMETER PR13_NDAL$K_CMD_OREAD = '00000006'X ! Command = O-read PARAMETER PR13_NDAL$K_CMD_RDE = '00000009'X ! Command = Read data error PARAMETER PR13_NDAL$K_CMD_WDATA = '0000000A'X ! Command = Write data PARAMETER PR13_NDAL$K_CMD_BADWDATA = '0000000B'X ! Command = Bad write data PARAMETER PR13_NDAL$K_CMD_RDR0 = '0000000C'X ! Command = Read data return 0 PARAMETER PR13_NDAL$K_CMD_RDR1 = '0000000D'X ! Command = Read data return 1 PARAMETER PR13_NDAL$K_CMD_RDR2 = '0000000E'X ! Command = Read data return 2 PARAMETER PR13_NDAL$K_CMD_RDR3 = '0000000F'X ! Command = Read data return 3 ! Cbox registers, continued PARAMETER PR13$_BCTAG = '01000000'X ! First of 64K Bcache tag IPRs (RW) PARAMETER PR13$_BCTAG_128KB_MAX = '0101FFE0'X ! Last tag IPR for 128KB Bcache PARAMETER PR13$_BCTAG_256KB_MAX = '0103FFE0'X ! Last tag IPR for 256KB Bcache PARAMETER PR13$_BCTAG_512KB_MAX = '0107FFE0'X ! Last tag IPR for 512KB Bcache PARAMETER PR13$_BCTAG_2MB_MAX = '011FFFE0'X ! Last tag IPR for 2MB Bcache PARAMETER PR13_BCTAG$K_IPR_INCR = '00000020'X ! Increment between Bcache tag IPR numbers PARAMETER PR13_BCTAG$M_VALID = '00000200'X PARAMETER PR13_BCTAG$M_OWNED = '00000400'X PARAMETER PR13_BCTAG$M_ECC = '0001F800'X PARAMETER PR13_BCTAG$M_TAG = 'FFFE0000'X PARAMETER PR13$_BCFLUSH = '01400000'X ! First of 64K Bcache tag deallocate IPRs (WO) PARAMETER PR13$_BCFLUSH_128KB_MAX = '0141FFE0'X ! Last deallocate IPR for 128KB Bcache PARAMETER PR13$_BCFLUSH_256KB_MAX = '0143FFE0'X ! Last deallocate IPR for 256KB Bcache PARAMETER PR13$_BCFLUSH_512KB_MAX = '0147FFE0'X ! Last deallocate IPR for 512KB Bcache PARAMETER PR13$_BCFLUSH_2MB_MAX = '015FFFE0'X ! Last deallocate IPR for 2MB Bcache PARAMETER PR13_BCFLUSH$K_IPR_INCR = '00000020'X ! Increment between Bcache deallocate IPR numbers ! Ibox registers. PARAMETER PR13$_VMAR = '000000D0'X ! VIC memory address register PARAMETER PR13_VMAR$M_LW = '00000004'X PARAMETER PR13_VMAR$M_SUB_BLOCK = '00000018'X PARAMETER PR13_VMAR$M_ROW_INDEX = '000007E0'X PARAMETER PR13_VMAR$M_ADDR = 'FFFFF800'X PARAMETER PR13$_VTAG = '000000D1'X ! VIC tag register PARAMETER PR13_VTAG$M_V = '0000000F'X PARAMETER PR13_VTAG$M_DP = '000000F0'X PARAMETER PR13_VTAG$M_TP = '00000100'X PARAMETER PR13_VTAG$M_TAG = 'FFFFF800'X PARAMETER PR13$_VDATA = '000000D2'X ! VIC data register PARAMETER PR13$_ICSR = '000000D3'X ! Ibox control and status register (RW) PARAMETER PR13_ICSR$M_ENABLE = '00000001'X PARAMETER PR13_ICSR$M_LOCK = '00000004'X PARAMETER PR13_ICSR$M_DPERR = '00000008'X PARAMETER PR13_ICSR$M_TPERR = '00000010'X PARAMETER PR13$_BPCR = '000000D4'X ! Ibox branch prediction control register PARAMETER PR13_BPCR$M_HISTORY = '0000000F'X PARAMETER PR13_BPCR$M_MISPREDICT = '00000020'X PARAMETER PR13_BPCR$M_FLUSH_BHT = '00000040'X PARAMETER PR13_BPCR$M_FLUSH_CTR = '00000080'X PARAMETER PR13_BPCR$M_LOAD_HISTORY = '00000100'X PARAMETER PR13_BPCR$M_BPU_ALGORITHM = 'FFFF0000'X PARAMETER PR13_BPCR$K_BPU_ALGORITHM = '0000FECA'X ! default value for BPU_ALGORITHM field PARAMETER PR13$_BPC = '000000D6'X ! Ibox Backup PC (RO) PARAMETER PR13$_BPCUNW = '000000D7'X ! Ibox Backup PC with RLOG unwind (RO) ! Mbox internal memory management registers. PARAMETER PR13$_MP0BR = '000000E0'X ! Mbox P0 base register (RW) PARAMETER PR13$_MP0LR = '000000E1'X ! Mbox P0 length register (RW) PARAMETER PR13$_MP1BR = '000000E2'X ! Mbox P1 base register (RW) PARAMETER PR13$_MP1LR = '000000E3'X ! Mbox P1 length register (RW) PARAMETER PR13$_MSBR = '000000E4'X ! Mbox system base register (RW) PARAMETER PR13$_MSLR = '000000E5'X ! Mbox system length register (RW) PARAMETER PR13$_MMAPEN = '000000E6'X ! Mbox memory management enable (RW) ! Mbox registers. PARAMETER PR13$_PAMODE = '000000E7'X ! Mbox physical address mode (RW) PARAMETER PR13_PAMODE$M_MODE = '00000001'X PARAMETER PR13_PAMODE$K_PA_30 = '00000000'X ! 30-bit PA mode PARAMETER PR13_PAMODE$K_PA_32 = '00000001'X ! 32-bit PA mode PARAMETER PR13$_MMEADR = '000000E8'X ! Mbox memory management fault address (RO) PARAMETER PR13$_MMEPTE = '000000E9'X ! Mbox memory management fault PTE address (RO) PARAMETER PR13$_MMESTS = '000000EA'X ! Mbox memory management fault status (RO) PARAMETER PR13_MMESTS$M_LV = '00000001'X PARAMETER PR13_MMESTS$M_PTE_REF = '00000002'X PARAMETER PR13_MMESTS$M_M = '00000004'X PARAMETER PR13_MMESTS$M_FAULT = '0000C000'X PARAMETER PR13_MMESTS$K_FAULT_ACV = '00000001'X ! ACV fault PARAMETER PR13_MMESTS$K_FAULT_TNV = '00000002'X ! TNV fault PARAMETER PR13_MMESTS$K_FAULT_M0 = '00000003'X ! M=0 fault PARAMETER PR13_MMESTS$M_SRC = '1C000000'X PARAMETER PR13_MMESTS$M_LOCK = 'E0000000'X PARAMETER PR13$_TBADR = '000000EC'X ! Mbox TB parity error address (RO) PARAMETER PR13$_TBSTS = '000000ED'X ! Mbox TB parity error status (RW) PARAMETER PR13_TBSTS$M_LOCK = '00000001'X PARAMETER PR13_TBSTS$M_DPERR = '00000002'X PARAMETER PR13_TBSTS$M_TPERR = '00000004'X PARAMETER PR13_TBSTS$M_EM_VAL = '00000008'X PARAMETER PR13_TBSTS$M_CMD = '000001F0'X PARAMETER PR13_TBSTS$M_SRC = 'E0000000'X PARAMETER PR13_MSRC$K_IREF_LATCH = '00000006'X ! Source of fault was IREF latch PARAMETER PR13_MSRC$K_SPEC_QUEUE = '00000004'X ! Source of fault was spec queue PARAMETER PR13_MSRC$K_EM_LATCH = '00000000'X ! Source of fault was EM latch ! Mbox Pcache registers PARAMETER PR13$_PCADR = '000000F2'X ! Mbox Pcache parity error address (RO) PARAMETER PR13$_PCSTS = '000000F4'X ! Mbox Pcache parity error status (RW) PARAMETER PR13_PCSTS$M_LOCK = '00000001'X PARAMETER PR13_PCSTS$M_DPERR = '00000002'X PARAMETER PR13_PCSTS$M_RIGHT_BANK = '00000004'X PARAMETER PR13_PCSTS$M_LEFT_BANK = '00000008'X PARAMETER PR13_PCSTS$M_CMD = '000001F0'X PARAMETER PR13_PCSTS$M_PTE_ER_WR = '00000200'X PARAMETER PR13_PCSTS$M_PTE_ER = '00000400'X PARAMETER PR13$_PCCTL = '000000F8'X ! Mbox Pcache control (RW) PARAMETER PR13_PCCTL$M_D_ENABLE = '00000001'X PARAMETER PR13_PCCTL$M_I_ENABLE = '00000002'X PARAMETER PR13_PCCTL$M_FORCE_HIT = '00000004'X PARAMETER PR13_PCCTL$M_BANK_SEL = '00000008'X PARAMETER PR13_PCCTL$M_P_ENABLE = '00000010'X PARAMETER PR13_PCCTL$M_PMM = '000000E0'X PARAMETER PR13_PCCTL$M_ELEC_DISABLE = '00000100'X PARAMETER PR13_PCCTL$M_RED_ENABLE = '00000200'X PARAMETER PR13$_PCTAG = '01800000'X ! First of 256 Pcache tag IPRs (RW) PARAMETER PR13$_PCTAG_MAX = '01801FE0'X ! Last of 256 Pcache tag IPRs PARAMETER PR13_PCTAG$K_IPR_INCR = '00000020'X ! Increment between Pcache tag IPR numbers PARAMETER PR13_PCTAG$M_A = '00000001'X PARAMETER PR13_PCTAG$M_V = '0000001E'X PARAMETER PR13_PCTAG$M_P = '00000020'X PARAMETER PR13_PCTAG$M_TAG = 'FFFFF000'X PARAMETER PR13$_PCDAP = '01C00000'X ! First of 1024 Pcache data parity IPRs (RW) PARAMETER PR13$_PCDAP_MAX = '01C01FF8'X ! Last of 1024 Pcache data parity IPRs PARAMETER PR13_PCDAP$K_IPR_INCR = '00000008'X ! Increment between Pcache data parity IPR numbers PARAMETER PR13_PCDAP$M_DATA_PARITY = '000000FF'X STRUCTURE /PR13DEF/ UNION ! Architecturally-defined registers which have different characteristics ! on this CPU. MAP PARAMETER PR13_SAVPSL$S_PSL_LO = 8 PARAMETER PR13_SAVPSL$V_PSL_LO = 0 ! Saved PSL bits <7:0> PARAMETER PR13_SAVPSL$S_HALTCODE = 6 PARAMETER PR13_SAVPSL$V_HALTCODE = 8 ! Halt code containing one of the following values PARAMETER PR13_SAVPSL$S_INVALID = 1 PARAMETER PR13_SAVPSL$V_INVALID = 14 ! Invalid SAVPSL if = 1 PARAMETER PR13_SAVPSL$S_MAPEN = 1 PARAMETER PR13_SAVPSL$V_MAPEN = 15 ! MAPEN<0> PARAMETER PR13_SAVPSL$S_PSL_HI = 16 PARAMETER PR13_SAVPSL$V_PSL_HI = 16 BYTE %FILL (4) ! Saved PSL bits <31:16> END MAP MAP PARAMETER PR13_SID$S_UCODE_REV = 8 PARAMETER PR13_SID$V_UCODE_REV = 0 ! Microcode (chip) revision number PARAMETER PR13_SID$S_NONSTANDARD_PATCH = 1 PARAMETER PR13_SID$V_NONSTANDARD_PATCH = 8 ! PCS loaded with a non-standard patch PARAMETER PR13_SID$S_PATCH_REV = 5 PARAMETER PR13_SID$V_PATCH_REV = 9 ! Patch revision number PARAMETER PR13_SID$S_TYPE = 8 PARAMETER PR13_SID$V_TYPE = 24 BYTE %FILL (3) ! CPU type code (19 decimal for NVAX) END MAP ! System-level required registers. ! These registers are for testability and diagnostics use only. ! They should not be referenced in normal operation. MAP PARAMETER PR13_IAK$S_IPL17 = 1 PARAMETER PR13_IAK$V_IPL17 = 0 ! Force IPL 17, independent of actual level PARAMETER PR13_IAK$S_PR = 1 PARAMETER PR13_IAK$V_PR = 1 ! Passive release PARAMETER PR13_IAK$S_SCB_OFFSET = 14 PARAMETER PR13_IAK$V_SCB_OFFSET = 2 ! LW offset in SCB of interrupt vector BYTE %FILL (2) END MAP ! Ebox register definition MAP PARAMETER PR13_INTSYS$S_ICCS6 = 1 PARAMETER PR13_INTSYS$V_ICCS6 = 0 ! ICCS<6> (RO) PARAMETER PR13_INTSYS$S_SISR = 15 PARAMETER PR13_INTSYS$V_SISR = 1 ! SISR<15:1> (RO) PARAMETER PR13_INTSYS$S_INT_ID = 5 PARAMETER PR13_INTSYS$V_INT_ID = 16 ! ID of highest pending interrupt (RO) PARAMETER PR13_INTSYS$S_INT_TIM_RESET = 1 PARAMETER PR13_INTSYS$V_INT_TIM_RESET = 24 ! Interval timer interrupt reset (WC) PARAMETER PR13_INTSYS$S_S_ERR_RESET = 1 PARAMETER PR13_INTSYS$V_S_ERR_RESET = 27 ! Soft error interrupt reset (WC) PARAMETER PR13_INTSYS$S_PMON_RESET = 1 PARAMETER PR13_INTSYS$V_PMON_RESET = 28 ! Performance monitoring interrupt reset (WC) PARAMETER PR13_INTSYS$S_H_ERR_RESET = 1 PARAMETER PR13_INTSYS$V_H_ERR_RESET = 29 ! Hard error interrupt reset (WC) PARAMETER PR13_INTSYS$S_PWRFL_RESET = 1 PARAMETER PR13_INTSYS$V_PWRFL_RESET = 30 ! Power fail interrupt reset (WC) PARAMETER PR13_INTSYS$S_HALT_RESET = 1 PARAMETER PR13_INTSYS$V_HALT_RESET = 31 BYTE %FILL (4) ! Halt pin interrupt reset (WC) END MAP MAP PARAMETER PR13_PMFCNT$S_PMCTR0 = 16 PARAMETER PR13_PMFCNT$V_PMCTR0 = 0 ! PMCTR0 word PARAMETER PR13_PMFCNT$S_PMCTR1 = 16 PARAMETER PR13_PMFCNT$V_PMCTR1 = 16 BYTE %FILL (4) ! PMCTR1 word END MAP MAP PARAMETER PR13_PCSCR$S_PAR_PORT_DIS = 1 PARAMETER PR13_PCSCR$V_PAR_PORT_DIS = 8 ! Disable parallel port control of scan chain (RW) PARAMETER PR13_PCSCR$S_PCS_ENB = 1 PARAMETER PR13_PCSCR$V_PCS_ENB = 9 ! Enable use of patchable control store (RW) PARAMETER PR13_PCSCR$S_PCS_WRITE = 1 PARAMETER PR13_PCSCR$V_PCS_WRITE = 10 ! Write scan chain to patchable control store (WO) PARAMETER PR13_PCSCR$S_RWL_SHIFT = 1 PARAMETER PR13_PCSCR$V_RWL_SHIFT = 11 ! Shift read-write latch scan chain by one bit (WO) PARAMETER PR13_PCSCR$S_DATA = 1 PARAMETER PR13_PCSCR$V_DATA = 12 ! Data to be shifted into the PCS scan chain (RW) PARAMETER PR13_PCSCR$S_NONSTANDARD_PATCH = 1 PARAMETER PR13_PCSCR$V_NONSTANDARD_PATCH = 23 ! PCS loaded with a non-standard patch (RW) PARAMETER PR13_PCSCR$S_PATCH_REV = 5 PARAMETER PR13_PCSCR$V_PATCH_REV = 24 ! Patch revision number (RW) BYTE %FILL (2) END MAP MAP PARAMETER PR13_ECR$S_VECTOR_PRESENT = 1 PARAMETER PR13_ECR$V_VECTOR_PRESENT = 0 ! Vector unit present (RW) PARAMETER PR13_ECR$S_FBOX_ENABLE = 1 PARAMETER PR13_ECR$V_FBOX_ENABLE = 1 ! Fbox enabled (RW) PARAMETER PR13_ECR$S_TIMEOUT_EXT = 1 PARAMETER PR13_ECR$V_TIMEOUT_EXT = 2 ! Select external timebase for S3 stall timeout timer (RW) PARAMETER PR13_ECR$S_FBOX_ST4_BYPASS_ENA = 1 PARAMETER PR13_ECR$V_FBOX_ST4_BYPASS_ENA = 3 ! Fbox stage 4 conditional bypass enable (RW) PARAMETER PR13_ECR$S_TIMEOUT_OCCURRED = 1 PARAMETER PR13_ECR$V_TIMEOUT_OCCURRED = 4 ! S3 stall timeout occurred (WC) PARAMETER PR13_ECR$S_TIMEOUT_TEST = 1 PARAMETER PR13_ECR$V_TIMEOUT_TEST = 5 ! Select test mode for S3 stall timeout (RW) PARAMETER PR13_ECR$S_TIMEOUT_CLOCK = 1 PARAMETER PR13_ECR$V_TIMEOUT_CLOCK = 6 ! Clock S3 timeout (RW) PARAMETER PR13_ECR$S_ICCS_EXT = 1 PARAMETER PR13_ECR$V_ICCS_EXT = 7 ! Full ICCS implemented in external logic (RW) PARAMETER PR13_ECR$S_FBOX_TEST_ENABLE = 1 PARAMETER PR13_ECR$V_FBOX_TEST_ENABLE = 13 ! Enable test of Fbox (RW) PARAMETER PR13_ECR$S_PMF_ENABLE = 1 PARAMETER PR13_ECR$V_PMF_ENABLE = 16 ! Performance monitoring facility enable (RW) PARAMETER PR13_ECR$S_PMF_PMUX = 2 PARAMETER PR13_ECR$V_PMF_PMUX = 17 ! Performance monitoring facility master select (RW) PARAMETER PR13_ECR$S_PMF_EMUX = 3 PARAMETER PR13_ECR$V_PMF_EMUX = 19 ! Performance monitoring facility Ebox mux select (RW) PARAMETER PR13_ECR$S_PMF_LFSR = 1 PARAMETER PR13_ECR$V_PMF_LFSR = 22 ! Performance monitoring facility Wbus LFSR enable (RW) PARAMETER PR13_ECR$S_PMF_CLEAR = 1 PARAMETER PR13_ECR$V_PMF_CLEAR = 31 BYTE %FILL (3) ! Clear performance monitoring hardware counters (WO) END MAP ! Mbox TB registers. ! These registers are for testability and diagnostics use only. ! They should not be referenced in normal operation. MAP PARAMETER PR13_MTBTAG$S_TP = 1 PARAMETER PR13_MTBTAG$V_TP = 0 ! Tag parity bit PARAMETER PR13_MTBTAG$S_VPN = 23 PARAMETER PR13_MTBTAG$V_VPN = 9 BYTE %FILL (3) ! Virtual page number of address (VA<31:9>) END MAP MAP PARAMETER PR13_MTBPTE$S_PFN = 23 PARAMETER PR13_MTBPTE$V_PFN = 0 ! Page frame number (PA<31:9>) PARAMETER PR13_MTBPTE$S_P = 1 PARAMETER PR13_MTBPTE$V_P = 24 ! PTE parity PARAMETER PR13_MTBPTE$S_M = 1 PARAMETER PR13_MTBPTE$V_M = 26 ! Modify bit PARAMETER PR13_MTBPTE$S_PROT = 2 PARAMETER PR13_MTBPTE$V_PROT = 27 ! Protection field PARAMETER PR13_MTBPTE$S_V = 1 PARAMETER PR13_MTBPTE$V_V = 29 ! PTE valid bit BYTE %FILL (4) END MAP ! Vector architecture registers MAP PARAMETER PR13_VPSR$S_VEN = 1 PARAMETER PR13_VPSR$V_VEN = 0 ! Vector processor enabled (RW) PARAMETER PR13_VPSR$S_RST = 1 PARAMETER PR13_VPSR$V_RST = 1 ! Vector processor state reset (WO) PARAMETER PR13_VPSR$S_AEX = 1 PARAMETER PR13_VPSR$V_AEX = 7 ! Vector arithmetic exception (WC) PARAMETER PR13_VPSR$S_IMP = 1 PARAMETER PR13_VPSR$V_IMP = 24 ! Implementation-specific hardware error (WC) PARAMETER PR13_VPSR$S_BSY = 1 PARAMETER PR13_VPSR$V_BSY = 31 BYTE %FILL (1) ! Vector processor busy (RO) END MAP MAP PARAMETER PR13_VAER$S_F_UNDF = 1 PARAMETER PR13_VAER$V_F_UNDF = 0 ! Floating underflow PARAMETER PR13_VAER$S_F_DIVZ = 1 PARAMETER PR13_VAER$V_F_DIVZ = 1 ! Floating divide-by-zero PARAMETER PR13_VAER$S_F_ROPR = 1 PARAMETER PR13_VAER$V_F_ROPR = 2 ! Floating reserved operand PARAMETER PR13_VAER$S_F_OVFL = 1 PARAMETER PR13_VAER$V_F_OVFL = 3 ! Floating overflow PARAMETER PR13_VAER$S_I_OVFL = 1 PARAMETER PR13_VAER$V_I_OVFL = 5 ! Integer overflow PARAMETER PR13_VAER$S_REGISTER_MASK = 16 PARAMETER PR13_VAER$V_REGISTER_MASK = 16 BYTE %FILL (3) ! Vector destination register mask END MAP MAP PARAMETER PR13_CCTL$S_ENABLE = 1 PARAMETER PR13_CCTL$V_ENABLE = 0 ! Enable Bcache (RW) PARAMETER PR13_CCTL$S_TAG_SPEED = 1 PARAMETER PR13_CCTL$V_TAG_SPEED = 1 ! Tag RAM speed (RW) PARAMETER PR13_CCTL$S_DATA_SPEED = 2 PARAMETER PR13_CCTL$V_DATA_SPEED = 2 ! Data RAM speed (RW) PARAMETER PR13_CCTL$S_SIZE = 2 PARAMETER PR13_CCTL$V_SIZE = 4 ! Bcache size (RW) PARAMETER PR13_CCTL$S_FORCE_HIT = 1 PARAMETER PR13_CCTL$V_FORCE_HIT = 6 ! Force Bcache hit (RW) PARAMETER PR13_CCTL$S_DISABLE_ERRORS = 1 PARAMETER PR13_CCTL$V_DISABLE_ERRORS = 7 ! Disable Bcache ECC errors (RW) PARAMETER PR13_CCTL$S_SW_ECC = 1 PARAMETER PR13_CCTL$V_SW_ECC = 8 ! Enable use of software ECC (RW) PARAMETER PR13_CCTL$S_TIMEOUT_TEST = 1 PARAMETER PR13_CCTL$V_TIMEOUT_TEST = 9 ! Enable test of Cbox read timeout counters (RW) PARAMETER PR13_CCTL$S_DISABLE_PACK = 1 PARAMETER PR13_CCTL$V_DISABLE_PACK = 10 ! Disable write packing (RW) PARAMETER PR13_CCTL$S_PM_ACCESS_TYPE = 3 PARAMETER PR13_CCTL$V_PM_ACCESS_TYPE = 11 ! Performance monitoring access type (RW) PARAMETER PR13_CCTL$S_PM_HIT_TYPE = 2 PARAMETER PR13_CCTL$V_PM_HIT_TYPE = 14 ! Performance monitoring hit type (RW) PARAMETER PR13_CCTL$S_FORCE_NDAL_PERR = 1 PARAMETER PR13_CCTL$V_FORCE_NDAL_PERR = 16 ! Forces 1 parity error on the NDAL, on next outgoing transaction PARAMETER PR13_CCTL$S_SW_ETM = 1 PARAMETER PR13_CCTL$V_SW_ETM = 30 ! Enter software error transition mode (RW) PARAMETER PR13_CCTL$S_HW_ETM = 1 PARAMETER PR13_CCTL$V_HW_ETM = 31 BYTE %FILL (3) ! Error transition mode entered due to error (WC) END MAP MAP PARAMETER PR13_BCDECC$S_ECCLO = 4 PARAMETER PR13_BCDECC$V_ECCLO = 6 ! ECC check bits <3:0> PARAMETER PR13_BCDECC$S_ECCHI = 4 PARAMETER PR13_BCDECC$V_ECCHI = 22 ! ECC check bits <7:4> BYTE %FILL (1) END MAP ! Cbox registers, continued MAP PARAMETER PR13_BCETSTS$S_LOCK = 1 PARAMETER PR13_BCETSTS$V_LOCK = 0 ! Tag store registers are locked due to an error (WC) PARAMETER PR13_BCETSTS$S_CORR = 1 PARAMETER PR13_BCETSTS$V_CORR = 1 ! Correctable error occurred (WC) PARAMETER PR13_BCETSTS$S_UNCORR = 1 PARAMETER PR13_BCETSTS$V_UNCORR = 2 ! Uncorrectable error occurred (WC) PARAMETER PR13_BCETSTS$S_BAD_ADDR = 1 PARAMETER PR13_BCETSTS$V_BAD_ADDR = 3 ! Addressing error occurred (WC) PARAMETER PR13_BCETSTS$S_LOST_ERR = 1 PARAMETER PR13_BCETSTS$V_LOST_ERR = 4 ! Error occured while register was locked (WC) PARAMETER PR13_BCETSTS$S_TS_CMD = 5 PARAMETER PR13_BCETSTS$V_TS_CMD = 5 ! Tag store command which caused error (RO) BYTE %FILL (2) END MAP MAP PARAMETER PR13_BCETAG$S_VALID = 1 PARAMETER PR13_BCETAG$V_VALID = 9 ! Valid bit PARAMETER PR13_BCETAG$S_OWNED = 1 PARAMETER PR13_BCETAG$V_OWNED = 10 ! Ownership bit PARAMETER PR13_BCETAG$S_ECC = 6 PARAMETER PR13_BCETAG$V_ECC = 11 ! ECC bits PARAMETER PR13_BCETAG$S_TAG = 15 PARAMETER PR13_BCETAG$V_TAG = 17 BYTE %FILL (3) ! tag data END MAP ! Cbox registers, continued MAP PARAMETER PR13_BCEDSTS$S_LOCK = 1 PARAMETER PR13_BCEDSTS$V_LOCK = 0 ! Data RAM registers are locked due to an error (WC) PARAMETER PR13_BCEDSTS$S_CORR = 1 PARAMETER PR13_BCEDSTS$V_CORR = 1 ! Correctable ECC error occurred (WC) PARAMETER PR13_BCEDSTS$S_UNCORR = 1 PARAMETER PR13_BCEDSTS$V_UNCORR = 2 ! Uncorrectable ECC error occurred (WC) PARAMETER PR13_BCEDSTS$S_BAD_ADDR = 1 PARAMETER PR13_BCEDSTS$V_BAD_ADDR = 3 ! Addressing error occurred (WC) PARAMETER PR13_BCEDSTS$S_LOST_ERR = 1 PARAMETER PR13_BCEDSTS$V_LOST_ERR = 4 ! Error occurred while register was locked (WC) PARAMETER PR13_BCEDSTS$S_DR_CMD = 4 PARAMETER PR13_BCEDSTS$V_DR_CMD = 8 ! Data RAM command which caused error (RO) BYTE %FILL (2) END MAP MAP PARAMETER PR13_BCEDECC$S_ECCLO = 4 PARAMETER PR13_BCEDECC$V_ECCLO = 6 ! Bcache data ECC syndrome bits <3:0> PARAMETER PR13_BCEDECC$S_ECCHI = 4 PARAMETER PR13_BCEDECC$V_ECCHI = 22 ! Bcache data ECC syndrome bits <7:4> BYTE %FILL (1) END MAP ! Cbox registers, continued MAP PARAMETER PR13_CEFSTS$S_RDLK = 1 PARAMETER PR13_CEFSTS$V_RDLK = 0 ! Error occurred during a read lock (WC) PARAMETER PR13_CEFSTS$S_LOCK = 1 PARAMETER PR13_CEFSTS$V_LOCK = 1 ! CEFSTS & CEFADR registers are locked due to an error (WC) PARAMETER PR13_CEFSTS$S_TIMEOUT = 1 PARAMETER PR13_CEFSTS$V_TIMEOUT = 2 ! Fill failed due to transaction timeout (WC) PARAMETER PR13_CEFSTS$S_RDE = 1 PARAMETER PR13_CEFSTS$V_RDE = 3 ! Fill failed due to Read Data Error (WC) PARAMETER PR13_CEFSTS$S_LOST_ERR = 1 PARAMETER PR13_CEFSTS$V_LOST_ERR = 4 ! Error occurred while register was locked (WC) PARAMETER PR13_CEFSTS$S_ID0 = 1 PARAMETER PR13_CEFSTS$V_ID0 = 5 ! NDAL id<0> for failed read (RO) PARAMETER PR13_CEFSTS$S_IREAD = 1 PARAMETER PR13_CEFSTS$V_IREAD = 6 ! Error occured during an IREAD (RO) PARAMETER PR13_CEFSTS$S_OREAD = 1 PARAMETER PR13_CEFSTS$V_OREAD = 7 ! Error occurred during an OREAD (RO) PARAMETER PR13_CEFSTS$S_WRITE = 1 PARAMETER PR13_CEFSTS$V_WRITE = 8 ! Error occurred during a write (RO) PARAMETER PR13_CEFSTS$S_TO_MBOX = 1 PARAMETER PR13_CEFSTS$V_TO_MBOX = 9 ! Data was destined for the Mbox (RO) PARAMETER PR13_CEFSTS$S_RIP = 1 PARAMETER PR13_CEFSTS$V_RIP = 10 ! READ invalidate was pending (RO) PARAMETER PR13_CEFSTS$S_OIP = 1 PARAMETER PR13_CEFSTS$V_OIP = 11 ! OREAD invalidate was pending (RO) PARAMETER PR13_CEFSTS$S_DNF = 1 PARAMETER PR13_CEFSTS$V_DNF = 12 ! Data was not to be validated when fill completed (RO) PARAMETER PR13_CEFSTS$S_RDLK_FL_DONE = 1 PARAMETER PR13_CEFSTS$V_RDLK_FL_DONE = 13 ! Last fill for read lock received (RO) PARAMETER PR13_CEFSTS$S_REQ_FILL_DONE = 1 PARAMETER PR13_CEFSTS$V_REQ_FILL_DONE = 14 ! Requested fill quadword was received for this read. PARAMETER PR13_CEFSTS$S_COUNT = 2 PARAMETER PR13_CEFSTS$V_COUNT = 15 ! Number of requested QW of fill received (RO) PARAMETER PR13_CEFSTS$S_UNEXPECTED_FILL = 1 PARAMETER PR13_CEFSTS$V_UNEXPECTED_FILL = 21 ! RDE or RDR was received from the NDAL when fill_cam not valid (WC) BYTE %FILL (3) END MAP ! Cbox registers, continued MAP PARAMETER PR13_NESTS$S_NOACK = 1 PARAMETER PR13_NESTS$V_NOACK = 0 ! Outgoing command was NACKed (WC) PARAMETER PR13_NESTS$S_BADWDATA = 1 PARAMETER PR13_NESTS$V_BADWDATA = 1 ! BADWDATA cycle transmitted (WC) PARAMETER PR13_NESTS$S_LOST_OERR = 1 PARAMETER PR13_NESTS$V_LOST_OERR = 2 ! Outgoing error was lost while register was locked (WC) PARAMETER PR13_NESTS$S_PERR = 1 PARAMETER PR13_NESTS$V_PERR = 3 ! NDAL parity error detected (WC) PARAMETER PR13_NESTS$S_INCON_PERR = 1 PARAMETER PR13_NESTS$V_INCON_PERR = 4 ! Inconsistent parity error (parity error detected on PARAMETER PR13_NESTS$S_LOST_PERR = 1 PARAMETER PR13_NESTS$V_LOST_PERR = 5 ! NDAL parity error detected while register was locked (WC) ! ACKed transaction) (WC) BYTE %FILL (1) END MAP MAP PARAMETER PR13_NEOCMD$S_CMD = 4 PARAMETER PR13_NEOCMD$V_CMD = 0 ! NDAL command on outgoing error transaction (see below) PARAMETER PR13_NEOCMD$S_ID = 3 PARAMETER PR13_NEOCMD$V_ID = 4 ! NDAL ID on outgoing error transaction PARAMETER PR13_NEOCMD$S_BYTE_EN = 8 PARAMETER PR13_NEOCMD$V_BYTE_EN = 8 ! Byte enables on outgoing error transaction PARAMETER PR13_NEOCMD$S_LEN = 2 PARAMETER PR13_NEOCMD$V_LEN = 30 BYTE %FILL (3) ! Length on outgoing error transaction (see below) END MAP MAP PARAMETER PR13_NEICMD$S_CMD = 4 PARAMETER PR13_NEICMD$V_CMD = 0 ! NDAL command received on error transaction (see below) PARAMETER PR13_NEICMD$S_ID = 3 PARAMETER PR13_NEICMD$V_ID = 4 ! NDAL ID received error on transaction PARAMETER PR13_NEICMD$S_PARITY = 3 PARAMETER PR13_NEICMD$V_PARITY = 7 ! NDAL parity bits received error on transaction BYTE %FILL (2) END MAP ! Encoded NDAL length values MAP PARAMETER PR13_BCTAG$S_VALID = 1 PARAMETER PR13_BCTAG$V_VALID = 9 ! Valid bit (RW) PARAMETER PR13_BCTAG$S_OWNED = 1 PARAMETER PR13_BCTAG$V_OWNED = 10 ! Ownership bit (RW) PARAMETER PR13_BCTAG$S_ECC = 6 PARAMETER PR13_BCTAG$V_ECC = 11 ! ECC bits (RW) PARAMETER PR13_BCTAG$S_TAG = 15 PARAMETER PR13_BCTAG$V_TAG = 17 BYTE %FILL (3) ! tag data (RW) END MAP MAP PARAMETER PR13_VMAR$S_LW = 1 PARAMETER PR13_VMAR$V_LW = 2 ! longword within quadword PARAMETER PR13_VMAR$S_SUB_BLOCK = 2 PARAMETER PR13_VMAR$V_SUB_BLOCK = 3 ! sub-block indicator PARAMETER PR13_VMAR$S_ROW_INDEX = 6 PARAMETER PR13_VMAR$V_ROW_INDEX = 5 ! cache row index PARAMETER PR13_VMAR$S_ADDR = 21 PARAMETER PR13_VMAR$V_ADDR = 11 BYTE %FILL (4) ! error address END MAP MAP PARAMETER PR13_VTAG$S_V = 4 PARAMETER PR13_VTAG$V_V = 0 ! data valid bits PARAMETER PR13_VTAG$S_DP = 4 PARAMETER PR13_VTAG$V_DP = 4 ! data parity bits PARAMETER PR13_VTAG$S_TP = 1 PARAMETER PR13_VTAG$V_TP = 8 ! tag parity bit PARAMETER PR13_VTAG$S_TAG = 21 PARAMETER PR13_VTAG$V_TAG = 11 BYTE %FILL (4) ! tag END MAP MAP PARAMETER PR13_ICSR$S_ENABLE = 1 PARAMETER PR13_ICSR$V_ENABLE = 0 ! VIC enable bit (RW) PARAMETER PR13_ICSR$S_LOCK = 1 PARAMETER PR13_ICSR$V_LOCK = 2 ! Register is locked due to an error (WC) PARAMETER PR13_ICSR$S_DPERR = 1 PARAMETER PR13_ICSR$V_DPERR = 3 ! Data parity error (RO) PARAMETER PR13_ICSR$S_TPERR = 1 PARAMETER PR13_ICSR$V_TPERR = 4 ! Tag parity error (RO) BYTE %FILL (1) END MAP MAP PARAMETER PR13_BPCR$S_HISTORY = 4 PARAMETER PR13_BPCR$V_HISTORY = 0 ! branch history bits PARAMETER PR13_BPCR$S_MISPREDICT = 1 PARAMETER PR13_BPCR$V_MISPREDICT = 5 ! history of last branch PARAMETER PR13_BPCR$S_FLUSH_BHT = 1 PARAMETER PR13_BPCR$V_FLUSH_BHT = 6 ! flush branch history table PARAMETER PR13_BPCR$S_FLUSH_CTR = 1 PARAMETER PR13_BPCR$V_FLUSH_CTR = 7 ! flush branch hist addr counter PARAMETER PR13_BPCR$S_LOAD_HISTORY = 1 PARAMETER PR13_BPCR$V_LOAD_HISTORY = 8 ! write new history to array PARAMETER PR13_BPCR$S_BPU_ALGORITHM = 16 PARAMETER PR13_BPCR$V_BPU_ALGORITHM = 16 BYTE %FILL (3) ! branch prediction algorithm END MAP ! The following two registers are for testability and diagnostics use only. ! They should not be referenced in normal operation. ! These registers are for testability and diagnostics use only. ! In normal operation, the equivalent architecturally-defined registers ! should be used instead. MAP PARAMETER PR13_PAMODE$S_MODE = 1 PARAMETER PR13_PAMODE$V_MODE = 0 ! Addressing mode(1 = 32bit addressing) (RW) BYTE %FILL (1) END MAP MAP PARAMETER PR13_MMESTS$S_LV = 1 PARAMETER PR13_MMESTS$V_LV = 0 ! ACV fault due to length violation PARAMETER PR13_MMESTS$S_PTE_REF = 1 PARAMETER PR13_MMESTS$V_PTE_REF = 1 ! ACV/TNV fault occurred on PPTE reference PARAMETER PR13_MMESTS$S_M = 1 PARAMETER PR13_MMESTS$V_M = 2 ! Reference had write or modify intent PARAMETER PR13_MMESTS$S_FAULT = 2 PARAMETER PR13_MMESTS$V_FAULT = 14 ! Fault type, one of the following: PARAMETER PR13_MMESTS$S_SRC = 3 PARAMETER PR13_MMESTS$V_SRC = 26 ! Shadow copy of LOCK bits (see MSRC$ constants below) PARAMETER PR13_MMESTS$S_LOCK = 3 PARAMETER PR13_MMESTS$V_LOCK = 29 BYTE %FILL (2) ! Lock status (see MSRC$ constant below) END MAP MAP PARAMETER PR13_TBSTS$S_LOCK = 1 PARAMETER PR13_TBSTS$V_LOCK = 0 ! Register is locked due to an error (WC) PARAMETER PR13_TBSTS$S_DPERR = 1 PARAMETER PR13_TBSTS$V_DPERR = 1 ! Data parity error (RO) PARAMETER PR13_TBSTS$S_TPERR = 1 PARAMETER PR13_TBSTS$V_TPERR = 2 ! Tag parity error (RO) PARAMETER PR13_TBSTS$S_EM_VAL = 1 PARAMETER PR13_TBSTS$V_EM_VAL = 3 ! EM latch was valid when error occurred (RO) PARAMETER PR13_TBSTS$S_CMD = 5 PARAMETER PR13_TBSTS$V_CMD = 4 ! S5 command when TB parity error occured (RO) PARAMETER PR13_TBSTS$S_SRC = 3 PARAMETER PR13_TBSTS$V_SRC = 29 BYTE %FILL (2) ! Source of original refernce (see MSRC$ constants below) (RO) END MAP MAP PARAMETER PR13_PCSTS$S_LOCK = 1 PARAMETER PR13_PCSTS$V_LOCK = 0 ! Register is locked due to an error (WC) PARAMETER PR13_PCSTS$S_DPERR = 1 PARAMETER PR13_PCSTS$V_DPERR = 1 ! Data parity error occurred (RO) PARAMETER PR13_PCSTS$S_RIGHT_BANK = 1 PARAMETER PR13_PCSTS$V_RIGHT_BANK = 2 ! Right bank tag parity error occurred (RO) PARAMETER PR13_PCSTS$S_LEFT_BANK = 1 PARAMETER PR13_PCSTS$V_LEFT_BANK = 3 ! Left bank tag parity error occurred (RO) PARAMETER PR13_PCSTS$S_CMD = 5 PARAMETER PR13_PCSTS$V_CMD = 4 ! S6 command when Pcache parity error occured (RO) PARAMETER PR13_PCSTS$S_PTE_ER_WR = 1 PARAMETER PR13_PCSTS$V_PTE_ER_WR = 9 ! Hard error on PTE DREAD occurred (orig ref was WRITE) (WC) PARAMETER PR13_PCSTS$S_PTE_ER = 1 PARAMETER PR13_PCSTS$V_PTE_ER = 10 ! Hard error on PTE DREAD occurred (WC) BYTE %FILL (2) END MAP MAP PARAMETER PR13_PCCTL$S_D_ENABLE = 1 PARAMETER PR13_PCCTL$V_D_ENABLE = 0 ! Enable for invalidate, D-stream read/write/fill (RW) PARAMETER PR13_PCCTL$S_I_ENABLE = 1 PARAMETER PR13_PCCTL$V_I_ENABLE = 1 ! Enable for invalidate, I-stream read/fill (RW) PARAMETER PR13_PCCTL$S_FORCE_HIT = 1 PARAMETER PR13_PCCTL$V_FORCE_HIT = 2 ! Enable force hit on Pcache references (RW) PARAMETER PR13_PCCTL$S_BANK_SEL = 1 PARAMETER PR13_PCCTL$V_BANK_SEL = 3 ! Select left bank if 0, right bank if 1 (RW) PARAMETER PR13_PCCTL$S_P_ENABLE = 1 PARAMETER PR13_PCCTL$V_P_ENABLE = 4 ! Enable parity checking (RW) PARAMETER PR13_PCCTL$S_PMM = 3 PARAMETER PR13_PCCTL$V_PMM = 5 ! Mbox performance monitor mode (RW) PARAMETER PR13_PCCTL$S_ELEC_DISABLE = 1 PARAMETER PR13_PCCTL$V_ELEC_DISABLE = 8 ! Pcache electrical disable bit (RW) PARAMETER PR13_PCCTL$S_RED_ENABLE = 1 PARAMETER PR13_PCCTL$V_RED_ENABLE = 9 ! Redundancy enable bit (RO) BYTE %FILL (2) END MAP MAP PARAMETER PR13_PCTAG$S_A = 1 PARAMETER PR13_PCTAG$V_A = 0 ! Allocation bit corresponding to index of this tag (RW) PARAMETER PR13_PCTAG$S_V = 4 PARAMETER PR13_PCTAG$V_V = 1 ! Valid bits corresponding to the 4 data subblocks (RW) PARAMETER PR13_PCTAG$S_P = 1 PARAMETER PR13_PCTAG$V_P = 5 ! Tag parity (RW) PARAMETER PR13_PCTAG$S_TAG = 20 PARAMETER PR13_PCTAG$V_TAG = 12 BYTE %FILL (4) ! Tag bits (RW) END MAP MAP PARAMETER PR13_PCDAP$S_DATA_PARITY = 8 PARAMETER PR13_PCDAP$V_DATA_PARITY = 0 ! Even byte parity for the addressed quadword (RW) BYTE %FILL (1) END MAP END UNION END STRUCTURE ! PR13DEF CDEC$ END OPTIONS