This repository serves to hold the specification for the RISC-V Zalasr (Atomic, Load-Acquire Store-Release) extension. This covers the load-acquire and store-release instructions.
This work is licensed under a Creative Commons Attribution 4.0 International License (CC-BY-4.0). See the LICENSE file for details.
Contributors to this specification are contained in the contributors file.
For instructions on how to contribute please see the CONTRIBUTING file.
To simplify the building process and avoid dealing with configurations and dependencies, you can build this documentation using a base container image, which contains everything you need. Follow these steps:
Prerequisite: ensure you have Docker installed
1 - Clone the repository
$ git clone https://github.com/riscv/docs-dev-guide.git
$ cd ./docs-dev-guide
2 - Pull the RISC-V documentation base container image:
$ docker pull riscvintl/riscv-docs-base-container-image:latest
3 - Run the container and execute the build:
$ docker run -it -v $(pwd)/docs-spec-template:/build riscvintl/riscv-docs-base-container-image:latest /bin/sh -c 'make'
Output:
Building asciidoc
asciidoctor-pdf \
--attribute=mathematical-format=svg \
--attribute=pdf-fontsdir=docs-resources/fonts \
--attribute=pdf-style=docs-resources/themes/riscv-pdf.yml \
--failure-level=ERROR \
--require=asciidoctor-bibtex \
--require=asciidoctor-diagram \
--require=asciidoctor-mathematical \
--out-file=example-spec.pdf \
header.adoc
4 - Clean
docker run -it -v $(pwd):/build riscvintl/riscv-docs-base-container-image:latest /bin/sh -c 'make clean'
This project is built using AsciiDoctor (Ruby). The repository has been setup to build the PDF on
checkin using GitHub actions. Workflow dependencies are located in the dependencies
directory.
For more information on AsciiDoctor, specification guidelines, or building locally, see the RISC-V Documentation Developer Guide.
This project uses GitHub Submodules to include the RISC-V docs-resources project to achieve a common look and feel.
When cloning this repository for the first time, you must either use
git clone --recurse-submodules
or execute git submodule init
and git submodule update
after the clone to populate the docs-resources directory. Failure to clone the submodule, will result
in the PDF build fail with an error message like the following:
$ make
asciidoctor-pdf \
-a toc \
-a compress \
-a pdf-style=docs-resources/themes/riscv-pdf.yml \
-a pdf-fontsdir=docs-resources/fonts \
--failure-level=ERROR \
-o profiles.pdf profiles.adoc
asciidoctor: ERROR: could not locate or load the built-in pdf theme `docs-resources/themes/riscv-pdf.yml'; reverting to default theme
No such file or directory - notoserif-regular-subset.ttf not found in docs-resources/fonts
Use --trace for backtrace
make: *** [Makefile:7: profiles.pdf] Error 1