Alls CSRS tested (Read only)

This commit is contained in:
Matthew 2024-06-12 10:28:42 -05:00
parent 31f437b429
commit 6f1f3b719a
3 changed files with 138 additions and 3 deletions

View File

@ -240,7 +240,142 @@ class OpenOCD:
# Register alias to regno translation table
register_translations = {
"MISA" : "0x0301",
"FFLAGS" : "0x0001",
"FRM" : "0x0002",
"FCSR" : "0x0003",
"MSTATUS" : "0x0300",
"MISA" : "0x0301",
"MEDELEG" : "0x0302",
"MIDELEG" : "0x0303",
"MIE" : "0x0304",
"MTVEC" : "0x0305",
"MCOUNTEREN" : "0x0306",
"MENVCFG" : "0x030A",
"MSTATUSH" : "0x0310",
"MENVCFGH" : "0x031A",
"MCOUNTINHIBIT" : "0x0320",
"MSCRATCH" : "0x0340",
"MEPC" : "0x0341",
"MCAUSE" : "0x0342",
"MTVAL" : "0x0343",
"MIP" : "0x0344",
"PMPCFG0" : "0x03A0",
"PMPCFG1" : "0x03A1",
"PMPCFG2" : "0x03A2",
"PMPCFG3" : "0x03A3",
"PMPCFG4" : "0x03A4",
"PMPCFG5" : "0x03A5",
"PMPCFG6" : "0x03A6",
"PMPCFG7" : "0x03A7",
"PMPCFG8" : "0x03A8",
"PMPCFG9" : "0x03A9",
"PMPCFGA" : "0x03AA",
"PMPCFGB" : "0x03AB",
"PMPCFGC" : "0x03AC",
"PMPCFGD" : "0x03AD",
"PMPCFGE" : "0x03AE",
"PMPCFGF" : "0x03AF",
"PMPADDR0" : "0x03B0",
"PMPADDR1" : "0x03B1",
"PMPADDR2" : "0x03B2",
"PMPADDR3" : "0x03B3",
"PMPADDR4" : "0x03B4",
"PMPADDR5" : "0x03B5",
"PMPADDR6" : "0x03B6",
"PMPADDR7" : "0x03B7",
"PMPADDR8" : "0x03B8",
"PMPADDR9" : "0x03B9",
"PMPADDRA" : "0x03BA",
"PMPADDRB" : "0x03BB",
"PMPADDRC" : "0x03BC",
"PMPADDRD" : "0x03BD",
"PMPADDRE" : "0x03BE",
"PMPADDRF" : "0x03BF",
"PMPADDR10" : "0x03C0",
"PMPADDR11" : "0x03C1",
"PMPADDR12" : "0x03C2",
"PMPADDR13" : "0x03C3",
"PMPADDR14" : "0x03C4",
"PMPADDR15" : "0x03C5",
"PMPADDR16" : "0x03C6",
"PMPADDR17" : "0x03C7",
"PMPADDR18" : "0x03C8",
"PMPADDR19" : "0x03C9",
"PMPADDR1A" : "0x03CA",
"PMPADDR1B" : "0x03CB",
"PMPADDR1C" : "0x03CC",
"PMPADDR1D" : "0x03CD",
"PMPADDR1E" : "0x03CE",
"PMPADDR1F" : "0x03CF",
"PMPADDR20" : "0x03D0",
"PMPADDR21" : "0x03D1",
"PMPADDR22" : "0x03D2",
"PMPADDR23" : "0x03D3",
"PMPADDR24" : "0x03D4",
"PMPADDR25" : "0x03D5",
"PMPADDR26" : "0x03D6",
"PMPADDR27" : "0x03D7",
"PMPADDR28" : "0x03D8",
"PMPADDR29" : "0x03D9",
"PMPADDR2A" : "0x03DA",
"PMPADDR2B" : "0x03DB",
"PMPADDR2C" : "0x03DC",
"PMPADDR2D" : "0x03DD",
"PMPADDR2E" : "0x03DE",
"PMPADDR2F" : "0x03DF",
"PMPADDR30" : "0x03E0",
"PMPADDR31" : "0x03E1",
"PMPADDR32" : "0x03E2",
"PMPADDR33" : "0x03E3",
"PMPADDR34" : "0x03E4",
"PMPADDR35" : "0x03E5",
"PMPADDR36" : "0x03E6",
"PMPADDR37" : "0x03E7",
"PMPADDR38" : "0x03E8",
"PMPADDR39" : "0x03E9",
"PMPADDR3A" : "0x03EA",
"PMPADDR3B" : "0x03EB",
"PMPADDR3C" : "0x03EC",
"PMPADDR3D" : "0x03ED",
"PMPADDR3E" : "0x03EE",
"PMPADDR3F" : "0x03EF",
"TSELECT" : "0x07A0",
"TDATA1" : "0x07A1",
"TDATA2" : "0x07A2",
"TDATA3" : "0x07A3",
"DCSR" : "0x07B0",
"DPC" : "0x07B1",
"MVENDORID" : "0x0F11",
"MARCHID" : "0x0F12",
"MIMPID" : "0x0F13",
"MHARTID" : "0x0F14",
"MCONFIGPTR" : "0x0F15",
"SIP" : "0x0144",
"MIP" : "0x0344",
"MHPMEVENTBASE" : "0x0320",
"MHPMCOUNTERBASE" : "0x0B00",
"MHPMCOUNTERHBASE" : "0x0B80",
"HPMCOUNTERBASE" : "0x0C00",
"TIME" : "0x0C01",
"HPMCOUNTERHBASE" : "0x0C80",
"TIMEH" : "0x0C81",
"SSTATUS" : "0x0100",
"SIE" : "0x0104",
"STVEC" : "0x0105",
"SCOUNTEREN" : "0x0106",
"SENVCFG" : "0x010A",
"SSCRATCH" : "0x0140",
"SEPC" : "0x0141",
"SCAUSE" : "0x0142",
"STVAL" : "0x0143",
"SIP" : "0x0144",
"STIMECMP" : "0x014D",
"STIMECMPH" : "0x015D",
"SATP" : "0x0180",
"SIE" : "0x0104",
"SIP" : "0x0144",
"MIE" : "0x0304",
"MIP" : "0x0344",
"TRAPM" : "0xC000",
"PCM" : "0xC001",
"INSTRM" : "0xC002",

View File

@ -183,7 +183,7 @@
`define PMPCFGF_REGNO 16'h03AF
`define PMPADDR0_REGNO 16'h03B0// P.PA_BITS
//range
`define PMPADDRF_REGNO 16'h03EF
`define PMPADDR3F_REGNO 16'h03EF
`define TSELECT_REGNO 16'h07A0
`define TDATA1_REGNO 16'h07A1

View File

@ -83,7 +83,7 @@ module rad import cvw::*; #(parameter cvw_t P) (
`MENVCFGH_REGNO,
`MCOUNTINHIBIT_REGNO,
[`MSCRATCH_REGNO:`MIP_REGNO],
[`PMPCFG0_REGNO:`PMPADDRF_REGNO], // TODO This is variable len (P.PA_BITS)?
[`PMPCFG0_REGNO:`PMPADDR3F_REGNO], // TODO This is variable len (P.PA_BITS)?
[`TSELECT_REGNO:`TDATA3_REGNO],
[`DCSR_REGNO:`DPC_REGNO],
`SIP_REGNO,