- case CSR_MUCOUNTEREN: return state.mucounteren;
- case CSR_MSCOUNTEREN: return state.mscounteren;
- case CSR_MUCYCLE_DELTA: return 0;
- case CSR_MUTIME_DELTA: return 0;
- case CSR_MUINSTRET_DELTA: return 0;
- case CSR_MSCYCLE_DELTA: return 0;
- case CSR_MSTIME_DELTA: return 0;
- case CSR_MSINSTRET_DELTA: return 0;
- case CSR_MUCYCLE_DELTAH: if (xlen > 32) break; else return 0;
- case CSR_MUTIME_DELTAH: if (xlen > 32) break; else return 0;
- case CSR_MUINSTRET_DELTAH: if (xlen > 32) break; else return 0;
- case CSR_MSCYCLE_DELTAH: if (xlen > 32) break; else return 0;
- case CSR_MSTIME_DELTAH: if (xlen > 32) break; else return 0;
- case CSR_MSINSTRET_DELTAH: if (xlen > 32) break; else return 0;
- case CSR_MCYCLE: return state.minstret;
- case CSR_MINSTRET: return state.minstret;
- case CSR_MCYCLEH: if (xlen > 32) break; else return state.minstret >> 32;
- case CSR_MINSTRETH: if (xlen > 32) break; else return state.minstret >> 32;
+ case CSR_MINSTRETH:
+ case CSR_MCYCLEH:
+ if (xlen == 32)
+ return state.minstret >> 32;
+ break;
+ case CSR_SCOUNTEREN: return state.scounteren;
+ case CSR_MCOUNTEREN: return state.mcounteren;