commit | 2680bb281d8020d232d80618adfce4a9ca22108f | [log] [tgz] |
---|---|---|
author | Tor Jeremiassen <torerik@google.com> | Wed Sep 25 10:45:06 2024 -0700 |
committer | Tor Jeremiassen <torerik@google.com> | Tue Oct 01 13:03:11 2024 -0700 |
tree | 9b112115d03d694f609685137fbf4a098263a707 | |
parent | cfca199280b469f03950d4c59fac8bb308e41f99 [diff] |
This adds a cache class that can be used as part of the memory hierarchy. As an example, an instruction cache is added (with an optional flag) to mpact_riscv and mpact_cheriot. PiperOrigin-RevId: 678760853 Change-Id: Iccbe311bf7478ee79b38996d35b7101a45ae304f
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