Fixes issue in the RiscVCounterCsrHigh<> class. PiperOrigin-RevId: 671861339 Change-Id: I3d35a82d48cd6a62fd5f009ef15cd3c1da9fd0fb
diff --git a/cheriot/cheriot_state.cc b/cheriot/cheriot_state.cc index 39ac0bf..6dc3ca0 100644 --- a/cheriot/cheriot_state.cc +++ b/cheriot/cheriot_state.cc
@@ -199,7 +199,9 @@ CHECK_NE(minstret, nullptr); if (sizeof(T) == sizeof(uint32_t)) { CHECK_NE(CreateCsr<RiscVCounterCsrHigh<CheriotState>>( - state, csr_vec, "minstreth", RiscVCsrEnum::kMInstretH, state), + state, csr_vec, "minstreth", RiscVCsrEnum::kMInstretH, state, + reinterpret_cast<RiscVCounterCsr<uint32_t, CheriotState> *>( + minstret)), nullptr); } // mcycle/mcycleh @@ -208,7 +210,9 @@ CHECK_NE(mcycle, nullptr); if (sizeof(T) == sizeof(uint32_t)) { CHECK_NE(CreateCsr<RiscVCounterCsrHigh<CheriotState>>( - state, csr_vec, "mcycleh", RiscVCsrEnum::kMCycleH, state), + state, csr_vec, "mcycleh", RiscVCsrEnum::kMCycleH, state, + reinterpret_cast<RiscVCounterCsr<uint32_t, CheriotState> *>( + mcycle)), nullptr); }