]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj/riscv: add riscv64 CSR map
authorMark Ryan <markdryan@rivosinc.com>
Tue, 19 Nov 2024 15:06:03 +0000 (16:06 +0100)
committerMeng Zhuo <mengzhuo1203@gmail.com>
Sat, 1 Mar 2025 12:59:21 +0000 (04:59 -0800)
The map is automatically generated by running the latest version of
parse.py from github.com/riscv/riscv-opcodes.

Change-Id: I05e00ab27ec583750752c25e1835c2578b339fbf
Reviewed-on: https://go-review.googlesource.com/c/go/+/630518
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Pengcheng Wang <wangpengcheng.pp@bytedance.com>
Reviewed-by: Meng Zhuo <mengzhuo1203@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Joel Sing <joel@sing.id.au>
Reviewed-by: Michael Pratt <mpratt@google.com>
src/cmd/internal/obj/riscv/inst.go

index 2d9132e5326441b1dae0546efdb1f71248f85270..5ee5bda361f08e89128ee04007cb1a8ac186fc2c 100644 (file)
@@ -1229,3 +1229,335 @@ func encode(a obj.As) *inst {
        }
        return nil
 }
+
+var csrs = map[uint16]string{
+       0x1:   "FFLAGS",
+       0x2:   "FRM",
+       0x3:   "FCSR",
+       0x7:   "UTVT",
+       0x8:   "VSTART",
+       0x9:   "VXSAT",
+       0xa:   "VXRM",
+       0xf:   "VCSR",
+       0x11:  "SSP",
+       0x15:  "SEED",
+       0x17:  "JVT",
+       0x45:  "UNXTI",
+       0x46:  "UINTSTATUS",
+       0x48:  "USCRATCHCSW",
+       0x49:  "USCRATCHCSWL",
+       0x100: "SSTATUS",
+       0x102: "SEDELEG",
+       0x103: "SIDELEG",
+       0x104: "SIE",
+       0x105: "STVEC",
+       0x106: "SCOUNTEREN",
+       0x107: "STVT",
+       0x10a: "SENVCFG",
+       0x10c: "SSTATEEN0",
+       0x10d: "SSTATEEN1",
+       0x10e: "SSTATEEN2",
+       0x10f: "SSTATEEN3",
+       0x120: "SCOUNTINHIBIT",
+       0x140: "SSCRATCH",
+       0x141: "SEPC",
+       0x142: "SCAUSE",
+       0x143: "STVAL",
+       0x144: "SIP",
+       0x145: "SNXTI",
+       0x146: "SINTSTATUS",
+       0x148: "SSCRATCHCSW",
+       0x149: "SSCRATCHCSWL",
+       0x14d: "STIMECMP",
+       0x14e: "SCTRCTL",
+       0x14f: "SCTRSTATUS",
+       0x150: "SISELECT",
+       0x151: "SIREG",
+       0x152: "SIREG2",
+       0x153: "SIREG3",
+       0x155: "SIREG4",
+       0x156: "SIREG5",
+       0x157: "SIREG6",
+       0x15c: "STOPEI",
+       0x15f: "SCTRDEPTH",
+       0x180: "SATP",
+       0x181: "SRMCFG",
+       0x200: "VSSTATUS",
+       0x204: "VSIE",
+       0x205: "VSTVEC",
+       0x240: "VSSCRATCH",
+       0x241: "VSEPC",
+       0x242: "VSCAUSE",
+       0x243: "VSTVAL",
+       0x244: "VSIP",
+       0x24d: "VSTIMECMP",
+       0x24e: "VSCTRCTL",
+       0x250: "VSISELECT",
+       0x251: "VSIREG",
+       0x252: "VSIREG2",
+       0x253: "VSIREG3",
+       0x255: "VSIREG4",
+       0x256: "VSIREG5",
+       0x257: "VSIREG6",
+       0x25c: "VSTOPEI",
+       0x280: "VSATP",
+       0x300: "MSTATUS",
+       0x301: "MISA",
+       0x302: "MEDELEG",
+       0x303: "MIDELEG",
+       0x304: "MIE",
+       0x305: "MTVEC",
+       0x306: "MCOUNTEREN",
+       0x307: "MTVT",
+       0x308: "MVIEN",
+       0x309: "MVIP",
+       0x30a: "MENVCFG",
+       0x30c: "MSTATEEN0",
+       0x30d: "MSTATEEN1",
+       0x30e: "MSTATEEN2",
+       0x30f: "MSTATEEN3",
+       0x320: "MCOUNTINHIBIT",
+       0x321: "MCYCLECFG",
+       0x322: "MINSTRETCFG",
+       0x323: "MHPMEVENT3",
+       0x324: "MHPMEVENT4",
+       0x325: "MHPMEVENT5",
+       0x326: "MHPMEVENT6",
+       0x327: "MHPMEVENT7",
+       0x328: "MHPMEVENT8",
+       0x329: "MHPMEVENT9",
+       0x32a: "MHPMEVENT10",
+       0x32b: "MHPMEVENT11",
+       0x32c: "MHPMEVENT12",
+       0x32d: "MHPMEVENT13",
+       0x32e: "MHPMEVENT14",
+       0x32f: "MHPMEVENT15",
+       0x330: "MHPMEVENT16",
+       0x331: "MHPMEVENT17",
+       0x332: "MHPMEVENT18",
+       0x333: "MHPMEVENT19",
+       0x334: "MHPMEVENT20",
+       0x335: "MHPMEVENT21",
+       0x336: "MHPMEVENT22",
+       0x337: "MHPMEVENT23",
+       0x338: "MHPMEVENT24",
+       0x339: "MHPMEVENT25",
+       0x33a: "MHPMEVENT26",
+       0x33b: "MHPMEVENT27",
+       0x33c: "MHPMEVENT28",
+       0x33d: "MHPMEVENT29",
+       0x33e: "MHPMEVENT30",
+       0x33f: "MHPMEVENT31",
+       0x340: "MSCRATCH",
+       0x341: "MEPC",
+       0x342: "MCAUSE",
+       0x343: "MTVAL",
+       0x344: "MIP",
+       0x345: "MNXTI",
+       0x346: "MINTSTATUS",
+       0x348: "MSCRATCHCSW",
+       0x349: "MSCRATCHCSWL",
+       0x34a: "MTINST",
+       0x34b: "MTVAL2",
+       0x34e: "MCTRCTL",
+       0x350: "MISELECT",
+       0x351: "MIREG",
+       0x352: "MIREG2",
+       0x353: "MIREG3",
+       0x355: "MIREG4",
+       0x356: "MIREG5",
+       0x357: "MIREG6",
+       0x35c: "MTOPEI",
+       0x3a0: "PMPCFG0",
+       0x3a1: "PMPCFG1",
+       0x3a2: "PMPCFG2",
+       0x3a3: "PMPCFG3",
+       0x3a4: "PMPCFG4",
+       0x3a5: "PMPCFG5",
+       0x3a6: "PMPCFG6",
+       0x3a7: "PMPCFG7",
+       0x3a8: "PMPCFG8",
+       0x3a9: "PMPCFG9",
+       0x3aa: "PMPCFG10",
+       0x3ab: "PMPCFG11",
+       0x3ac: "PMPCFG12",
+       0x3ad: "PMPCFG13",
+       0x3ae: "PMPCFG14",
+       0x3af: "PMPCFG15",
+       0x3b0: "PMPADDR0",
+       0x3b1: "PMPADDR1",
+       0x3b2: "PMPADDR2",
+       0x3b3: "PMPADDR3",
+       0x3b4: "PMPADDR4",
+       0x3b5: "PMPADDR5",
+       0x3b6: "PMPADDR6",
+       0x3b7: "PMPADDR7",
+       0x3b8: "PMPADDR8",
+       0x3b9: "PMPADDR9",
+       0x3ba: "PMPADDR10",
+       0x3bb: "PMPADDR11",
+       0x3bc: "PMPADDR12",
+       0x3bd: "PMPADDR13",
+       0x3be: "PMPADDR14",
+       0x3bf: "PMPADDR15",
+       0x3c0: "PMPADDR16",
+       0x3c1: "PMPADDR17",
+       0x3c2: "PMPADDR18",
+       0x3c3: "PMPADDR19",
+       0x3c4: "PMPADDR20",
+       0x3c5: "PMPADDR21",
+       0x3c6: "PMPADDR22",
+       0x3c7: "PMPADDR23",
+       0x3c8: "PMPADDR24",
+       0x3c9: "PMPADDR25",
+       0x3ca: "PMPADDR26",
+       0x3cb: "PMPADDR27",
+       0x3cc: "PMPADDR28",
+       0x3cd: "PMPADDR29",
+       0x3ce: "PMPADDR30",
+       0x3cf: "PMPADDR31",
+       0x3d0: "PMPADDR32",
+       0x3d1: "PMPADDR33",
+       0x3d2: "PMPADDR34",
+       0x3d3: "PMPADDR35",
+       0x3d4: "PMPADDR36",
+       0x3d5: "PMPADDR37",
+       0x3d6: "PMPADDR38",
+       0x3d7: "PMPADDR39",
+       0x3d8: "PMPADDR40",
+       0x3d9: "PMPADDR41",
+       0x3da: "PMPADDR42",
+       0x3db: "PMPADDR43",
+       0x3dc: "PMPADDR44",
+       0x3dd: "PMPADDR45",
+       0x3de: "PMPADDR46",
+       0x3df: "PMPADDR47",
+       0x3e0: "PMPADDR48",
+       0x3e1: "PMPADDR49",
+       0x3e2: "PMPADDR50",
+       0x3e3: "PMPADDR51",
+       0x3e4: "PMPADDR52",
+       0x3e5: "PMPADDR53",
+       0x3e6: "PMPADDR54",
+       0x3e7: "PMPADDR55",
+       0x3e8: "PMPADDR56",
+       0x3e9: "PMPADDR57",
+       0x3ea: "PMPADDR58",
+       0x3eb: "PMPADDR59",
+       0x3ec: "PMPADDR60",
+       0x3ed: "PMPADDR61",
+       0x3ee: "PMPADDR62",
+       0x3ef: "PMPADDR63",
+       0x5a8: "SCONTEXT",
+       0x600: "HSTATUS",
+       0x602: "HEDELEG",
+       0x603: "HIDELEG",
+       0x604: "HIE",
+       0x605: "HTIMEDELTA",
+       0x606: "HCOUNTEREN",
+       0x607: "HGEIE",
+       0x608: "HVIEN",
+       0x609: "HVICTL",
+       0x60a: "HENVCFG",
+       0x60c: "HSTATEEN0",
+       0x60d: "HSTATEEN1",
+       0x60e: "HSTATEEN2",
+       0x60f: "HSTATEEN3",
+       0x643: "HTVAL",
+       0x644: "HIP",
+       0x645: "HVIP",
+       0x646: "HVIPRIO1",
+       0x647: "HVIPRIO2",
+       0x64a: "HTINST",
+       0x680: "HGATP",
+       0x6a8: "HCONTEXT",
+       0x747: "MSECCFG",
+       0x7a0: "TSELECT",
+       0x7a1: "TDATA1",
+       0x7a2: "TDATA2",
+       0x7a3: "TDATA3",
+       0x7a4: "TINFO",
+       0x7a5: "TCONTROL",
+       0x7a8: "MCONTEXT",
+       0x7aa: "MSCONTEXT",
+       0x7b0: "DCSR",
+       0x7b1: "DPC",
+       0x7b2: "DSCRATCH0",
+       0x7b3: "DSCRATCH1",
+       0xb00: "MCYCLE",
+       0xb02: "MINSTRET",
+       0xb03: "MHPMCOUNTER3",
+       0xb04: "MHPMCOUNTER4",
+       0xb05: "MHPMCOUNTER5",
+       0xb06: "MHPMCOUNTER6",
+       0xb07: "MHPMCOUNTER7",
+       0xb08: "MHPMCOUNTER8",
+       0xb09: "MHPMCOUNTER9",
+       0xb0a: "MHPMCOUNTER10",
+       0xb0b: "MHPMCOUNTER11",
+       0xb0c: "MHPMCOUNTER12",
+       0xb0d: "MHPMCOUNTER13",
+       0xb0e: "MHPMCOUNTER14",
+       0xb0f: "MHPMCOUNTER15",
+       0xb10: "MHPMCOUNTER16",
+       0xb11: "MHPMCOUNTER17",
+       0xb12: "MHPMCOUNTER18",
+       0xb13: "MHPMCOUNTER19",
+       0xb14: "MHPMCOUNTER20",
+       0xb15: "MHPMCOUNTER21",
+       0xb16: "MHPMCOUNTER22",
+       0xb17: "MHPMCOUNTER23",
+       0xb18: "MHPMCOUNTER24",
+       0xb19: "MHPMCOUNTER25",
+       0xb1a: "MHPMCOUNTER26",
+       0xb1b: "MHPMCOUNTER27",
+       0xb1c: "MHPMCOUNTER28",
+       0xb1d: "MHPMCOUNTER29",
+       0xb1e: "MHPMCOUNTER30",
+       0xb1f: "MHPMCOUNTER31",
+       0xc00: "CYCLE",
+       0xc01: "TIME",
+       0xc02: "INSTRET",
+       0xc03: "HPMCOUNTER3",
+       0xc04: "HPMCOUNTER4",
+       0xc05: "HPMCOUNTER5",
+       0xc06: "HPMCOUNTER6",
+       0xc07: "HPMCOUNTER7",
+       0xc08: "HPMCOUNTER8",
+       0xc09: "HPMCOUNTER9",
+       0xc0a: "HPMCOUNTER10",
+       0xc0b: "HPMCOUNTER11",
+       0xc0c: "HPMCOUNTER12",
+       0xc0d: "HPMCOUNTER13",
+       0xc0e: "HPMCOUNTER14",
+       0xc0f: "HPMCOUNTER15",
+       0xc10: "HPMCOUNTER16",
+       0xc11: "HPMCOUNTER17",
+       0xc12: "HPMCOUNTER18",
+       0xc13: "HPMCOUNTER19",
+       0xc14: "HPMCOUNTER20",
+       0xc15: "HPMCOUNTER21",
+       0xc16: "HPMCOUNTER22",
+       0xc17: "HPMCOUNTER23",
+       0xc18: "HPMCOUNTER24",
+       0xc19: "HPMCOUNTER25",
+       0xc1a: "HPMCOUNTER26",
+       0xc1b: "HPMCOUNTER27",
+       0xc1c: "HPMCOUNTER28",
+       0xc1d: "HPMCOUNTER29",
+       0xc1e: "HPMCOUNTER30",
+       0xc1f: "HPMCOUNTER31",
+       0xc20: "VL",
+       0xc21: "VTYPE",
+       0xc22: "VLENB",
+       0xda0: "SCOUNTOVF",
+       0xdb0: "STOPI",
+       0xe12: "HGEIP",
+       0xeb0: "VSTOPI",
+       0xf11: "MVENDORID",
+       0xf12: "MARCHID",
+       0xf13: "MIMPID",
+       0xf14: "MHARTID",
+       0xf15: "MCONFIGPTR",
+       0xfb0: "MTOPI",
+}