commit | b9ffe2dda93b64bf201034bc18c8557ae17661ac | [log] [tgz] |
---|---|---|
author | Tor Jeremiassen <torerik@google.com> | Tue Dec 17 15:22:28 2024 -0800 |
committer | Tor Jeremiassen <torerik@google.com> | Tue Dec 17 15:25:04 2024 -0800 |
tree | 6c16fe96facff72ef4e78653ee7a624b784a2239 | |
parent | fd2a087c74c93cb0e88809c94f3654f5203dbbf0 [diff] |
Fixed an issue where the interrupt info list could underflow. PiperOrigin-RevId: 707271098 Change-Id: I789de735db6b77947a7e63dcb94b8ee7a359e020
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