back chips-alliance-logo test_pyuvm_branch.html

Report generated on 2024-09-10 13:15 GMT by riscof v

Environment

Riscof Version 1.25.3
Riscv-arch-test Version/Commit Id 3.9.1
DUT VeeR
Reference spike
ISA RV32IMC
User Spec Version 2.3
Privilege Spec Version 1.10

Yaml

Name
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/veer_isa_checked.yaml
hart_ids: [0] hart0: ISA: RV32IMC physical_addr_sz: 32 User_Spec_Version: '2.3' supported_xlen: - 32 misa: reset-val: 0x40001104 rv32: accessible: true mxl: implemented: true type: warl: dependency_fields: [] legal: - mxl[1:0] in [0x1] wr_illegal: - Unchanged description: Encodes the native base integer ISA width. shadow: shadow_type: rw msb: 31 lsb: 30 extensions: implemented: true type: warl: dependency_fields: [] legal: - extensions[25:0] bitmask [0x0001104, 0x0000000] wr_illegal: - Unchanged description: Encodes the presence of the standard extensions, with a single bit per letter of the alphabet. shadow: shadow_type: rw msb: 25 lsb: 0 fields: - extensions - mxl - - - 26 - 29 description: misa is a read-write register reporting the ISA supported by the hart. address: 769 priv_mode: M rv64: accessible: false Privilege_Spec_Version: '1.10' hw_data_misaligned_support: false pmp_granularity: 0 custom_exceptions: custom_interrupts: pte_ad_hw_update: false mtval_update: 0b11111111 mstatus: rv32: accessible: true fields: - uie - sie - mie - upie - spie - mpie - spp - mpp - fs - xs - mprv - sum - mxr - tvm - tw - tsr - spelp - sd - - - 2 - - 6 - - 9 - 10 - - 24 - 30 uie: implemented: false description: Stores the state of the user mode interrupts. shadow: shadow_type: rw msb: 0 lsb: 0 sie: implemented: false description: Stores the state of the supervisor mode interrupts. shadow: shadow_type: rw msb: 1 lsb: 1 mie: implemented: true description: Stores the state of the machine mode interrupts. shadow: shadow_type: rw msb: 3 lsb: 3 type: wlrl: - 0:1 upie: implemented: false description: Stores the state of the user mode interrupts prior to the trap. shadow: shadow_type: rw msb: 4 lsb: 4 spie: implemented: false description: Stores the state of the supervisor mode interrupts prior to the trap. shadow: shadow_type: rw msb: 5 lsb: 5 mpie: implemented: true description: Stores the state of the machine mode interrupts prior to the trap. shadow: shadow_type: rw msb: 7 lsb: 7 type: wlrl: - 0:1 spp: implemented: false description: Stores the previous priority mode for supervisor. shadow: shadow_type: rw msb: 8 lsb: 8 mpp: implemented: true description: Stores the previous priority mode for machine. shadow: shadow_type: rw msb: 12 lsb: 11 type: {ro_constant: 0} fs: implemented: false description: Encodes the status of the floating-point unit, including the CSR fcsr and floating-point data registers. shadow: shadow_type: rw msb: 14 lsb: 13 xs: implemented: false description: Encodes the status of additional user-mode extensions and associated state. shadow: shadow_type: rw msb: 16 lsb: 15 mprv: implemented: false description: Modifies the privilege level at which loads and stores execute in all privilege modes. shadow: shadow_type: rw msb: 17 lsb: 17 sum: implemented: false description: Modifies the privilege with which S-mode loads and stores access virtual memory. shadow: shadow_type: rw msb: 18 lsb: 18 mxr: implemented: false description: Modifies the privilege with which loads access virtual memory. shadow: shadow_type: rw msb: 19 lsb: 19 tvm: implemented: false description: Supports intercepting supervisor virtual-memory management operations. shadow: shadow_type: rw msb: 20 lsb: 20 tw: implemented: false description: Supports intercepting the WFI instruction. shadow: shadow_type: rw msb: 21 lsb: 21 tsr: implemented: false description: Supports intercepting the supervisor exception return instruction. shadow: shadow_type: rw msb: 22 lsb: 22 spelp: implemented: false description: Supervisor mode previous expected-landing-pad (ELP) state. shadow: shadow_type: rw msb: 23 lsb: 23 sd: implemented: false description: Read-only bit that summarizes whether either the FS field or XS field signals the presence of some dirty state. shadow: shadow_type: rw msb: 31 lsb: 31 rv64: accessible: false description: The mstatus register keeps track of and controls the hart’s current operating state. address: 768 priv_mode: M reset-val: 0 mstatush: rv32: accessible: true fields: - sbe - mbe - gva - mpv - mpelp - - - 0 - 3 - - 8 - - 10 - 31 mpv: implemented: false description: Stores the state of the user mode interrupts. shadow: shadow_type: rw msb: 7 lsb: 7 gva: implemented: false description: Stores the state of the supervisor mode interrupts. shadow: shadow_type: rw msb: 6 lsb: 6 mbe: implemented: false description: control the endianness of memory accesses other than instruction fetches for machine mode shadow: shadow_type: rw msb: 5 lsb: 5 sbe: implemented: false description: control the endianness of memory accesses other than instruction fetches for supervisor mode shadow: shadow_type: rw msb: 4 lsb: 4 mpelp: implemented: false description: Machine mode previous expected-landing-pad (ELP) state. shadow: shadow_type: rw msb: 9 lsb: 9 rv64: accessible: false description: The mstatush register keeps track of and controls the hart’s current operating state. address: 768 priv_mode: M reset-val: 0 mvendorid: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: ro_constant: 0 rv64: accessible: false description: 32-bit read-only register providing the JEDEC manufacturer ID of the provider of the core. address: 3857 priv_mode: M reset-val: 0 marchid: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: ro_constant: 0 rv64: accessible: false description: MXLEN-bit read-only register encoding the base microarchitecture of the hart. address: 3858 priv_mode: M reset-val: 0 mimpid: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: ro_constant: 0 rv64: accessible: false description: Provides a unique encoding of the version of the processor implementation. address: 3859 priv_mode: M reset-val: 0 mhartid: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: ro_constant: 0 rv64: accessible: false description: MXLEN-bit read-only register containing the integer ID of the hardware thread running the code. address: 3860 priv_mode: M reset-val: 0 mtvec: rv32: accessible: true fields: - mode - base base: implemented: true description: Vector base address. shadow: shadow_type: rw msb: 31 lsb: 2 type: warl: dependency_fields: [] legal: - base[29:0] bitmask [0x3FFFFFFF, 0x00000000] wr_illegal: - Unchanged mode: implemented: true description: Vector mode. shadow: shadow_type: rw msb: 1 lsb: 0 type: warl: dependency_fields: [] legal: - mode[1:0] in [0x0,0x1] wr_illegal: - Unchanged rv64: accessible: false description: MXLEN-bit read/write register that holds trap vector configuration. address: 773 priv_mode: M reset-val: 0 mideleg: rv32: accessible: false rv64: accessible: false description: Machine Interrupt delegation Register. address: 771 priv_mode: M reset-val: 0 medeleg: rv32: accessible: false rv64: accessible: false description: Machine Exception delegation Register. address: 770 priv_mode: M reset-val: 0 mip: rv32: accessible: true fields: - usip - ssip - vssip - msip - utip - stip - vstip - mtip - ueip - seip - vseip - meip - sgeip - - - 13 - 31 usip: implemented: false description: User Software Interrupt Pending. shadow: shadow_type: rw msb: 0 lsb: 0 ssip: implemented: false description: Supervisor Software Interrupt Pending. shadow: shadow_type: rw msb: 1 lsb: 1 vssip: implemented: false description: VS-level Software Interrupt Pending. shadow: shadow_type: rw msb: 2 lsb: 2 msip: implemented: true description: Machine Software Interrupt Pending. shadow: shadow_type: rw msb: 3 lsb: 3 type: ro_variable: true utip: implemented: false description: User Timer Interrupt Pending. shadow: shadow_type: rw msb: 4 lsb: 4 stip: implemented: false description: Supervisor Timer Interrupt Pending. shadow: shadow_type: rw msb: 5 lsb: 5 vstip: implemented: false description: VS-level Timer Interrupt Pending. shadow: shadow_type: rw msb: 6 lsb: 6 mtip: implemented: true description: Machine Timer Interrupt Pending. shadow: shadow_type: rw msb: 7 lsb: 7 type: ro_variable: true ueip: implemented: false description: User External Interrupt Pending. shadow: shadow_type: rw msb: 8 lsb: 8 seip: implemented: false description: Supervisor External Interrupt Pending. shadow: shadow_type: rw msb: 9 lsb: 9 vseip: implemented: false description: VS-level External Interrupt Pending. shadow: shadow_type: rw msb: 10 lsb: 10 meip: implemented: true description: Machine External Interrupt Pending. shadow: shadow_type: rw msb: 11 lsb: 11 type: ro_variable: true sgeip: implemented: false description: HS-level External Interrupt Pending. shadow: shadow_type: rw msb: 12 lsb: 12 rv64: accessible: false description: The mip register is an MXLEN-bit read/write register containing information on pending interrupts. address: 836 priv_mode: M reset-val: 0 hie: rv32: accessible: false rv64: accessible: false description: The hie register is an HSXLEN-bit read/write register containing interrupt enable bits. address: 0x604 priv_mode: H reset-val: 0 mie: rv32: accessible: true fields: - usie - ssie - vssie - msie - utie - stie - vstie - mtie - ueie - seie - vseie - meie - sgeie - - - 13 - 31 usie: implemented: false description: User Software Interrupt enable. shadow: shadow_type: rw msb: 0 lsb: 0 ssie: implemented: false description: Supervisor Software Interrupt enable. shadow: shadow_type: rw msb: 1 lsb: 1 vssie: implemented: false description: VS-level Software Interrupt enable. shadow: shadow_type: rw msb: 2 lsb: 2 msie: implemented: true description: Machine Software Interrupt enable. shadow: shadow_type: rw msb: 3 lsb: 3 type: wlrl: - 0x0:0x1 utie: implemented: false description: User Timer Interrupt enable. shadow: shadow_type: rw msb: 4 lsb: 4 stie: implemented: false description: Supervisor Timer Interrupt enable. shadow: shadow_type: rw msb: 5 lsb: 5 vstie: implemented: false description: VS-level Timer Interrupt enable. shadow: shadow_type: rw msb: 6 lsb: 6 mtie: implemented: true description: Machine Timer Interrupt enable. shadow: shadow_type: rw msb: 7 lsb: 7 type: wlrl: - 0:1 ueie: implemented: false description: User External Interrupt enable. shadow: shadow_type: rw msb: 8 lsb: 8 seie: implemented: false description: Supervisor External Interrupt enable. shadow: shadow_type: rw msb: 9 lsb: 9 vseie: implemented: false description: VS-level External Interrupt enable. shadow: shadow_type: rw msb: 10 lsb: 10 meie: implemented: true description: Machine External Interrupt enable. shadow: shadow_type: rw msb: 11 lsb: 11 type: wlrl: - 0:1 sgeie: implemented: false description: HS-level External Interrupt enable. shadow: shadow_type: rw msb: 12 lsb: 12 rv64: accessible: false description: The mie register is an MXLEN-bit read/write register containing interrupt enable bits. address: 772 priv_mode: M reset-val: 0 mscratch: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: warl: dependency_fields: [] legal: - mscratch[31:0] in [0x00000000:0xFFFFFFFF] wr_illegal: - unchanged rv64: accessible: false description: The mscratch register is an MXLEN-bit read/write register dedicated for use by machine mode. address: 832 priv_mode: M reset-val: 0 mepc: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: warl: dependency_fields: [] legal: - mepc[31:0] in [0x00000000:0xFFFFFFFF] wr_illegal: - unchanged rv64: accessible: false description: The mepc is a warl register that must be able to hold all valid physical and virtual addresses. address: 0x341 priv_mode: M reset-val: 0 mtval: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: warl: dependency_fields: [] legal: - mtval[31:0] in [0x00000000:0xFFFFFFFF] wr_illegal: - unchanged rv64: accessible: false description: The mtval is a warl register that holds the address of the instruction which caused the exception. address: 835 priv_mode: M reset-val: 0 mcause: rv32: accessible: true fields: - exception_code - interrupt interrupt: implemented: true description: Indicates whether the trap was due to an interrupt. shadow: shadow_type: rw msb: 31 lsb: 31 type: wlrl: - 0x0:0x1 exception_code: implemented: true description: Encodes the exception code. shadow: shadow_type: rw msb: 30 lsb: 0 type: wlrl: - 0:15 rv64: accessible: false description: The mcause register stores the information regarding the trap. address: 834 priv_mode: M reset-val: 0 pmpcfg0: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A0 priv_mode: M reset-val: 0 pmpcfg1: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A1 priv_mode: M reset-val: 0 pmpcfg2: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A2 priv_mode: M reset-val: 0 pmpcfg3: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A3 priv_mode: M reset-val: 0 pmpcfg4: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A4 priv_mode: M reset-val: 0 pmpcfg5: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A5 priv_mode: M reset-val: 0 pmpcfg6: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A6 priv_mode: M reset-val: 0 pmpcfg7: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A7 priv_mode: M reset-val: 0 pmpcfg8: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A8 priv_mode: M reset-val: 0 pmpcfg9: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3A9 priv_mode: M reset-val: 0 pmpcfg10: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3AA priv_mode: M reset-val: 0 pmpcfg11: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3AB priv_mode: M reset-val: 0 pmpcfg12: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3AC priv_mode: M reset-val: 0 pmpcfg13: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3AD priv_mode: M reset-val: 0 pmpcfg14: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3AE priv_mode: M reset-val: 0 pmpcfg15: rv32: accessible: false rv64: accessible: false description: PMP configuration register address: 0x3AF priv_mode: M reset-val: 0 pmpaddr0: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B0 priv_mode: M reset-val: 0 pmpaddr1: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B1 priv_mode: M reset-val: 0 pmpaddr2: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B2 priv_mode: M reset-val: 0 pmpaddr3: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B3 priv_mode: M reset-val: 0 pmpaddr4: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B4 priv_mode: M reset-val: 0 pmpaddr5: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B5 priv_mode: M reset-val: 0 pmpaddr6: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B6 priv_mode: M reset-val: 0 pmpaddr7: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B7 priv_mode: M reset-val: 0 pmpaddr8: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B8 priv_mode: M reset-val: 0 pmpaddr9: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3B9 priv_mode: M reset-val: 0 pmpaddr10: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3BA priv_mode: M reset-val: 0 pmpaddr11: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3BB priv_mode: M reset-val: 0 pmpaddr12: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3BC priv_mode: M reset-val: 0 pmpaddr13: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3BD priv_mode: M reset-val: 0 pmpaddr14: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3BE priv_mode: M reset-val: 0 pmpaddr15: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3BF priv_mode: M reset-val: 0 pmpaddr16: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C0 priv_mode: M reset-val: 0 pmpaddr17: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C1 priv_mode: M reset-val: 0 pmpaddr18: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C2 priv_mode: M reset-val: 0 pmpaddr19: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C3 priv_mode: M reset-val: 0 pmpaddr20: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C4 priv_mode: M reset-val: 0 pmpaddr21: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C5 priv_mode: M reset-val: 0 pmpaddr22: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C6 priv_mode: M reset-val: 0 pmpaddr23: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C7 priv_mode: M reset-val: 0 pmpaddr24: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C8 priv_mode: M reset-val: 0 pmpaddr25: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3C9 priv_mode: M reset-val: 0 pmpaddr26: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3CA priv_mode: M reset-val: 0 pmpaddr27: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3CB priv_mode: M reset-val: 0 pmpaddr28: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3CC priv_mode: M reset-val: 0 pmpaddr29: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3CD priv_mode: M reset-val: 0 pmpaddr30: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3CE priv_mode: M reset-val: 0 pmpaddr31: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3CF priv_mode: M reset-val: 0 pmpaddr32: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D0 priv_mode: M reset-val: 0 pmpaddr33: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D1 priv_mode: M reset-val: 0 pmpaddr34: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D2 priv_mode: M reset-val: 0 pmpaddr35: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D3 priv_mode: M reset-val: 0 pmpaddr36: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D4 priv_mode: M reset-val: 0 pmpaddr37: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D5 priv_mode: M reset-val: 0 pmpaddr38: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D6 priv_mode: M reset-val: 0 pmpaddr39: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D7 priv_mode: M reset-val: 0 pmpaddr40: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D8 priv_mode: M reset-val: 0 pmpaddr41: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3D9 priv_mode: M reset-val: 0 pmpaddr42: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3DA priv_mode: M reset-val: 0 pmpaddr43: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3DB priv_mode: M reset-val: 0 pmpaddr44: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3DC priv_mode: M reset-val: 0 pmpaddr45: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3DD priv_mode: M reset-val: 0 pmpaddr46: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3DE priv_mode: M reset-val: 0 pmpaddr47: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3DF priv_mode: M reset-val: 0 pmpaddr48: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E0 priv_mode: M reset-val: 0 pmpaddr49: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E1 priv_mode: M reset-val: 0 pmpaddr50: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E2 priv_mode: M reset-val: 0 pmpaddr51: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E3 priv_mode: M reset-val: 0 pmpaddr52: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E4 priv_mode: M reset-val: 0 pmpaddr53: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E5 priv_mode: M reset-val: 0 pmpaddr54: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E6 priv_mode: M reset-val: 0 pmpaddr55: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E7 priv_mode: M reset-val: 0 pmpaddr56: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E8 priv_mode: M reset-val: 0 pmpaddr57: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3E9 priv_mode: M reset-val: 0 pmpaddr58: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3EA priv_mode: M reset-val: 0 pmpaddr59: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3EB priv_mode: M reset-val: 0 pmpaddr60: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3EC priv_mode: M reset-val: 0 pmpaddr61: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3ED priv_mode: M reset-val: 0 pmpaddr62: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3EE priv_mode: M reset-val: 0 pmpaddr63: rv32: accessible: false rv64: accessible: false description: Physical memory protection address register address: 0x3EF priv_mode: M reset-val: 0 mcounteren: rv32: accessible: false rv64: accessible: false description: The mcounteren is a 32-bit register that controls the availability of the hardware performance-monitoring counters to the next-lowest privileged mode. address: 0x306 priv_mode: M reset-val: 0 mcountinhibit: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: {ro_constant: 0} rv64: accessible: false description: The mcountinhibit is a 32-bit WARL register that controls which of the hardware performance-monitoring counters increment. address: 0x320 priv_mode: M reset-val: 0 mcycle: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: warl: dependency_fields: [] legal: - mcycle[31:0] in [0x00000000:0xFFFFFFFF] wr_illegal: - unchanged rv64: accessible: false description: Counts the number of clock cycles executed from an arbitrary point in time. address: 0xB00 priv_mode: M reset-val: 0 mcycleh: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: warl: dependency_fields: [] legal: - mcycleh[31:0] in [0x00000000:0xFFFFFFFF] wr_illegal: - unchanged rv64: accessible: false description: upper 32 bits of mcycle address: 0xB80 priv_mode: M reset-val: 0 minstret: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: warl: dependency_fields: [] legal: - minstret[31:0] in [0x00000000:0xFFFFFFFF] wr_illegal: - unchanged rv64: accessible: false description: Counts the number of instructions completed from an arbitrary point in time. address: 0xB02 priv_mode: M reset-val: 0 minstreth: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: warl: dependency_fields: [] legal: - minstreth[31:0] in [0x00000000:0xFFFFFFFF] wr_illegal: - unchanged rv64: accessible: false description: Upper 32 bits of minstret. address: 0xB82 priv_mode: M reset-val: 0 mhpmevent3: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: &id001 ro_constant: 0 rv64: accessible: false description: The mhpmevent3 is a MXLEN-bit event register which controls mhpmcounter3. address: 0x323 priv_mode: M reset-val: 0 mhpmcounter3: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter3 is a 64-bit counter. Returns lower 32 bits in RV32I mode. address: 0xB03 priv_mode: M reset-val: 0 mhpmcounter3h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: &id002 ro_constant: 0 rv64: accessible: false description: The mhpmcounter3h returns the upper half word in RV32I systems. address: 0xB83 priv_mode: M reset-val: 0 mhpmevent4: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent4 is a MXLEN-bit event register which controls mhpmcounter4. address: 0x324 priv_mode: M reset-val: 0 mhpmcounter4: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter4 is a 64-bit counter. Returns lower 42 bits in RV42I mode. address: 0xB04 priv_mode: M reset-val: 0 mhpmcounter4h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter4h returns the upper half word in RV42I systems. address: 0xB84 priv_mode: M reset-val: 0 mhpmevent5: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent5 is a MXLEN-bit event register which controls mhpmcounter5. address: 0x325 priv_mode: M reset-val: 0 mhpmcounter5: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter5 is a 64-bit counter. Returns lower 52 bits in RV52I mode. address: 0xB05 priv_mode: M reset-val: 0 mhpmcounter5h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter5h returns the upper half word in RV52I systems. address: 0xB85 priv_mode: M reset-val: 0 mhpmevent6: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent6 is a MXLEN-bit event register which controls mhpmcounter6. address: 0x326 priv_mode: M reset-val: 0 mhpmcounter6: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter6 is a 64-bit counter. Returns lower 62 bits in RV62I mode. address: 0xB06 priv_mode: M reset-val: 0 mhpmcounter6h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter6h returns the upper half word in RV62I systems. address: 0xB86 priv_mode: M reset-val: 0 mhpmevent7: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent7 is a MXLEN-bit event register which controls mhpmcounter7. address: 0x327 priv_mode: M reset-val: 0 mhpmcounter7: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter7 is a 64-bit counter. Returns lower 72 bits in RV72I mode. address: 0xB07 priv_mode: M reset-val: 0 mhpmcounter7h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter7h returns the upper half word in RV72I systems. address: 0xB87 priv_mode: M reset-val: 0 mhpmevent8: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent8 is a MXLEN-bit event register which controls mhpmcounter8. address: 0x328 priv_mode: M reset-val: 0 mhpmcounter8: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter8 is a 64-bit counter. Returns lower 82 bits in RV82I mode. address: 0xB08 priv_mode: M reset-val: 0 mhpmcounter8h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter8h returns the upper half word in RV82I systems. address: 0xB88 priv_mode: M reset-val: 0 mhpmevent9: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent9 is a MXLEN-bit event register which controls mhpmcounter9. address: 0x329 priv_mode: M reset-val: 0 mhpmcounter9: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter9 is a 64-bit counter. Returns lower 32 bits in RV32I mode. address: 0xB09 priv_mode: M reset-val: 0 mhpmcounter9h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter9h returns the upper half word in RV32I systems. address: 0xB89 priv_mode: M reset-val: 0 mhpmevent10: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent10 is a MXLEN-bit event register which controls mhpmcounter10. address: 0x32a priv_mode: M reset-val: 0 mhpmcounter10: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter10 is a 64-bit counter. Returns lower 102 bits in RV102I mode. address: 0xB0A priv_mode: M reset-val: 0 mhpmcounter10h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter10h returns the upper half word in RV102I systems. address: 0xB8A priv_mode: M reset-val: 0 mhpmevent11: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent11 is a MXLEN-bit event register which controls mhpmcounter11. address: 0x32b priv_mode: M reset-val: 0 mhpmcounter11: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter11 is a 64-bit counter. Returns lower 112 bits in RV112I mode. address: 0xB0B priv_mode: M reset-val: 0 mhpmcounter11h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter11h returns the upper half word in RV112I systems. address: 0xB8B priv_mode: M reset-val: 0 mhpmevent12: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent12 is a MXLEN-bit event register which controls mhpmcounter12. address: 0x32c priv_mode: M reset-val: 0 mhpmcounter12: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter12 is a 64-bit counter. Returns lower 122 bits in RV122I mode. address: 0xB0C priv_mode: M reset-val: 0 mhpmcounter12h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter12h returns the upper half word in RV122I systems. address: 0xB8C priv_mode: M reset-val: 0 mhpmevent13: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent13 is a MXLEN-bit event register which controls mhpmcounter13. address: 0x32d priv_mode: M reset-val: 0 mhpmcounter13: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter13 is a 64-bit counter. Returns lower 132 bits in RV132I mode. address: 0xB0D priv_mode: M reset-val: 0 mhpmcounter13h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter13h returns the upper half word in RV132I systems. address: 0xB8D priv_mode: M reset-val: 0 mhpmevent14: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent14 is a MXLEN-bit event register which controls mhpmcounter14. address: 0x32e priv_mode: M reset-val: 0 mhpmcounter14: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter14 is a 64-bit counter. Returns lower 142 bits in RV142I mode. address: 0xB0E priv_mode: M reset-val: 0 mhpmcounter14h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter14h returns the upper half word in RV142I systems. address: 0xB8E priv_mode: M reset-val: 0 mhpmevent15: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent15 is a MXLEN-bit event register which controls mhpmcounter15. address: 0x32f priv_mode: M reset-val: 0 mhpmcounter15: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter15 is a 64-bit counter. Returns lower 152 bits in RV152I mode. address: 0xB0F priv_mode: M reset-val: 0 mhpmcounter15h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter15h returns the upper half word in RV152I systems. address: 0xB8F priv_mode: M reset-val: 0 mhpmevent16: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent16 is a MXLEN-bit event register which controls mhpmcounter16. address: 0x330 priv_mode: M reset-val: 0 mhpmcounter16: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter16 is a 64-bit counter. Returns lower 162 bits in RV162I mode. address: 0xB10 priv_mode: M reset-val: 0 mhpmcounter16h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter16h returns the upper half word in RV162I systems. address: 0xB90 priv_mode: M reset-val: 0 mhpmevent17: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent17 is a MXLEN-bit event register which controls mhpmcounter17. address: 0x331 priv_mode: M reset-val: 0 mhpmcounter17: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter17 is a 64-bit counter. Returns lower 172 bits in RV172I mode. address: 0xB11 priv_mode: M reset-val: 0 mhpmcounter17h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter17h returns the upper half word in RV172I systems. address: 0xB91 priv_mode: M reset-val: 0 mhpmevent18: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent18 is a MXLEN-bit event register which controls mhpmcounter18. address: 0x332 priv_mode: M reset-val: 0 mhpmcounter18: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter18 is a 64-bit counter. Returns lower 182 bits in RV182I mode. address: 0xB12 priv_mode: M reset-val: 0 mhpmcounter18h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter18h returns the upper half word in RV182I systems. address: 0xB92 priv_mode: M reset-val: 0 mhpmevent19: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent19 is a MXLEN-bit event register which controls mhpmcounter19. address: 0x333 priv_mode: M reset-val: 0 mhpmcounter19: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter19 is a 64-bit counter. Returns lower 32 bits in RV32I mode. address: 0xB13 priv_mode: M reset-val: 0 mhpmcounter19h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter19h returns the upper half word in RV32I systems. address: 0xB93 priv_mode: M reset-val: 0 mhpmevent20: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent20 is a MXLEN-bit event register which controls mhpmcounter20. address: 0x334 priv_mode: M reset-val: 0 mhpmcounter20: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter20 is a 64-bit counter. Returns lower 202 bits in RV202I mode. address: 0xB14 priv_mode: M reset-val: 0 mhpmcounter20h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter20h returns the upper half word in RV202I systems. address: 0xB94 priv_mode: M reset-val: 0 mhpmevent21: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent21 is a MXLEN-bit event register which controls mhpmcounter21. address: 0x335 priv_mode: M reset-val: 0 mhpmcounter21: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter21 is a 64-bit counter. Returns lower 212 bits in RV212I mode. address: 0xB15 priv_mode: M reset-val: 0 mhpmcounter21h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter21h returns the upper half word in RV212I systems. address: 0xB95 priv_mode: M reset-val: 0 mhpmevent22: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent22 is a MXLEN-bit event register which controls mhpmcounter22. address: 0x336 priv_mode: M reset-val: 0 mhpmcounter22: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter22 is a 64-bit counter. Returns lower 222 bits in RV222I mode. address: 0xB16 priv_mode: M reset-val: 0 mhpmcounter22h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter22h returns the upper half word in RV222I systems. address: 0xB96 priv_mode: M reset-val: 0 mhpmevent23: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent23 is a MXLEN-bit event register which controls mhpmcounter23. address: 0x337 priv_mode: M reset-val: 0 mhpmcounter23: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter23 is a 64-bit counter. Returns lower 232 bits in RV232I mode. address: 0xB17 priv_mode: M reset-val: 0 mhpmcounter23h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter23h returns the upper half word in RV232I systems. address: 0xB97 priv_mode: M reset-val: 0 mhpmevent24: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent24 is a MXLEN-bit event register which controls mhpmcounter24. address: 0x338 priv_mode: M reset-val: 0 mhpmcounter24: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter24 is a 64-bit counter. Returns lower 242 bits in RV242I mode. address: 0xB18 priv_mode: M reset-val: 0 mhpmcounter24h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter24h returns the upper half word in RV242I systems. address: 0xB98 priv_mode: M reset-val: 0 mhpmevent25: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent25 is a MXLEN-bit event register which controls mhpmcounter25. address: 0x339 priv_mode: M reset-val: 0 mhpmcounter25: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter25 is a 64-bit counter. Returns lower 252 bits in RV252I mode. address: 0xB19 priv_mode: M reset-val: 0 mhpmcounter25h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter25h returns the upper half word in RV252I systems. address: 0xB99 priv_mode: M reset-val: 0 mhpmevent26: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent26 is a MXLEN-bit event register which controls mhpmcounter26. address: 0x33a priv_mode: M reset-val: 0 mhpmcounter26: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter26 is a 64-bit counter. Returns lower 262 bits in RV262I mode. address: 0xB1A priv_mode: M reset-val: 0 mhpmcounter26h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter26h returns the upper half word in RV262I systems. address: 0xB9A priv_mode: M reset-val: 0 mhpmevent27: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent27 is a MXLEN-bit event register which controls mhpmcounter27. address: 0x33b priv_mode: M reset-val: 0 mhpmcounter27: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter27 is a 64-bit counter. Returns lower 272 bits in RV272I mode. address: 0xB1B priv_mode: M reset-val: 0 mhpmcounter27h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter27h returns the upper half word in RV272I systems. address: 0xB9B priv_mode: M reset-val: 0 mhpmevent28: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent28 is a MXLEN-bit event register which controls mhpmcounter28. address: 0x33c priv_mode: M reset-val: 0 mhpmcounter28: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter28 is a 64-bit counter. Returns lower 282 bits in RV282I mode. address: 0xB1C priv_mode: M reset-val: 0 mhpmcounter28h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter28h returns the upper half word in RV282I systems. address: 0xB9C priv_mode: M reset-val: 0 mhpmevent29: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent29 is a MXLEN-bit event register which controls mhpmcounter29. address: 0x33d priv_mode: M reset-val: 0 mhpmcounter29: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter29 is a 64-bit counter. Returns lower 32 bits in RV32I mode. address: 0xB1D priv_mode: M reset-val: 0 mhpmcounter29h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter29h returns the upper half word in RV32I systems. address: 0xB9D priv_mode: M reset-val: 0 mhpmevent30: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent30 is a MXLEN-bit event register which controls mhpmcounter30. address: 0x33e priv_mode: M reset-val: 0 mhpmcounter30: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter30 is a 64-bit counter. Returns lower 302 bits in RV302I mode. address: 0xB1E priv_mode: M reset-val: 0 mhpmcounter30h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter30h returns the upper half word in RV302I systems. address: 0xB9E priv_mode: M reset-val: 0 mhpmevent31: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmevent31 is a MXLEN-bit event register which controls mhpmcounter31. address: 0x33f priv_mode: M reset-val: 0 mhpmcounter31: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id001 rv64: accessible: false description: The mhpmcounter31 is a 64-bit counter. Returns lower 312 bits in RV312I mode. address: 0xB1F priv_mode: M reset-val: 0 mhpmcounter31h: rv32: accessible: true fields: [] shadow: shadow_type: rw msb: 31 lsb: 0 type: *id002 rv64: accessible: false description: The mhpmcounter31h returns the upper half word in RV312I systems. address: 0xB9F priv_mode: M reset-val: 0 sedeleg: rv32: accessible: false rv64: accessible: false description: sedeleg address: 258 priv_mode: S reset-val: 0 sideleg: rv32: accessible: false rv64: accessible: false description: sideleg priv_mode: S address: 259 reset-val: 0 fflags: rv32: accessible: false rv64: accessible: false description: 32-bit register to hold floating point accrued exceptions. address: 001 priv_mode: U reset-val: 0 frm: rv32: accessible: false rv64: accessible: false description: 32-bit register to hold Floating-Point Dynamic Rounding Mode. address: 002 priv_mode: U reset-val: 0 fcsr: rv32: accessible: false rv64: accessible: false description: 32-bit register to hold Floating-Point Control and Status Register. address: 003 priv_mode: U reset-val: 0 cycle: rv32: accessible: false rv64: accessible: false description: Captures the number of cycles executed from an arbitrary point in time. priv_mode: U address: 0xC00 reset-val: 0 cycleh: rv32: accessible: false rv64: accessible: false description: Upper 32-bits of the mcycle counter; only for rv32. address: 0xC80 priv_mode: U reset-val: 0 time: rv32: accessible: false rv64: accessible: false description: Timer for RDTIME instruction and RTC in the processor. priv_mode: U address: 0xC01 reset-val: 0 timeh: rv32: accessible: false rv64: accessible: false description: Upper 32-bits of the Timer for RDTIME instruction and RTC in the processor; only for rv32. address: 0xC81 priv_mode: U reset-val: 0 instret: rv32: accessible: false rv64: accessible: false description: Captures the number of instructions executed from an arbitrary point in time. priv_mode: U address: 0xC02 reset-val: 0 instreth: rv32: accessible: false rv64: accessible: false description: Upper 32-bits of the minstret counter; only for rv32. address: 0xC82 priv_mode: U reset-val: 0 hpmcounter3: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter3 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC03 hpmcounter4: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter4 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC04 hpmcounter5: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter5 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC05 hpmcounter6: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter6 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC06 hpmcounter7: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter7 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC07 hpmcounter8: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter8 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC08 hpmcounter9: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter9 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC09 hpmcounter10: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter10 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC0A hpmcounter11: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter11 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC0B hpmcounter12: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter12 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC0C hpmcounter13: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter13 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC0D hpmcounter14: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter14 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC0E hpmcounter15: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter15 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC0F hpmcounter16: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter16 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC10 hpmcounter17: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter17 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC11 hpmcounter18: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter18 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC12 hpmcounter19: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter19 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC13 hpmcounter20: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter20 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC14 hpmcounter21: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter21 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC15 hpmcounter22: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter22 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC16 hpmcounter23: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter23 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC17 hpmcounter24: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter24 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC18 hpmcounter25: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter25 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC19 hpmcounter26: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter26 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC1A hpmcounter27: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter27 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC1B hpmcounter28: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter28 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC1C hpmcounter29: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter29 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC1D hpmcounter30: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter30 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC1E hpmcounter31: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter31 is a 64-bit counter. Returns lower 32 bits in RV32UI mode. address: 0xC1F hpmcounter3h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter3h returns the upper half word in RV32I systems. address: 0xC83 hpmcounter4h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter4h returns the upper half word in RV32I systems. address: 0xC84 hpmcounter5h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter5h returns the upper half word in RV32I systems. address: 0xC85 hpmcounter6h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter6h returns the upper half word in RV32I systems. address: 0xC86 hpmcounter7h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter7h returns the upper half word in RV32I systems. address: 0xC87 hpmcounter8h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter8h returns the upper half word in RV32I systems. address: 0xC88 hpmcounter9h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter9h returns the upper half word in RV32I systems. address: 0xC89 hpmcounter10h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter10h returns the upper half word in RV32I systems. address: 0xC8A hpmcounter11h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter11h returns the upper half word in RV32I systems. address: 0xC8B hpmcounter12h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter12h returns the upper half word in RV32I systems. address: 0xC8C hpmcounter13h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter13h returns the upper half word in RV32I systems. address: 0xC8D hpmcounter14h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter14h returns the upper half word in RV32I systems. address: 0xC8E hpmcounter15h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter15h returns the upper half word in RV32I systems. address: 0xC8F hpmcounter16h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter16h returns the upper half word in RV32I systems. address: 0xC90 hpmcounter17h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter17h returns the upper half word in RV32I systems. address: 0xC91 hpmcounter18h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter18h returns the upper half word in RV32I systems. address: 0xC92 hpmcounter19h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter19h returns the upper half word in RV32I systems. address: 0xC93 hpmcounter20h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter20h returns the upper half word in RV32I systems. address: 0xC94 hpmcounter21h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter21h returns the upper half word in RV32I systems. address: 0xC95 hpmcounter22h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter22h returns the upper half word in RV32I systems. address: 0xC96 hpmcounter23h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter23h returns the upper half word in RV32I systems. address: 0xC97 hpmcounter24h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter24h returns the upper half word in RV32I systems. address: 0xC98 hpmcounter25h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter25h returns the upper half word in RV32I systems. address: 0xC99 hpmcounter26h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter26h returns the upper half word in RV32I systems. address: 0xC9A hpmcounter27h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter27h returns the upper half word in RV32I systems. address: 0xC9B hpmcounter28h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter28h returns the upper half word in RV32I systems. address: 0xC9C hpmcounter29h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter29h returns the upper half word in RV32I systems. address: 0xC9D hpmcounter30h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter30h returns the upper half word in RV32I systems. address: 0xC9E hpmcounter31h: rv32: accessible: false rv64: accessible: false priv_mode: U reset-val: 0 description: The hpmcounter31h returns the upper half word in RV32I systems. address: 0xC9F sstatus: rv32: accessible: false rv64: accessible: false description: The sstatus register keeps track of the processor’s current operating state. address: 0x100 priv_mode: S reset-val: 0 sie: rv32: accessible: false rv64: accessible: false description: The sie register is an SXLEN-bit read/write register containing interrupt enable bits. address: 0x104 priv_mode: S reset-val: 0 sip: rv32: accessible: false rv64: accessible: false description: The sip register is an SXLEN-bit read/write register containing interrupt pending bits. address: 0x144 priv_mode: S reset-val: 0 sscratch: rv32: accessible: false rv64: accessible: false description: The sscratch register is an MXLEN-bit read/write register dedicated for use by machine mode. address: 0x140 priv_mode: S reset-val: 0 sepc: rv32: accessible: false rv64: accessible: false description: The sepc is a warl register that must be able to hold all valid physical and virtual addresses. address: 0x141 priv_mode: S reset-val: 0 stval: rv32: accessible: false rv64: accessible: false description: The stval is a warl register that holds the address of the instruction which caused the exception. address: 0x143 priv_mode: S reset-val: 0 scause: rv32: accessible: false rv64: accessible: false description: The scause register stores the information regarding the trap. address: 0x142 priv_mode: S reset-val: 0 stvec: rv32: accessible: false rv64: accessible: false description: SXLEN-bit read/write register that holds trap vector configuration. address: 0x105 priv_mode: S reset-val: 0 satp: rv32: accessible: false rv64: accessible: false description: SXLEN-bit register which controls supervisor-mode address translation and protection address: 0x180 priv_mode: S reset-val: 0 ustatus: rv32: accessible: false rv64: accessible: false description: The ustatus register keeps track of the processor’s current operating state. address: 0x000 priv_mode: U reset-val: 0 uie: rv32: accessible: false rv64: accessible: false description: The uie register is an UXLEN-bit read/write register containing interrupt enable bits. address: 0x004 priv_mode: U reset-val: 0 uip: rv32: accessible: false rv64: accessible: false description: The uip register is an UXLEN-bit read/write register containing interrupt pending bits. address: 0x044 priv_mode: U reset-val: 0 uscratch: rv32: accessible: false rv64: accessible: false description: The uscratch register is an UXLEN-bit read/write register dedicated for use by machine mode. address: 0x040 priv_mode: U reset-val: 0 uepc: rv32: accessible: false rv64: accessible: false description: The uepc is a warl register that must be able to hold all valid physical and virtual addresses. address: 0x041 priv_mode: U reset-val: 0 utval: rv32: accessible: false rv64: accessible: false description: The utval is a warl register that holds the address of the instruction which caused the exception. address: 0x043 priv_mode: U reset-val: 0 ucause: rv32: accessible: false rv64: accessible: false description: The ucause register stores the information regarding the trap. address: 0x042 priv_mode: U reset-val: 0 utvec: rv32: accessible: false rv64: accessible: false description: UXLEN-bit read/write register that holds trap vector configuration. address: 0x005 priv_mode: U reset-val: 0 scounteren: rv32: accessible: false rv64: accessible: false description: The scounteren is a 32-bit register that controls the availability of the hardware performance-monitoring counters to the next-lowest privileged mode. address: 0x106 priv_mode: S reset-val: 0 hstatus: rv32: accessible: false rv64: accessible: false description: The hstatus register keeps track of and controls the hart’s current operating state. address: 1536 priv_mode: H reset-val: 0 hideleg: rv32: accessible: false rv64: accessible: false description: Hypervisor Interrupt delegation Register. address: 1539 priv_mode: H reset-val: 0 hedeleg: rv32: accessible: false rv64: accessible: false description: Hypervisor Exception delegation Register. address: 1538 priv_mode: H reset-val: 0 hip: rv32: accessible: false rv64: accessible: false description: The hip register is an HXLEN-bit read/write register containing information on pending interrupts. address: 1604 priv_mode: H reset-val: 0 hvip: rv32: accessible: false rv64: accessible: false description: The hvip register is an HSXLEN-bit read/write register that a hypervisor can write to indicate virtual interrupts intended for VS-mode. address: 1605 priv_mode: H reset-val: 0 hgeip: rv32: accessible: false rv64: accessible: false description: The hgeip register is an HSXLEN-bit read-only register that indicates pending guest external interrupts for this hart. address: 0xE12 priv_mode: H reset-val: 0 hgeie: rv32: accessible: false rv64: accessible: false description: The hgeie register is an HSXLEN-bit read/write register that contains enable bits for the guest external interrupts at this hart. address: 0x607 priv_mode: H reset-val: 0 htval: rv32: accessible: false rv64: accessible: false description: The htval is a warl register that holds the address of the instruction which caused the exception. address: 0x643 priv_mode: H reset-val: 0 htinst: rv32: accessible: false rv64: accessible: false description: The htinst is a warl register that need only be able to hold the values that the implementation may automatically write to it on a trap. address: 0x64A priv_mode: H reset-val: 0 mtval2: rv32: accessible: false rv64: accessible: false description: When a trap is taken into M-mode, mtval2 is written with additional exception-specific information to assist software in handling the trap. address: 0x34B priv_mode: M reset-val: 0 mtinst: rv32: accessible: false rv64: accessible: false description: The mtinst is a warl register that need only be able to hold the values that the implementation may automatically write to it on a trap. address: 0x34A priv_mode: M reset-val: 0 hgatp: rv32: accessible: false rv64: accessible: false description: HSXLEN-bit register which controls G-stage address translation and protection address: 0x680 priv_mode: H reset-val: 0 hcounteren: rv32: accessible: false rv64: accessible: false description: The hcounteren is a 32-bit register that controls the availability of the hardware performance-monitoring counters to the next-lowest privileged mode. address: 0x606 priv_mode: H reset-val: 0 htimedelta: rv32: accessible: false rv64: accessible: false description: The htimedelta CSR is a read/write register that contains the delta between the value of the time CSR and the value returned in VS-mode or VU-mode. priv_mode: H address: 0x605 reset-val: 0 htimedeltah: rv32: accessible: false rv64: accessible: false description: Upper 32-bits of htimedelta address: 0x615 priv_mode: H reset-val: 0 vsstatus: rv32: accessible: false rv64: accessible: false description: The vsstatus register keeps track of the processor’s current operating state. address: 0x200 priv_mode: S reset-val: 0 vsie: rv32: accessible: false rv64: accessible: false description: The vsie register is an VSXLEN-bit read/write register containing interrupt enable bits. address: 0x204 priv_mode: S reset-val: 0 vsip: rv32: accessible: false rv64: accessible: false description: The vsip register is an VSXLEN-bit read/write register containing interrupt pending bits. address: 0x244 priv_mode: S reset-val: 0 vsscratch: rv32: accessible: false rv64: accessible: false description: The vsscratch register is an VSXLEN-bit read/write register dedicated for use by machine mode. address: 0x240 priv_mode: S reset-val: 0 vsepc: rv32: accessible: false rv64: accessible: false description: The vsepc is a warl register that must be able to hold all valid physical and virtual addresses. address: 0x241 priv_mode: S reset-val: 0 vstval: rv32: accessible: false rv64: accessible: false description: The vstval is a warl register that holds the address of the instruction which caused the exception. address: 0x243 priv_mode: S reset-val: 0 vscause: rv32: accessible: false rv64: accessible: false description: The scause register stores the information regarding the trap. address: 0x242 priv_mode: S reset-val: 0 vstvec: rv32: accessible: false rv64: accessible: false description: SXLEN-bit read/write register that holds trap vector configuration. address: 0x205 priv_mode: S reset-val: 0 vsatp: rv32: accessible: false rv64: accessible: false description: VSXLEN-bit register which controls supervisor-mode address translation and protection address: 0x280 priv_mode: S reset-val: 0 vxsat: rv32: accessible: false rv64: accessible: false description: The vxsat register records the overflow saturation condition of P and V instructions. address: 9 priv_mode: U reset-val: 0 mnscratch: rv32: accessible: false rv64: accessible: false description: |- The mnscratch CSR holds an MXLEN-bit read-write register which enables the NMI trap handler to save and restore the context that was interrupted. address: 0x740 priv_mode: M reset-val: 0 mnepc: rv32: accessible: false rv64: accessible: false description: |- The mnepc CSR is an MXLEN-bit read-write register which on entry to the NMI trap handler holds the PC of the instruction that took the interrupt. The low bit of mnepc (mnepc[0]) is always zero. On implementations that support only IALIGN=32, the two low bits (mnepc[1:0]) are always zero. If an implementation allows IALIGN to be either 16 or 32 (by changing CSR misa, for example), then, whenever IALIGN=32, bit mnepc[1] is masked on reads so that it appears to be 0. This masking occurs also for the implicit read by the MRET instruction. Though masked, mnepc[1] remains writable when IALIGN=32. mnepc is a WARL register that must be able to hold all valid virtual addresses. It need not be capable of holding all possible invalid addresses. Prior to writing mnepc, implementations may convert an invalid address into some other invalid address that mnepc is capable of holding. address: 0x741 priv_mode: M reset-val: 0 mncause: rv32: accessible: false rv64: accessible: false description: |- The mncause CSR holds the reason for the NMI, with bit MXLEN-1 set to 1, and the NMI cause encoded in the least-significant bits or zero if NMI causes are not supported. address: 0x742 priv_mode: M reset-val: 2147483648 mnstatus: rv32: accessible: false rv64: accessible: false description: |2- The mnstatus CSR holds a two-bit field, MNPP, which on entry to the trap handler holds the privilege mode of the interrupted context, encoded in the same manner as mstatus.MPP. It also holds a one-bit field, MNPV, which on entry to the trap handler holds the virtualization mode of the interrupted context, encoded in the same manner as mstatus.MPV. mnstatus also holds the NMIE bit. When NMIE=1, nonmaskable interrupts are enabled. When NMIE=0, all interrupts are disabled. When NMIE=0, the hart behaves as though mstatus.MPRV were clear, regardless of the current setting of mstatus.MPRV. Upon reset, NMIE contains the value 0. address: 0x744 priv_mode: M reset-val: 0
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/veer_platform_checked.yaml
mtime: implemented: true address: 0xbff8 mtimecmp: implemented: true address: 0x4000 nmi: label: nmi_vector reset: label: reset_vector mtval_condition_writes: implemented: false scause_non_standard: implemented: false stval_condition_writes: implemented: false zicbo_cache_block_sz: implemented: false

Please visit YAML specifications for more information.

Summary

75Passed, 0Failed

Results

Test Result Path
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cadd-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cadd-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/caddi-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/caddi-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/caddi16sp-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/caddi16sp-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/caddi4spn-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/caddi4spn-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cand-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cand-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/candi-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/candi-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cbeqz-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cbeqz-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cbnez-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cbnez-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cj-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cj-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cjal-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cjal-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cjalr-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cjalr-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cjr-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cjr-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cli-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cli-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/clui-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/clui-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/clw-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/clw-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/clwsp-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/clwsp-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cmv-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cmv-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cnop-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cnop-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cor-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cor-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cslli-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cslli-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/csrai-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/csrai-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/csrli-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/csrli-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/csub-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/csub-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/csw-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/csw-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cswsp-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cswsp-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/cxor-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/cxor-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/misalign1-cjalr-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/misalign1-cjalr-01.S
commit_id:0bf9236d18b17643c2d367e3be92d676c0c3a36f MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/C/src/misalign1-cjr-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/C/src/misalign1-cjr-01.S
commit_id:0bf9236d18b17643c2d367e3be92d676c0c3a36f MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/add-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/add-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/addi-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/addi-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/and-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/and-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/andi-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/andi-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/auipc-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/auipc-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/beq-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/beq-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bge-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/bge-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bgeu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/bgeu-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/blt-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/blt-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bltu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/bltu-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bne-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/bne-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/fence-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/fence-01.S
commit_id:81c7a2b769baa2f33f40bc5455299b1362b5d125 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/jal-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/jal-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/jalr-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/jalr-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lb-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/lb-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lbu-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/lbu-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lh-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/lh-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lhu-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/lhu-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lui-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/lui-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lw-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/lw-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/misalign1-jalr-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/misalign1-jalr-01.S
commit_id:0c4cdffe19b1a48d9fec8590c8817af2ff924a37 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/or-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/or-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/ori-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/ori-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sb-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sb-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sh-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sh-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sll-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sll-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/slli-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/slli-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/slt-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/slt-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/slti-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/slti-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sltiu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sltiu-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sltu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sltu-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sra-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sra-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/srai-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/srai-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/srl-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/srl-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/srli-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/srli-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sub-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sub-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sw-align-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/sw-align-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/xor-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/xor-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/xori-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/I/src/xori-01.S
commit_id:b91f98f3a0e908bad4680c2e3901fbc24b63a563 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/div-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/div-01.S
commit_id:9b503d7890296e53aa8a06e49ebef3c61ce5d3fd MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/divu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/divu-01.S
commit_id:3c7e9d41d4efb9dcb9c0af83e0eecbe28327bf3c MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/mul-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/mul-01.S
commit_id:3c7e9d41d4efb9dcb9c0af83e0eecbe28327bf3c MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/mulh-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/mulh-01.S
commit_id:3c7e9d41d4efb9dcb9c0af83e0eecbe28327bf3c MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/mulhsu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/mulhsu-01.S
commit_id:a02feaee118fbea01fbb8fdcdf62bce6f7067478 MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/mulhu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/mulhu-01.S
commit_id:3c7e9d41d4efb9dcb9c0af83e0eecbe28327bf3c MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/rem-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/rem-01.S
commit_id:3c7e9d41d4efb9dcb9c0af83e0eecbe28327bf3c MACROS: TEST_CASE_1=True XLEN=32
/home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscv-arch-test/riscv-test-suite/rv32i_m/M/src/remu-01.S Passed /home/runner/work/Cores-VeeR-EL2/Cores-VeeR-EL2/riscof/riscof_work/rv32i_m/M/src/remu-01.S
commit_id:3c7e9d41d4efb9dcb9c0af83e0eecbe28327bf3c MACROS: TEST_CASE_1=True XLEN=32