Tools for automatic generation of hypervisor modules and decoder automation.
libsail is required.
opam list
# Packages matching: installed
# Name # Installed # Synopsis
base-bigarray base
base-bytes base Bytes library distributed with the OCaml compiler
base-threads base
base-unix base
base64 3.5.1 Base64 encoding for OCaml
conf-findutils 1 Virtual package relying on findutils
conf-gmp 4 Virtual package relying on a GMP lib system instal
conf-m4 1 Virtual package relying on m4
conf-pkg-config 3 Check if pkg-config is installed and create an opa
conf-zlib 1 Virtual package relying on zlib
csexp 1.5.2 Parsing and printing of S-expressions in Canonical
dune 3.16.1 Fast, portable, and opinionated build system
dune-private-libs 3.16.1 Private libraries of Dune
dune-site 3.16.1 Embed locations information inside executable and
dyn 3.16.1 Dynamic type
gmp 6.2.1-5 The GNU Multiple Precision Arithmetic Library
host-arch-x86_64 1 OCaml on amd64 (64-bit)
host-system-other 1 OCaml on an unidentified system
lem 2022-12-10 Lem is a tool for lightweight executable mathemati
libsail 0.18 Sail is a language for describing the instruction
linenoise 1.5.1 Lightweight readline alternative
linksem 0.8 A formalisation of the core ELF and DWARF file for
menhir 20240715 An LR(1) parser generator
menhirCST 20240715 Runtime support library for parsers generated by M
menhirLib 20240715 Runtime support library for parsers generated by M
menhirSdk 20240715 Compile-time library for auxiliary tools related t
num 1.5-1 The legacy Num library for arbitrary-precision int
ocaml 4.14.0 The OCaml compiler (virtual package)
ocaml-base-compiler 4.14.0 Official release 4.14.0
ocaml-config 2 OCaml Switch Configuration
ocaml-options-vanilla 1 Ensure that OCaml is compiled with no special opti
ocamlbuild 0.15.0 OCamlbuild is a build system with builtin rules to
ocamlfind 1.9.6 A library manager for OCaml
ocamlgraph 2.1.0 A generic graph library for OCaml
omd 1.3.2 A Markdown frontend in pure OCaml
ordering 3.16.1 Element ordering
ott 0.33 A tool for writing definitions of programming lang
pp 1.2.0 Pretty-printing library
pprint 20230830 A pretty-printing combinator library and rendering
sail 0.18 Sail is a language for describing the instruction
sail_c_backend 0.18 Sail to C translation
sail_coq_backend 0.18 Sail to Coq translation
sail_doc_backend 0.18 Sail documentation generator
sail_latex_backend 0.18 Sail to LaTeX formatting
sail_lem_backend 0.18 Sail to Lem translation
sail_manifest 0.18 Helper tool for compiling Sail
sail_ocaml_backend 0.18 Sail to OCaml translation
sail_output 0.18 Example Sail output plugin
sail_smt_backend 0.18 Sail to C translation
sail_sv_backend 0.18 Sail to Systemverilog translation
seq base Compatibility package for OCaml's standard iterato
stdlib-shims 0.3.0 Backport some of the new stdlib features to older
stdune 3.16.1 Dune's unstable standard library
yojson 2.2.2 Yojson is an optimized parsing and printing librar
zarith 1.14 Implements arithmetic and logical operations over
Edit files.json to specify target sail files and run a command.
cargo r -- --help
Ozora: Tools for automatic generation of hypervisor modules and decoder automation
Usage: ozora [OPTIONS] --ext-name <EXT_NAME> <TARGET> <OUTPUT>
Arguments:
<TARGET> Target file
<OUTPUT> Output path
Options:
--loglv <LOGLV> Logging level as string (e.g. "debug" or "trace")
--ext-name <EXT_NAME> Extension name
--input-json <INPUT_JSON> Json file path contains target sail files [default: files.json]
-h, --help Print help
-V, --version Print version
cargo r riscv_zicfiss.sail target/zicfiss.rs --ext-name Zicfiss