diff --git a/WORKSPACE b/WORKSPACE
index bfc07eb..9ba8ebf 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -17,14 +17,6 @@
 load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
 load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
 
-# MPACT-Sim repo
-http_archive(
-    name = "com_google_mpact-sim",
-    sha256 = "384daa4f4bcacf0552cebdb5b3001b51af19dfed3dfa3367de5e3babcd65511d",
-    strip_prefix = "mpact-sim-a3dbb21f3f3d3193a8d0b6667f1d0807d1dc4dd4",
-    url = "https://github.com/google/mpact-sim/archive/a3dbb21f3f3d3193a8d0b6667f1d0807d1dc4dd4.tar.gz"
-)
-
 # MPACT-RiscV repo
 http_archive(
     name = "com_google_mpact-riscv",
@@ -33,12 +25,13 @@
     url = "https://github.com/google/mpact-riscv/archive/a43a92ba38d8260f4207416e11721ceee7135624.tar.gz"
 )
 
-# MPACT-ReNode repo will go here.
-git_repository(
-  name = "com_google_mpact-renode",
-  branch = "main",
-  remote = "https://mpact.googlesource.com/mpact-renode",
-)
+load("@com_google_mpact-riscv//:repos.bzl, "mpact_riscv_repos")
+
+mpact_riscv_repos()
+
+load("@com_google_mpact-riscv//::deps.bzl, "mpact_riscv_deps")
+
+mpact_riscv_deps()
 
 load("@com_google_mpact-sim//:repos.bzl", "mpact_sim_repos")
 
diff --git a/cheriot/BUILD b/cheriot/BUILD
index 990e5e2..7d7e169 100644
--- a/cheriot/BUILD
+++ b/cheriot/BUILD
@@ -345,9 +345,6 @@
         "@com_google_absl//absl/status",
         "@com_google_absl//absl/status:statusor",
         "@com_google_absl//absl/strings",
-        "@com_google_mpact-renode//renode",
-        "@com_google_mpact-renode//renode:renode_debug_interface",
-        "@com_google_mpact-renode//renode:socket_cli",
         "@com_google_mpact-riscv//riscv:riscv_arm_semihost",
         "@com_google_mpact-riscv//riscv:riscv_clint",
         "@com_google_mpact-riscv//riscv:riscv_state",
@@ -358,6 +355,9 @@
         "@com_google_mpact-sim//mpact/sim/proto:component_data_cc_proto",
         "@com_google_mpact-sim//mpact/sim/util/memory",
         "@com_google_mpact-sim//mpact/sim/util/program_loader:elf_loader",
+        "@com_google_mpact-sim//mpact/sim/util/renode",
+        "@com_google_mpact-sim//mpact/sim/util/renode:renode_debug_interface",
+        "@com_google_mpact-sim//mpact/sim/util/renode:socket_cli",
         "@com_google_protobuf//:protobuf",
     ],
 )
@@ -368,7 +368,7 @@
     linkstatic = True,
     deps = [
         ":cheriot_renode",
-        "@com_google_mpact-renode//renode",
+        "@com_google_mpact-sim//mpact/sim/util/renode",
     ],
 )
 
diff --git a/cheriot/cheriot_cli_forwarder.cc b/cheriot/cheriot_cli_forwarder.cc
index 8ba7364..ce7ae7a 100644
--- a/cheriot/cheriot_cli_forwarder.cc
+++ b/cheriot/cheriot_cli_forwarder.cc
@@ -23,14 +23,14 @@
 #include "absl/status/statusor.h"
 #include "cheriot/cheriot_renode_cli_top.h"
 #include "mpact/sim/generic/core_debug_interface.h"
-#include "third_party/mpact_renode/cli_forwarder.h"
+#include "mpact/sim/util/renode/cli_forwarder.h"
 
 namespace mpact {
 namespace sim {
 namespace cheriot {
 
 using ::mpact::sim::generic::AccessType;
-using ::mpact::sim::renode::CLIForwarder;
+using ::mpact::sim::util::renode::CLIForwarder;
 using RunStatus = ::mpact::sim::generic::CoreDebugInterface::RunStatus;
 using HaltReasonValueType =
     ::mpact::sim::generic::CoreDebugInterface::HaltReasonValueType;
diff --git a/cheriot/cheriot_cli_forwarder.h b/cheriot/cheriot_cli_forwarder.h
index ac72a45..04dac62 100644
--- a/cheriot/cheriot_cli_forwarder.h
+++ b/cheriot/cheriot_cli_forwarder.h
@@ -25,7 +25,7 @@
 #include "absl/status/statusor.h"
 #include "cheriot/cheriot_renode_cli_top.h"
 #include "mpact/sim/generic/core_debug_interface.h"
-#include "third_party/mpact_renode/cli_forwarder.h"
+#include "mpact/sim/util/renode/cli_forwarder.h"
 
 // This file defines a class that forwards calls from the CLI to the class that
 // merges requests from the CLI and ReNode.
@@ -35,7 +35,7 @@
 namespace cheriot {
 
 using ::mpact::sim::generic::AccessType;
-using ::mpact::sim::renode::CLIForwarder;
+using ::mpact::sim::util::renode::CLIForwarder;
 
 class CheriotCLIForwarder : public CLIForwarder {
  public:
diff --git a/cheriot/cheriot_renode.cc b/cheriot/cheriot_renode.cc
index d32bc39..505dc77 100644
--- a/cheriot/cheriot_renode.cc
+++ b/cheriot/cheriot_renode.cc
@@ -51,15 +51,15 @@
 #include "mpact/sim/util/memory/single_initiator_router.h"
 #include "mpact/sim/util/memory/tagged_flat_demand_memory.h"
 #include "mpact/sim/util/memory/tagged_memory_watcher.h"
+#include "mpact/sim/util/memory/tagged_to_untagged_memory_transactor.h"
+#include "mpact/sim/util/renode/renode_debug_interface.h"
 #include "riscv//riscv_arm_semihost.h"
 #include "riscv//riscv_clint.h"
 #include "riscv//riscv_state.h"
 #include "riscv//stoull_wrapper.h"
 #include "src/google/protobuf/text_format.h"
-#include "third_party/mpact_renode/renode_debug_interface.h"
-#include "third_party/mpact_renode/tagged_to_untagged_memory_transactor.h"
 
-::mpact::sim::renode::RenodeDebugInterface *CreateMpactSim(
+::mpact::sim::util::renode::RenodeDebugInterface *CreateMpactSim(
     std::string name, ::mpact::sim::util::MemoryInterface *renode_sysbus) {
   auto *top = new ::mpact::sim::cheriot::CheriotRenode(name, renode_sysbus);
   return top;
@@ -72,10 +72,10 @@
 using ::mpact::sim::cheriot::RiscVCheriotMInstret;
 using ::mpact::sim::cheriot::RiscVCheriotMInstreth;
 using ::mpact::sim::proto::ComponentData;
-using ::mpact::sim::renode::TaggedToUntaggedMemoryTransactor;
 using ::mpact::sim::riscv::RiscVClint;
 using ::mpact::sim::util::AtomicMemoryOpInterface;
 using ::mpact::sim::util::TaggedMemoryWatcher;
+using ::mpact::sim::util::TaggedToUntaggedMemoryTransactor;
 
 using HaltReasonValueType =
     ::mpact::sim::generic::CoreDebugInterface::HaltReasonValueType;
diff --git a/cheriot/cheriot_renode.h b/cheriot/cheriot_renode.h
index 0edfa14..d2b98d7 100644
--- a/cheriot/cheriot_renode.h
+++ b/cheriot/cheriot_renode.h
@@ -38,10 +38,10 @@
 #include "mpact/sim/util/memory/tagged_flat_demand_memory.h"
 #include "mpact/sim/util/memory/tagged_memory_interface.h"
 #include "mpact/sim/util/program_loader/elf_program_loader.h"
+#include "mpact/sim/util/renode/renode_debug_interface.h"
+#include "mpact/sim/util/renode/socket_cli.h"
 #include "riscv//riscv_arm_semihost.h"
 #include "riscv//riscv_clint.h"
-#include "third_party/mpact_renode/renode_debug_interface.h"
-#include "third_party/mpact_renode/socket_cli.h"
 
 // This file defines a wrapper class for the CheriotTop that adds Arm
 // semihosting. In addition, the .cc class defines a global namespace
@@ -55,7 +55,7 @@
 // a combined ReNode/CLI interface that manages the priorities and access of
 // ReNode and command line commands to the simulator control class.
 
-extern ::mpact::sim::renode::RenodeDebugInterface *CreateMpactSim(
+extern ::mpact::sim::util::renode::RenodeDebugInterface *CreateMpactSim(
     std::string name, ::mpact::sim::util::MemoryInterface *renode_sysbus);
 
 namespace mpact {
@@ -63,7 +63,6 @@
 namespace cheriot {
 
 using ::mpact::sim::generic::DataBufferFactory;
-using ::mpact::sim::renode::SocketCLI;
 using ::mpact::sim::riscv::RiscVArmSemihost;
 using ::mpact::sim::riscv::RiscVClint;
 using ::mpact::sim::util::AtomicMemory;
@@ -72,8 +71,9 @@
 using ::mpact::sim::util::SingleInitiatorRouter;
 using ::mpact::sim::util::TaggedFlatDemandMemory;
 using ::mpact::sim::util::TaggedMemoryInterface;
+using ::mpact::sim::util::renode::SocketCLI;
 
-class CheriotRenode : public renode::RenodeDebugInterface {
+class CheriotRenode : public util::renode::RenodeDebugInterface {
  public:
   // Supported IRQ request types.
   enum class IrqType {
@@ -94,7 +94,7 @@
 
   using ::mpact::sim::generic::CoreDebugInterface::HaltReason;
   using ::mpact::sim::generic::CoreDebugInterface::RunStatus;
-  using RenodeCpuRegister = ::mpact::sim::renode::RenodeCpuRegister;
+  using RenodeCpuRegister = ::mpact::sim::util::renode::RenodeCpuRegister;
 
   // Constructor takes a name and a memory interface that is used for memory
   // transactions routed to the system bus.
diff --git a/cheriot/cheriot_renode_cli_top.cc b/cheriot/cheriot_renode_cli_top.cc
index 302a7fc..2c7e20d 100644
--- a/cheriot/cheriot_renode_cli_top.cc
+++ b/cheriot/cheriot_renode_cli_top.cc
@@ -25,7 +25,7 @@
 #include "absl/status/statusor.h"
 #include "cheriot/cheriot_debug_interface.h"
 #include "cheriot/cheriot_top.h"
-#include "third_party/mpact_renode/renode_cli_top.h"
+#include "mpact/sim/util/renode/renode_cli_top.h"
 
 namespace mpact {
 namespace sim {
@@ -33,7 +33,7 @@
 
 CheriotRenodeCLITop::CheriotRenodeCLITop(CheriotTop *cheriot_top,
                                          bool wait_for_cli)
-    : renode::RenodeCLITop(cheriot_top, wait_for_cli),
+    : util::renode::RenodeCLITop(cheriot_top, wait_for_cli),
       cheriot_top_(cheriot_top) {}
 
 absl::StatusOr<size_t> CheriotRenodeCLITop::CLIReadTagMemory(uint64_t address,
diff --git a/cheriot/cheriot_renode_cli_top.h b/cheriot/cheriot_renode_cli_top.h
index 0819616..a806c4e 100644
--- a/cheriot/cheriot_renode_cli_top.h
+++ b/cheriot/cheriot_renode_cli_top.h
@@ -25,7 +25,7 @@
 #include "absl/status/statusor.h"
 #include "cheriot/cheriot_debug_interface.h"
 #include "cheriot/cheriot_top.h"
-#include "third_party/mpact_renode/renode_cli_top.h"
+#include "mpact/sim/util/renode/renode_cli_top.h"
 
 namespace mpact {
 namespace sim {
@@ -33,7 +33,7 @@
 
 // This class extends the RenodeCLITop with a few features specific to the
 // CherIoT CLI.
-class CheriotRenodeCLITop : public renode::RenodeCLITop {
+class CheriotRenodeCLITop : public util::renode::RenodeCLITop {
  public:
   CheriotRenodeCLITop(CheriotTop *cheriot_top, bool wait_for_cli);
 
diff --git a/cheriot/cheriot_renode_register_info.h b/cheriot/cheriot_renode_register_info.h
index a3888d4..84d5a00 100644
--- a/cheriot/cheriot_renode_register_info.h
+++ b/cheriot/cheriot_renode_register_info.h
@@ -19,7 +19,7 @@
 
 #include <vector>
 
-#include "third_party/mpact_renode/renode_debug_interface.h"
+#include "mpact/sim/util/renode/renode_debug_interface.h"
 
 namespace mpact {
 namespace sim {
@@ -30,7 +30,7 @@
 
 class CheriotRenodeRegisterInfo {
  public:
-  using RenodeRegisterInfo = std::vector<renode::RenodeCpuRegister>;
+  using RenodeRegisterInfo = std::vector<util::renode::RenodeCpuRegister>;
 
   static const RenodeRegisterInfo &GetRenodeRegisterInfo();
 
