Bump mpact-riscv version to support kelvin op breakpoint
PiperOrigin-RevId: 558877192
diff --git a/WORKSPACE b/WORKSPACE
index c47f538..75d2e3f 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -6,9 +6,9 @@
# MPACT-RiscV repo
http_archive(
name = "com_google_mpact-riscv",
- sha256 = "b293e55147a2ce2067a25032cef6b27f6450f3ef383e02d5607d53d910208e68",
- strip_prefix = "mpact-riscv-f66002025ec6c585839568112cabc1ce19d1b919",
- url = "https://github.com/google/mpact-riscv/archive/f66002025ec6c585839568112cabc1ce19d1b919.tar.gz",
+ sha256 = "244236ecf63f812eedf4e1c80e79276374d4c8a9222860220706522edf093fc8",
+ strip_prefix = "mpact-riscv-8b0c6b7fa4f48d6dba99c1a4abba3bb548577cad",
+ url = "https://github.com/google/mpact-riscv/archive/8b0c6b7fa4f48d6dba99c1a4abba3bb548577cad.tar.gz",
)
# MPACT-Sim repo
diff --git a/sim/kelvin_top.cc b/sim/kelvin_top.cc
index a4b92da..61ea668 100644
--- a/sim/kelvin_top.cc
+++ b/sim/kelvin_top.cc
@@ -102,9 +102,13 @@
// Register instruction counter.
CHECK_OK(AddCounter(&counter_num_instructions_))
<< "Failed to register counter";
+
+ // Always return 4-byte breakpoint instruction size
rv_bp_manager_ = new mpact::sim::riscv::RiscVBreakpointManager(
- memory_, absl::bind_front(&mpact::sim::generic::DecodeCache::Invalidate,
- decode_cache_));
+ memory_,
+ absl::bind_front(&mpact::sim::generic::DecodeCache::Invalidate,
+ decode_cache_),
+ [](uint64_t, uint32_t) -> int { return 4; });
// Make sure the architectural and abi register aliases are added.
std::string reg_name;
for (int i = 0; i < 32; i++) {