No public description
PiperOrigin-RevId: 638314577
Change-Id: I69d66761b734b64ae41e75091dd285f9b0eb73df
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();