Report generated on 2022-03-18 19:48 GMT by riscof v

Environment

Riscof Version 1.23.4
Riscv-arch-test Version/Commit Id 2.7.1
DUT nox
Reference sail c simulator
ISA RV32I
User Spec Version 2.3
Privilege Spec Version 1.11

Yaml

Name
/test/riscof_compliance/riscof_work/nox_isa_checked.yaml
hart_ids: [0] hart0: ISA: RV32I physical_addr_sz: 32 User_Spec_Version: '2.3' Privilege_Spec_Version: '1.11' hw_data_misaligned_support: false supported_xlen: - 32 misa: reset-val: 0x40000100 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 pmp_granularity: 0 custom_exceptions: custom_interrupts: mstatus: rv32: accessible: true fields: - uie - sie - mie - upie - spie - mpie - spp - mpp - fs - xs - mprv - sum - mxr - tvm - tw - tsr - sd - - - 2 - - 6 - - 9 - 10 - - 23 - 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 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 - - - 0 - 3 - - 8 - 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 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
/test/riscof_compliance/riscof_work/nox_platform_checked.yaml
mtime: implemented: true address: 0xbff8 mtimecmp: implemented: false nmi: label: nmi_vector reset: label: reset_vector mtval_condition_writes: implemented: false scause_non_standard: implemented: false stval_condition_writes: implemented: false

Please visit YAML specifications for more information.

Summary

39Passed, 0Failed

Results

Test Result Path
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/add-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/add-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/addi-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/addi-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/and-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/and-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/andi-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/andi-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/auipc-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/auipc-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/beq-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/beq-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bge-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/bge-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bgeu-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/bgeu-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/blt-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/blt-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bltu-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/bltu-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/bne-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/bne-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/fence-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/fence-01.S
commit_id:ff9358edda915263426801f485b5be24f788862c MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/jal-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/jal-01.S
commit_id:ff9358edda915263426801f485b5be24f788862c MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/jalr-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/jalr-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lb-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/lb-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lbu-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/lbu-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lh-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/lh-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lhu-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/lhu-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lui-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/lui-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/lw-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/lw-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/or-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/or-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/ori-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/ori-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sb-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sb-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sh-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sh-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sll-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sll-01.S
commit_id:7f99888d992294a61b2a6bc8da4d8e3a9db0a3b8 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/slli-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/slli-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/slt-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/slt-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/slti-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/slti-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sltiu-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sltiu-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sltu-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sltu-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sra-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sra-01.S
commit_id:7f99888d992294a61b2a6bc8da4d8e3a9db0a3b8 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/srai-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/srai-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/srl-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/srl-01.S
commit_id:7f99888d992294a61b2a6bc8da4d8e3a9db0a3b8 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/srli-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/srli-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sub-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sub-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/sw-align-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/sw-align-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/xor-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/xor-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/I/src/xori-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/I/src/xori-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: TEST_CASE_1=True XLEN=32
/test/riscof_compliance/riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/misalign1-jalr-01.S Passed /test/riscof_compliance/riscof_work/rv32i_m/privilege/src/misalign1-jalr-01.S
commit_id:6ba8712973dade81eaf1182d1050e5799a7ef2a0 MACROS: rvtest_mtrap_routine=True TEST_CASE_1=True XLEN=32