commit | 012952a1ad5031e66c1b4a13a9109e38677ed719 | [log] [tgz] |
---|---|---|
author | Tor Jeremiassen <torerik@google.com> | Thu Sep 26 14:44:57 2024 -0700 |
committer | Tor Jeremiassen <torerik@google.com> | Tue Oct 01 13:03:21 2024 -0700 |
tree | d33d0989eb64f11f29b959c238a9e68cc831d4c0 | |
parent | 2680bb281d8020d232d80618adfce4a9ca22108f [diff] |
Changed how caches are instantiated and configured. Since it is preferred to have absl::Flags all in one file (the file with, main()), how that flag is used to configure caches was changed to use config objects in the X_top classes. PiperOrigin-RevId: 679300970 Change-Id: Ic144279e37fb2e2c7730d63e7ff35a3326ea7c62
MPACT-Cheriot is an implementation of an instruction set simulator for the CherIoT instruction set architecture created using the MPACT-Sim simulator tools framework and reusing code from MPACT-RiscV. Additional information and codegen tools can be found at https://cheriot.org
There are three main targets in cheriot/BUILD:
mpact_cheriot
This is the standalone simulator target. It implements a simple command line assembly level debug interface that is accessed by passing the command line option ‘-i’ or ‘-interactive’.
renode_mpact_cheriot
This produces a shared object, a ‘.so’ file, that can be used together with ReNode, and that is loaded from MpactCheriotCPU.cs plugin file that can be found in mpact_sim:/util/renode/renode_cs. A debug interface can be made available on a socket that you can connect to with telnet or putty. This allows you to step, set breakpoints/watchpoints, etc. while running an application on ReNode.
cheriot_test_rig
This produces an executable suitable for running with TestRIG and comparing against the sail cheriot implementation. For more on that, see the TestRIG documentation.
MPACT-Sim utilizes the Bazel build system. The easiest way to install bazel is to use Bazelisk, a wrapper for Bazel that automates selecting and downloading the right version of bazel. Use brew install bazelisk
on macOS, choco install bazelisk
on Windows, and on linux, download the Bazelisk binary, add it to your PATH
, then alias bazel to the bazelisk binary.
MPACT-Sim depends on Java, so a reasonable JRE has to be installed. For macOS, run brew install java
, on linux sudo apt install default-jre
, and on Windows follow the appropriate instructions at java.com.
To build the mpact-sim libraries, use the command bazel build ...:all
from the top level directory. To run the tests, use the command bazel test ...:all