= RISC-V Specification for CHERI Extensions
This repository contains the CHERI extension specification, adding hardware capabilities to the RISC-V ISA to enable fine-grained memory protection and scalable compartmentalization.
The latest draft HTML version can be accessed at https://riscv.github.io/riscv-cheri and the latest PDF snapshot can be downloaded from https://github.com/riscv/riscv-cheri/releases.
== License
This work is licensed under a Creative Commons Attribution 4.0 International License (CC-BY-4.0). For details, see the link:LICENSE[LICENSE] file.
== Contributors
The list of contributors to this specification is maintained in the link:src/contributors.adoc[contributors] file.
For guidelines on how to contribute, refer to the link:CONTRIBUTING.md[CONTRIBUTING] file.
== Building the Document
=== Prerequisites
To build the document, you'll need the following tools installed on your system:
=== Cloning the Repository
git clone --recurse-submodules https://github.com/riscv/riscv-cheri.git
=== Building the Documentation
To start the build process, run:
cd ./riscv-cheri && make all
The link:Makefile[] script will check the availability of Docker on your system:
The documentation is generated from the AsciiDoctor source files in your project. The primary source file is specified by the HEADER_SOURCE
variable in the Makefile.
The build process utilizes several options, including theming and font settings, and generates a PDF document as output.
=== Cleaning up
To clean up the generated files, run:
make clean
This will remove the generated PDF file.