commit | 95c76652ddc4fe8bed304b6e6d22bdeff2d191b8 | [log] [tgz] |
---|---|---|
author | Tor Jeremiassen <torerik@google.com> | Fri May 31 13:10:08 2024 -0700 |
committer | Tor Jeremiassen <torerik@google.com> | Fri May 31 13:10:41 2024 -0700 |
tree | 12a3e1537d18e86784183fffefff37a20a81337e | |
parent | 0ca649febd4e2b4dda8686da360d0a09a6944b73 [diff] |
Updated README.md. PiperOrigin-RevId: 639130368 Change-Id: I181d2f9d1592bab1f656a63c8f6261266504fd17
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-Cheriot uses the bazel build system. This is best installed using bazilisk. Place a file named .bazeliskrc in your home directory specifying a bazel version 6.1.1 or later:
USE_BAZEL_VERSION=6.1.1
Once that has been set up, you can build all targets from the top level directory using the command bazel build ...:all
. To run all the tests, use the command bazel test ...:all
.