Updated README.md.

PiperOrigin-RevId: 639130368
Change-Id: I181d2f9d1592bab1f656a63c8f6261266504fd17
3 files changed
tree: 12a3e1537d18e86784183fffefff37a20a81337e
  1. cheriot/
  2. .bazelrc
  3. BUILD
  4. CODE_OF_CONDUCT.md
  5. CONTRIBUTING.md
  6. deps.bzl
  7. LICENSE
  8. README.md
  9. repos.bzl
  10. riscv_dep_repos.bzl
  11. riscv_repos.bzl
  12. SECURITY.md
  13. WORKSPACE
README.md

MPACT-Cheriot

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.

Building

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.