mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 09:14:14 +08:00
RISC-V: Add missing privileged spec registers.
gas/ * testsuite/gas/riscv/priv-reg.d, testsuite/gas/riscv/priv-reg.s: New. include/ * opcode/riscv-opc.h (DECLARE_CSR): Add missing privileged registers. Sort to match privileged spec documentation order. (DECLARE_CSR_ALIAS): Add ubadaddr, and comments.
This commit is contained in:
@ -567,6 +567,14 @@
|
||||
#define MASK_CUSTOM3_RD_RS1 0x707f
|
||||
#define MATCH_CUSTOM3_RD_RS1_RS2 0x707b
|
||||
#define MASK_CUSTOM3_RD_RS1_RS2 0x707f
|
||||
#define CSR_USTATUS 0x0
|
||||
#define CSR_UIE 0x4
|
||||
#define CSR_UTVEC 0x5
|
||||
#define CSR_USCRATCH 0x40
|
||||
#define CSR_UEPC 0x41
|
||||
#define CSR_UCAUSE 0x42
|
||||
#define CSR_UTVAL 0x43
|
||||
#define CSR_UIP 0x44
|
||||
#define CSR_FFLAGS 0x1
|
||||
#define CSR_FRM 0x2
|
||||
#define CSR_FCSR 0x3
|
||||
@ -602,121 +610,6 @@
|
||||
#define CSR_HPMCOUNTER29 0xc1d
|
||||
#define CSR_HPMCOUNTER30 0xc1e
|
||||
#define CSR_HPMCOUNTER31 0xc1f
|
||||
#define CSR_SSTATUS 0x100
|
||||
#define CSR_SIE 0x104
|
||||
#define CSR_STVEC 0x105
|
||||
#define CSR_SCOUNTEREN 0x106
|
||||
#define CSR_SSCRATCH 0x140
|
||||
#define CSR_SEPC 0x141
|
||||
#define CSR_SCAUSE 0x142
|
||||
#define CSR_SBADADDR 0x143
|
||||
#define CSR_SIP 0x144
|
||||
#define CSR_SATP 0x180
|
||||
#define CSR_MSTATUS 0x300
|
||||
#define CSR_MISA 0x301
|
||||
#define CSR_MEDELEG 0x302
|
||||
#define CSR_MIDELEG 0x303
|
||||
#define CSR_MIE 0x304
|
||||
#define CSR_MTVEC 0x305
|
||||
#define CSR_MCOUNTEREN 0x306
|
||||
#define CSR_MSCRATCH 0x340
|
||||
#define CSR_MEPC 0x341
|
||||
#define CSR_MCAUSE 0x342
|
||||
#define CSR_MBADADDR 0x343
|
||||
#define CSR_MIP 0x344
|
||||
#define CSR_PMPCFG0 0x3a0
|
||||
#define CSR_PMPCFG1 0x3a1
|
||||
#define CSR_PMPCFG2 0x3a2
|
||||
#define CSR_PMPCFG3 0x3a3
|
||||
#define CSR_PMPADDR0 0x3b0
|
||||
#define CSR_PMPADDR1 0x3b1
|
||||
#define CSR_PMPADDR2 0x3b2
|
||||
#define CSR_PMPADDR3 0x3b3
|
||||
#define CSR_PMPADDR4 0x3b4
|
||||
#define CSR_PMPADDR5 0x3b5
|
||||
#define CSR_PMPADDR6 0x3b6
|
||||
#define CSR_PMPADDR7 0x3b7
|
||||
#define CSR_PMPADDR8 0x3b8
|
||||
#define CSR_PMPADDR9 0x3b9
|
||||
#define CSR_PMPADDR10 0x3ba
|
||||
#define CSR_PMPADDR11 0x3bb
|
||||
#define CSR_PMPADDR12 0x3bc
|
||||
#define CSR_PMPADDR13 0x3bd
|
||||
#define CSR_PMPADDR14 0x3be
|
||||
#define CSR_PMPADDR15 0x3bf
|
||||
#define CSR_TSELECT 0x7a0
|
||||
#define CSR_TDATA1 0x7a1
|
||||
#define CSR_TDATA2 0x7a2
|
||||
#define CSR_TDATA3 0x7a3
|
||||
#define CSR_DCSR 0x7b0
|
||||
#define CSR_DPC 0x7b1
|
||||
#define CSR_DSCRATCH 0x7b2
|
||||
#define CSR_MCYCLE 0xb00
|
||||
#define CSR_MINSTRET 0xb02
|
||||
#define CSR_MHPMCOUNTER3 0xb03
|
||||
#define CSR_MHPMCOUNTER4 0xb04
|
||||
#define CSR_MHPMCOUNTER5 0xb05
|
||||
#define CSR_MHPMCOUNTER6 0xb06
|
||||
#define CSR_MHPMCOUNTER7 0xb07
|
||||
#define CSR_MHPMCOUNTER8 0xb08
|
||||
#define CSR_MHPMCOUNTER9 0xb09
|
||||
#define CSR_MHPMCOUNTER10 0xb0a
|
||||
#define CSR_MHPMCOUNTER11 0xb0b
|
||||
#define CSR_MHPMCOUNTER12 0xb0c
|
||||
#define CSR_MHPMCOUNTER13 0xb0d
|
||||
#define CSR_MHPMCOUNTER14 0xb0e
|
||||
#define CSR_MHPMCOUNTER15 0xb0f
|
||||
#define CSR_MHPMCOUNTER16 0xb10
|
||||
#define CSR_MHPMCOUNTER17 0xb11
|
||||
#define CSR_MHPMCOUNTER18 0xb12
|
||||
#define CSR_MHPMCOUNTER19 0xb13
|
||||
#define CSR_MHPMCOUNTER20 0xb14
|
||||
#define CSR_MHPMCOUNTER21 0xb15
|
||||
#define CSR_MHPMCOUNTER22 0xb16
|
||||
#define CSR_MHPMCOUNTER23 0xb17
|
||||
#define CSR_MHPMCOUNTER24 0xb18
|
||||
#define CSR_MHPMCOUNTER25 0xb19
|
||||
#define CSR_MHPMCOUNTER26 0xb1a
|
||||
#define CSR_MHPMCOUNTER27 0xb1b
|
||||
#define CSR_MHPMCOUNTER28 0xb1c
|
||||
#define CSR_MHPMCOUNTER29 0xb1d
|
||||
#define CSR_MHPMCOUNTER30 0xb1e
|
||||
#define CSR_MHPMCOUNTER31 0xb1f
|
||||
#define CSR_MUCOUNTEREN 0x320
|
||||
#define CSR_MSCOUNTEREN 0x321
|
||||
#define CSR_MHPMEVENT3 0x323
|
||||
#define CSR_MHPMEVENT4 0x324
|
||||
#define CSR_MHPMEVENT5 0x325
|
||||
#define CSR_MHPMEVENT6 0x326
|
||||
#define CSR_MHPMEVENT7 0x327
|
||||
#define CSR_MHPMEVENT8 0x328
|
||||
#define CSR_MHPMEVENT9 0x329
|
||||
#define CSR_MHPMEVENT10 0x32a
|
||||
#define CSR_MHPMEVENT11 0x32b
|
||||
#define CSR_MHPMEVENT12 0x32c
|
||||
#define CSR_MHPMEVENT13 0x32d
|
||||
#define CSR_MHPMEVENT14 0x32e
|
||||
#define CSR_MHPMEVENT15 0x32f
|
||||
#define CSR_MHPMEVENT16 0x330
|
||||
#define CSR_MHPMEVENT17 0x331
|
||||
#define CSR_MHPMEVENT18 0x332
|
||||
#define CSR_MHPMEVENT19 0x333
|
||||
#define CSR_MHPMEVENT20 0x334
|
||||
#define CSR_MHPMEVENT21 0x335
|
||||
#define CSR_MHPMEVENT22 0x336
|
||||
#define CSR_MHPMEVENT23 0x337
|
||||
#define CSR_MHPMEVENT24 0x338
|
||||
#define CSR_MHPMEVENT25 0x339
|
||||
#define CSR_MHPMEVENT26 0x33a
|
||||
#define CSR_MHPMEVENT27 0x33b
|
||||
#define CSR_MHPMEVENT28 0x33c
|
||||
#define CSR_MHPMEVENT29 0x33d
|
||||
#define CSR_MHPMEVENT30 0x33e
|
||||
#define CSR_MHPMEVENT31 0x33f
|
||||
#define CSR_MVENDORID 0xf11
|
||||
#define CSR_MARCHID 0xf12
|
||||
#define CSR_MIMPID 0xf13
|
||||
#define CSR_MHARTID 0xf14
|
||||
#define CSR_CYCLEH 0xc80
|
||||
#define CSR_TIMEH 0xc81
|
||||
#define CSR_INSTRETH 0xc82
|
||||
@ -749,6 +642,85 @@
|
||||
#define CSR_HPMCOUNTER29H 0xc9d
|
||||
#define CSR_HPMCOUNTER30H 0xc9e
|
||||
#define CSR_HPMCOUNTER31H 0xc9f
|
||||
#define CSR_SSTATUS 0x100
|
||||
#define CSR_SEDELEG 0x102
|
||||
#define CSR_SIDELEG 0x103
|
||||
#define CSR_SIE 0x104
|
||||
#define CSR_STVEC 0x105
|
||||
#define CSR_SCOUNTEREN 0x106
|
||||
#define CSR_SSCRATCH 0x140
|
||||
#define CSR_SEPC 0x141
|
||||
#define CSR_SCAUSE 0x142
|
||||
#define CSR_SBADADDR 0x143
|
||||
#define CSR_SIP 0x144
|
||||
#define CSR_SATP 0x180
|
||||
#define CSR_MVENDORID 0xf11
|
||||
#define CSR_MARCHID 0xf12
|
||||
#define CSR_MIMPID 0xf13
|
||||
#define CSR_MHARTID 0xf14
|
||||
#define CSR_MSTATUS 0x300
|
||||
#define CSR_MISA 0x301
|
||||
#define CSR_MEDELEG 0x302
|
||||
#define CSR_MIDELEG 0x303
|
||||
#define CSR_MIE 0x304
|
||||
#define CSR_MTVEC 0x305
|
||||
#define CSR_MCOUNTEREN 0x306
|
||||
#define CSR_MSCRATCH 0x340
|
||||
#define CSR_MEPC 0x341
|
||||
#define CSR_MCAUSE 0x342
|
||||
#define CSR_MBADADDR 0x343
|
||||
#define CSR_MIP 0x344
|
||||
#define CSR_PMPCFG0 0x3a0
|
||||
#define CSR_PMPCFG1 0x3a1
|
||||
#define CSR_PMPCFG2 0x3a2
|
||||
#define CSR_PMPCFG3 0x3a3
|
||||
#define CSR_PMPADDR0 0x3b0
|
||||
#define CSR_PMPADDR1 0x3b1
|
||||
#define CSR_PMPADDR2 0x3b2
|
||||
#define CSR_PMPADDR3 0x3b3
|
||||
#define CSR_PMPADDR4 0x3b4
|
||||
#define CSR_PMPADDR5 0x3b5
|
||||
#define CSR_PMPADDR6 0x3b6
|
||||
#define CSR_PMPADDR7 0x3b7
|
||||
#define CSR_PMPADDR8 0x3b8
|
||||
#define CSR_PMPADDR9 0x3b9
|
||||
#define CSR_PMPADDR10 0x3ba
|
||||
#define CSR_PMPADDR11 0x3bb
|
||||
#define CSR_PMPADDR12 0x3bc
|
||||
#define CSR_PMPADDR13 0x3bd
|
||||
#define CSR_PMPADDR14 0x3be
|
||||
#define CSR_PMPADDR15 0x3bf
|
||||
#define CSR_MCYCLE 0xb00
|
||||
#define CSR_MINSTRET 0xb02
|
||||
#define CSR_MHPMCOUNTER3 0xb03
|
||||
#define CSR_MHPMCOUNTER4 0xb04
|
||||
#define CSR_MHPMCOUNTER5 0xb05
|
||||
#define CSR_MHPMCOUNTER6 0xb06
|
||||
#define CSR_MHPMCOUNTER7 0xb07
|
||||
#define CSR_MHPMCOUNTER8 0xb08
|
||||
#define CSR_MHPMCOUNTER9 0xb09
|
||||
#define CSR_MHPMCOUNTER10 0xb0a
|
||||
#define CSR_MHPMCOUNTER11 0xb0b
|
||||
#define CSR_MHPMCOUNTER12 0xb0c
|
||||
#define CSR_MHPMCOUNTER13 0xb0d
|
||||
#define CSR_MHPMCOUNTER14 0xb0e
|
||||
#define CSR_MHPMCOUNTER15 0xb0f
|
||||
#define CSR_MHPMCOUNTER16 0xb10
|
||||
#define CSR_MHPMCOUNTER17 0xb11
|
||||
#define CSR_MHPMCOUNTER18 0xb12
|
||||
#define CSR_MHPMCOUNTER19 0xb13
|
||||
#define CSR_MHPMCOUNTER20 0xb14
|
||||
#define CSR_MHPMCOUNTER21 0xb15
|
||||
#define CSR_MHPMCOUNTER22 0xb16
|
||||
#define CSR_MHPMCOUNTER23 0xb17
|
||||
#define CSR_MHPMCOUNTER24 0xb18
|
||||
#define CSR_MHPMCOUNTER25 0xb19
|
||||
#define CSR_MHPMCOUNTER26 0xb1a
|
||||
#define CSR_MHPMCOUNTER27 0xb1b
|
||||
#define CSR_MHPMCOUNTER28 0xb1c
|
||||
#define CSR_MHPMCOUNTER29 0xb1d
|
||||
#define CSR_MHPMCOUNTER30 0xb1e
|
||||
#define CSR_MHPMCOUNTER31 0xb1f
|
||||
#define CSR_MCYCLEH 0xb80
|
||||
#define CSR_MINSTRETH 0xb82
|
||||
#define CSR_MHPMCOUNTER3H 0xb83
|
||||
@ -780,6 +752,63 @@
|
||||
#define CSR_MHPMCOUNTER29H 0xb9d
|
||||
#define CSR_MHPMCOUNTER30H 0xb9e
|
||||
#define CSR_MHPMCOUNTER31H 0xb9f
|
||||
#define CSR_MHPMEVENT3 0x323
|
||||
#define CSR_MHPMEVENT4 0x324
|
||||
#define CSR_MHPMEVENT5 0x325
|
||||
#define CSR_MHPMEVENT6 0x326
|
||||
#define CSR_MHPMEVENT7 0x327
|
||||
#define CSR_MHPMEVENT8 0x328
|
||||
#define CSR_MHPMEVENT9 0x329
|
||||
#define CSR_MHPMEVENT10 0x32a
|
||||
#define CSR_MHPMEVENT11 0x32b
|
||||
#define CSR_MHPMEVENT12 0x32c
|
||||
#define CSR_MHPMEVENT13 0x32d
|
||||
#define CSR_MHPMEVENT14 0x32e
|
||||
#define CSR_MHPMEVENT15 0x32f
|
||||
#define CSR_MHPMEVENT16 0x330
|
||||
#define CSR_MHPMEVENT17 0x331
|
||||
#define CSR_MHPMEVENT18 0x332
|
||||
#define CSR_MHPMEVENT19 0x333
|
||||
#define CSR_MHPMEVENT20 0x334
|
||||
#define CSR_MHPMEVENT21 0x335
|
||||
#define CSR_MHPMEVENT22 0x336
|
||||
#define CSR_MHPMEVENT23 0x337
|
||||
#define CSR_MHPMEVENT24 0x338
|
||||
#define CSR_MHPMEVENT25 0x339
|
||||
#define CSR_MHPMEVENT26 0x33a
|
||||
#define CSR_MHPMEVENT27 0x33b
|
||||
#define CSR_MHPMEVENT28 0x33c
|
||||
#define CSR_MHPMEVENT29 0x33d
|
||||
#define CSR_MHPMEVENT30 0x33e
|
||||
#define CSR_MHPMEVENT31 0x33f
|
||||
#define CSR_TSELECT 0x7a0
|
||||
#define CSR_TDATA1 0x7a1
|
||||
#define CSR_TDATA2 0x7a2
|
||||
#define CSR_TDATA3 0x7a3
|
||||
#define CSR_DCSR 0x7b0
|
||||
#define CSR_DPC 0x7b1
|
||||
#define CSR_DSCRATCH 0x7b2
|
||||
/* These registers are present in priv spec 1.9.1, dropped in 1.10. */
|
||||
#define CSR_HSTATUS 0x200
|
||||
#define CSR_HEDELEG 0x202
|
||||
#define CSR_HIDELEG 0x203
|
||||
#define CSR_HIE 0x204
|
||||
#define CSR_HTVEC 0x205
|
||||
#define CSR_HSCRATCH 0x240
|
||||
#define CSR_HEPC 0x241
|
||||
#define CSR_HCAUSE 0x242
|
||||
#define CSR_HBADADDR 0x243
|
||||
#define CSR_HIP 0x244
|
||||
/* CSR_MISA is 0xf10 in 1.9, but 0x301 in 1.9.1. */
|
||||
#define CSR_MBASE 0x380
|
||||
#define CSR_MBOUND 0x381
|
||||
#define CSR_MIBASE 0x382
|
||||
#define CSR_MIBOUND 0x383
|
||||
#define CSR_MDBASE 0x384
|
||||
#define CSR_MDBOUND 0x385
|
||||
#define CSR_MUCOUNTEREN 0x320
|
||||
#define CSR_MSCOUNTEREN 0x321
|
||||
#define CSR_MHCOUNTEREN 0x322
|
||||
#define CAUSE_MISALIGNED_FETCH 0x0
|
||||
#define CAUSE_FAULT_FETCH 0x1
|
||||
#define CAUSE_ILLEGAL_INSTRUCTION 0x2
|
||||
@ -1079,6 +1108,14 @@ DECLARE_INSN(custom3_rd_rs1, MATCH_CUSTOM3_RD_RS1, MASK_CUSTOM3_RD_RS1)
|
||||
DECLARE_INSN(custom3_rd_rs1_rs2, MATCH_CUSTOM3_RD_RS1_RS2, MASK_CUSTOM3_RD_RS1_RS2)
|
||||
#endif
|
||||
#ifdef DECLARE_CSR
|
||||
DECLARE_CSR(ustatus, CSR_USTATUS)
|
||||
DECLARE_CSR(uie, CSR_UIE)
|
||||
DECLARE_CSR(utvec, CSR_UTVEC)
|
||||
DECLARE_CSR(uscratch, CSR_USCRATCH)
|
||||
DECLARE_CSR(uepc, CSR_UEPC)
|
||||
DECLARE_CSR(ucause, CSR_UCAUSE)
|
||||
DECLARE_CSR(utval, CSR_UTVAL)
|
||||
DECLARE_CSR(uip, CSR_UIP)
|
||||
DECLARE_CSR(fflags, CSR_FFLAGS)
|
||||
DECLARE_CSR(frm, CSR_FRM)
|
||||
DECLARE_CSR(fcsr, CSR_FCSR)
|
||||
@ -1114,121 +1151,6 @@ DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER28)
|
||||
DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29)
|
||||
DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30)
|
||||
DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31)
|
||||
DECLARE_CSR(sstatus, CSR_SSTATUS)
|
||||
DECLARE_CSR(sie, CSR_SIE)
|
||||
DECLARE_CSR(stvec, CSR_STVEC)
|
||||
DECLARE_CSR(scounteren, CSR_SCOUNTEREN)
|
||||
DECLARE_CSR(sscratch, CSR_SSCRATCH)
|
||||
DECLARE_CSR(sepc, CSR_SEPC)
|
||||
DECLARE_CSR(scause, CSR_SCAUSE)
|
||||
DECLARE_CSR(sbadaddr, CSR_SBADADDR)
|
||||
DECLARE_CSR(sip, CSR_SIP)
|
||||
DECLARE_CSR(satp, CSR_SATP)
|
||||
DECLARE_CSR(mstatus, CSR_MSTATUS)
|
||||
DECLARE_CSR(misa, CSR_MISA)
|
||||
DECLARE_CSR(medeleg, CSR_MEDELEG)
|
||||
DECLARE_CSR(mideleg, CSR_MIDELEG)
|
||||
DECLARE_CSR(mie, CSR_MIE)
|
||||
DECLARE_CSR(mtvec, CSR_MTVEC)
|
||||
DECLARE_CSR(mcounteren, CSR_MCOUNTEREN)
|
||||
DECLARE_CSR(mscratch, CSR_MSCRATCH)
|
||||
DECLARE_CSR(mepc, CSR_MEPC)
|
||||
DECLARE_CSR(mcause, CSR_MCAUSE)
|
||||
DECLARE_CSR(mbadaddr, CSR_MBADADDR)
|
||||
DECLARE_CSR(mip, CSR_MIP)
|
||||
DECLARE_CSR(pmpcfg0, CSR_PMPCFG0)
|
||||
DECLARE_CSR(pmpcfg1, CSR_PMPCFG1)
|
||||
DECLARE_CSR(pmpcfg2, CSR_PMPCFG2)
|
||||
DECLARE_CSR(pmpcfg3, CSR_PMPCFG3)
|
||||
DECLARE_CSR(pmpaddr0, CSR_PMPADDR0)
|
||||
DECLARE_CSR(pmpaddr1, CSR_PMPADDR1)
|
||||
DECLARE_CSR(pmpaddr2, CSR_PMPADDR2)
|
||||
DECLARE_CSR(pmpaddr3, CSR_PMPADDR3)
|
||||
DECLARE_CSR(pmpaddr4, CSR_PMPADDR4)
|
||||
DECLARE_CSR(pmpaddr5, CSR_PMPADDR5)
|
||||
DECLARE_CSR(pmpaddr6, CSR_PMPADDR6)
|
||||
DECLARE_CSR(pmpaddr7, CSR_PMPADDR7)
|
||||
DECLARE_CSR(pmpaddr8, CSR_PMPADDR8)
|
||||
DECLARE_CSR(pmpaddr9, CSR_PMPADDR9)
|
||||
DECLARE_CSR(pmpaddr10, CSR_PMPADDR10)
|
||||
DECLARE_CSR(pmpaddr11, CSR_PMPADDR11)
|
||||
DECLARE_CSR(pmpaddr12, CSR_PMPADDR12)
|
||||
DECLARE_CSR(pmpaddr13, CSR_PMPADDR13)
|
||||
DECLARE_CSR(pmpaddr14, CSR_PMPADDR14)
|
||||
DECLARE_CSR(pmpaddr15, CSR_PMPADDR15)
|
||||
DECLARE_CSR(tselect, CSR_TSELECT)
|
||||
DECLARE_CSR(tdata1, CSR_TDATA1)
|
||||
DECLARE_CSR(tdata2, CSR_TDATA2)
|
||||
DECLARE_CSR(tdata3, CSR_TDATA3)
|
||||
DECLARE_CSR(dcsr, CSR_DCSR)
|
||||
DECLARE_CSR(dpc, CSR_DPC)
|
||||
DECLARE_CSR(dscratch, CSR_DSCRATCH)
|
||||
DECLARE_CSR(mcycle, CSR_MCYCLE)
|
||||
DECLARE_CSR(minstret, CSR_MINSTRET)
|
||||
DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3)
|
||||
DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4)
|
||||
DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5)
|
||||
DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6)
|
||||
DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7)
|
||||
DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8)
|
||||
DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9)
|
||||
DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10)
|
||||
DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11)
|
||||
DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12)
|
||||
DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13)
|
||||
DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14)
|
||||
DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15)
|
||||
DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16)
|
||||
DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17)
|
||||
DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18)
|
||||
DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19)
|
||||
DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20)
|
||||
DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21)
|
||||
DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22)
|
||||
DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23)
|
||||
DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24)
|
||||
DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25)
|
||||
DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26)
|
||||
DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27)
|
||||
DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28)
|
||||
DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29)
|
||||
DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30)
|
||||
DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31)
|
||||
DECLARE_CSR(mucounteren, CSR_MUCOUNTEREN)
|
||||
DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN)
|
||||
DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3)
|
||||
DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4)
|
||||
DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5)
|
||||
DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6)
|
||||
DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7)
|
||||
DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8)
|
||||
DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9)
|
||||
DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10)
|
||||
DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11)
|
||||
DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12)
|
||||
DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13)
|
||||
DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14)
|
||||
DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15)
|
||||
DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16)
|
||||
DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17)
|
||||
DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18)
|
||||
DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19)
|
||||
DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20)
|
||||
DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21)
|
||||
DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22)
|
||||
DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23)
|
||||
DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24)
|
||||
DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25)
|
||||
DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26)
|
||||
DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27)
|
||||
DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28)
|
||||
DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29)
|
||||
DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30)
|
||||
DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31)
|
||||
DECLARE_CSR(mvendorid, CSR_MVENDORID)
|
||||
DECLARE_CSR(marchid, CSR_MARCHID)
|
||||
DECLARE_CSR(mimpid, CSR_MIMPID)
|
||||
DECLARE_CSR(mhartid, CSR_MHARTID)
|
||||
DECLARE_CSR(cycleh, CSR_CYCLEH)
|
||||
DECLARE_CSR(timeh, CSR_TIMEH)
|
||||
DECLARE_CSR(instreth, CSR_INSTRETH)
|
||||
@ -1261,6 +1183,85 @@ DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H)
|
||||
DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H)
|
||||
DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H)
|
||||
DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H)
|
||||
DECLARE_CSR(sstatus, CSR_SSTATUS)
|
||||
DECLARE_CSR(sedeleg, CSR_SEDELEG)
|
||||
DECLARE_CSR(sideleg, CSR_SIDELEG)
|
||||
DECLARE_CSR(sie, CSR_SIE)
|
||||
DECLARE_CSR(stvec, CSR_STVEC)
|
||||
DECLARE_CSR(scounteren, CSR_SCOUNTEREN)
|
||||
DECLARE_CSR(sscratch, CSR_SSCRATCH)
|
||||
DECLARE_CSR(sepc, CSR_SEPC)
|
||||
DECLARE_CSR(scause, CSR_SCAUSE)
|
||||
DECLARE_CSR(sbadaddr, CSR_SBADADDR)
|
||||
DECLARE_CSR(sip, CSR_SIP)
|
||||
DECLARE_CSR(satp, CSR_SATP)
|
||||
DECLARE_CSR(mvendorid, CSR_MVENDORID)
|
||||
DECLARE_CSR(marchid, CSR_MARCHID)
|
||||
DECLARE_CSR(mimpid, CSR_MIMPID)
|
||||
DECLARE_CSR(mhartid, CSR_MHARTID)
|
||||
DECLARE_CSR(mstatus, CSR_MSTATUS)
|
||||
DECLARE_CSR(misa, CSR_MISA)
|
||||
DECLARE_CSR(medeleg, CSR_MEDELEG)
|
||||
DECLARE_CSR(mideleg, CSR_MIDELEG)
|
||||
DECLARE_CSR(mie, CSR_MIE)
|
||||
DECLARE_CSR(mtvec, CSR_MTVEC)
|
||||
DECLARE_CSR(mcounteren, CSR_MCOUNTEREN)
|
||||
DECLARE_CSR(mscratch, CSR_MSCRATCH)
|
||||
DECLARE_CSR(mepc, CSR_MEPC)
|
||||
DECLARE_CSR(mcause, CSR_MCAUSE)
|
||||
DECLARE_CSR(mbadaddr, CSR_MBADADDR)
|
||||
DECLARE_CSR(mip, CSR_MIP)
|
||||
DECLARE_CSR(pmpcfg0, CSR_PMPCFG0)
|
||||
DECLARE_CSR(pmpcfg1, CSR_PMPCFG1)
|
||||
DECLARE_CSR(pmpcfg2, CSR_PMPCFG2)
|
||||
DECLARE_CSR(pmpcfg3, CSR_PMPCFG3)
|
||||
DECLARE_CSR(pmpaddr0, CSR_PMPADDR0)
|
||||
DECLARE_CSR(pmpaddr1, CSR_PMPADDR1)
|
||||
DECLARE_CSR(pmpaddr2, CSR_PMPADDR2)
|
||||
DECLARE_CSR(pmpaddr3, CSR_PMPADDR3)
|
||||
DECLARE_CSR(pmpaddr4, CSR_PMPADDR4)
|
||||
DECLARE_CSR(pmpaddr5, CSR_PMPADDR5)
|
||||
DECLARE_CSR(pmpaddr6, CSR_PMPADDR6)
|
||||
DECLARE_CSR(pmpaddr7, CSR_PMPADDR7)
|
||||
DECLARE_CSR(pmpaddr8, CSR_PMPADDR8)
|
||||
DECLARE_CSR(pmpaddr9, CSR_PMPADDR9)
|
||||
DECLARE_CSR(pmpaddr10, CSR_PMPADDR10)
|
||||
DECLARE_CSR(pmpaddr11, CSR_PMPADDR11)
|
||||
DECLARE_CSR(pmpaddr12, CSR_PMPADDR12)
|
||||
DECLARE_CSR(pmpaddr13, CSR_PMPADDR13)
|
||||
DECLARE_CSR(pmpaddr14, CSR_PMPADDR14)
|
||||
DECLARE_CSR(pmpaddr15, CSR_PMPADDR15)
|
||||
DECLARE_CSR(mcycle, CSR_MCYCLE)
|
||||
DECLARE_CSR(minstret, CSR_MINSTRET)
|
||||
DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3)
|
||||
DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4)
|
||||
DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5)
|
||||
DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6)
|
||||
DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7)
|
||||
DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8)
|
||||
DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9)
|
||||
DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10)
|
||||
DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11)
|
||||
DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12)
|
||||
DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13)
|
||||
DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14)
|
||||
DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15)
|
||||
DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16)
|
||||
DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17)
|
||||
DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18)
|
||||
DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19)
|
||||
DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20)
|
||||
DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21)
|
||||
DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22)
|
||||
DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23)
|
||||
DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24)
|
||||
DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25)
|
||||
DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26)
|
||||
DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27)
|
||||
DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28)
|
||||
DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29)
|
||||
DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30)
|
||||
DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31)
|
||||
DECLARE_CSR(mcycleh, CSR_MCYCLEH)
|
||||
DECLARE_CSR(minstreth, CSR_MINSTRETH)
|
||||
DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H)
|
||||
@ -1292,8 +1293,67 @@ DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUNTER28H)
|
||||
DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H)
|
||||
DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H)
|
||||
DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H)
|
||||
DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3)
|
||||
DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4)
|
||||
DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5)
|
||||
DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6)
|
||||
DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7)
|
||||
DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8)
|
||||
DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9)
|
||||
DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10)
|
||||
DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11)
|
||||
DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12)
|
||||
DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13)
|
||||
DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14)
|
||||
DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15)
|
||||
DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16)
|
||||
DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17)
|
||||
DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18)
|
||||
DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19)
|
||||
DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20)
|
||||
DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21)
|
||||
DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22)
|
||||
DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23)
|
||||
DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24)
|
||||
DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25)
|
||||
DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26)
|
||||
DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27)
|
||||
DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28)
|
||||
DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29)
|
||||
DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30)
|
||||
DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31)
|
||||
DECLARE_CSR(tselect, CSR_TSELECT)
|
||||
DECLARE_CSR(tdata1, CSR_TDATA1)
|
||||
DECLARE_CSR(tdata2, CSR_TDATA2)
|
||||
DECLARE_CSR(tdata3, CSR_TDATA3)
|
||||
DECLARE_CSR(dcsr, CSR_DCSR)
|
||||
DECLARE_CSR(dpc, CSR_DPC)
|
||||
DECLARE_CSR(dscratch, CSR_DSCRATCH)
|
||||
/* These registers are present in priv spec 1.9.1, dropped in 1.10. */
|
||||
DECLARE_CSR(hstatus, CSR_HSTATUS)
|
||||
DECLARE_CSR(hedeleg, CSR_HEDELEG)
|
||||
DECLARE_CSR(hideleg, CSR_HIDELEG)
|
||||
DECLARE_CSR(hie, CSR_HIE)
|
||||
DECLARE_CSR(htvec, CSR_HTVEC)
|
||||
DECLARE_CSR(hscratch, CSR_HSCRATCH)
|
||||
DECLARE_CSR(hepc, CSR_HEPC)
|
||||
DECLARE_CSR(hcause, CSR_HCAUSE)
|
||||
DECLARE_CSR(hbadaddr, CSR_HBADADDR)
|
||||
DECLARE_CSR(hip, CSR_HIP)
|
||||
DECLARE_CSR(mbase, CSR_MBASE)
|
||||
DECLARE_CSR(mbound, CSR_MBOUND)
|
||||
DECLARE_CSR(mibase, CSR_MIBASE)
|
||||
DECLARE_CSR(mibound, CSR_MIBOUND)
|
||||
DECLARE_CSR(mdbase, CSR_MDBASE)
|
||||
DECLARE_CSR(mdbound, CSR_MDBOUND)
|
||||
DECLARE_CSR(mucounteren, CSR_MUCOUNTEREN)
|
||||
DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN)
|
||||
DECLARE_CSR(mhcounteren, CSR_MHCOUNTEREN)
|
||||
#endif
|
||||
#ifdef DECLARE_CSR_ALIAS
|
||||
/* Ubadaddr is 0x043 in 1.9.1, but 0x043 is utval in 1.10. */
|
||||
DECLARE_CSR_ALIAS(ubadaddr, CSR_UTVAL)
|
||||
/* Sptbr is 0x180 in 1.9.1, but 0x180 is satp in 1.10. */
|
||||
DECLARE_CSR_ALIAS(sptbr, CSR_SATP)
|
||||
#endif
|
||||
#ifdef DECLARE_CAUSE
|
||||
|
Reference in New Issue
Block a user