Skip to content

Alignof/ozora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ozora

Tools for automatic generation of hypervisor modules and decoder automation.

Requirements

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

Usage

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

Example

cargo r riscv_zicfiss.sail target/zicfiss.rs --ext-name Zicfiss

About

helper tool for creating hypervisor module and decoder.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published