commit | a8052d6bd843e502c27d7fe23546681b6d177a7e | [log] [tgz] |
---|---|---|
author | Tor Jeremiassen <torerik@google.com> | Tue Dec 03 15:20:40 2024 -0800 |
committer | Tor Jeremiassen <torerik@google.com> | Thu Dec 12 08:11:36 2024 -0800 |
tree | c2f22cb02f4b01723c7ee1f46e73494740e3d4e1 | |
parent | 4bf4bc0f8f69ed2a21492838ea657fa81ec3e5e0 [diff] |
Allows setting a core version from command line and renode properties. The version is specified as an integer, with 100 = 1.00, 150 = 1.50, etc. Behavior of jal/jalr are changed for core versions greater than 100 (default). In higher versions, when the destination register is not "ra", then an unsealed return capability is returned as opposed to a sealed one. PiperOrigin-RevId: 702487323 Change-Id: I856b7bcf0b1fb6da694486d6de8d0dde41de7029
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