aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Traynor <wmat@riscv.org>2023-01-25 12:49:45 -0500
committerBill Traynor <wmat@riscv.org>2023-01-25 12:49:45 -0500
commitc44d9e67796d415704b29bbf1597af3e46d43600 (patch)
tree46428f330cb769d494ca5345e83c356d5fff63ab
parent51c50a6dbdd59850f241550ea982bed41b88d14a (diff)
downloadriscv-isa-manual-c44d9e67796d415704b29bbf1597af3e46d43600.zip
riscv-isa-manual-c44d9e67796d415704b29bbf1597af3e46d43600.tar.gz
riscv-isa-manual-c44d9e67796d415704b29bbf1597af3e46d43600.tar.bz2
Adding priv workflow.
Added a priv specific workflow.
-rw-r--r--.github/workflows/build-priv-pdf.yml75
-rw-r--r--src/riscv-privileged.adoc112
2 files changed, 187 insertions, 0 deletions
diff --git a/.github/workflows/build-priv-pdf.yml b/.github/workflows/build-priv-pdf.yml
new file mode 100644
index 0000000..345d113
--- /dev/null
+++ b/.github/workflows/build-priv-pdf.yml
@@ -0,0 +1,75 @@
+# This workflow installs dependencies for PDF generation, generates the PDF,
+# and uploads the PDF as an artifact.
+
+name: Build Document PDF
+
+on:
+ workflow_dispatch:
+ workflow_call:
+ outputs:
+ name:
+ description: "The base name of the pdf file (without .pdf extensions)"
+ value: ${{ jobs.build.outputs.name }}
+ pdf-name:
+ description: "The name of the pdf file (with .pdf extensions)"
+ value: ${{ jobs.build.outputs.pdf-name }}
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ env:
+ NAME: unpriv-isa-asciidoc
+ APT_PACKAGES_FILE: ${{ github.workspace }}/dependencies/apt_packages.txt
+ BUNDLE_GEMFILE: ${{ github.workspace }}/dependencies/Gemfile
+ BUNDLE_BIN: ${{ github.workspace }}/bin
+ NPM_PACKAGE_FOLDER: ${{ github.workspace }}/dependencies
+ outputs:
+ name: ${{ steps.step1.outputs.name }}
+ pdf-name: ${{ steps.step2.outputs.pdf-name }}
+ if: contains(github.ref, 'riscv-isa-asciidoc')
+ steps:
+ - name: Set outputs.name
+ id: step1
+ run: echo "name=$NAME" >> $GITHUB_OUTPUT
+ - name: Set outputs.pdf-name
+ id: step2
+ run: echo "pdf-name=$NAME.pdf" >> $GITHUB_OUTPUT
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ with:
+ submodules: 'true'
+ - name: Install Ubuntu packages
+ run: |
+ sudo apt-get update
+ grep -vE '^#' ${APT_PACKAGES_FILE} | xargs sudo apt-get install --yes --no-install-recommends
+ # Ruby for asciidoctor
+ - name: Setup Ruby and Gemfile content
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: "2.6"
+ bundler-cache: true
+ # Node.js for wavedrom
+ - uses: actions/cache@v3
+ with:
+ path: ~/.npm
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-node-
+ - name: Setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: '16'
+ - name: Install Node.js dependencies
+ run: npm install ${NPM_PACKAGE_FOLDER}
+ - name: Generate PDF
+ working-directory: ./build
+ run: |
+ PATH=${PATH}:${BUNDLE_BIN}:$(npm bin) \
+ make
+ - name: Archive PDF result
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ env.NAME }}.pdf
+ path: ./build/${{ env.NAME }}.pdf
+ retention-days: 7
diff --git a/src/riscv-privileged.adoc b/src/riscv-privileged.adoc
index e69de29..4d706a3 100644
--- a/src/riscv-privileged.adoc
+++ b/src/riscv-privileged.adoc
@@ -0,0 +1,112 @@
+[[risc-v-isa]]
+= The RISC-V Instruction Set Manual
+:description: Volume II: Privileged Architecture
+:company: RISC-V.org
+//:authors: Editors: Andrew waterman, Krste Asanovic, SiFive, Inc., CS Division, EECS Department, University of California, Berkeley
+:revdate: 01/2023
+:revnumber: ASCIIDOC Conversion
+:revremark: Pre-release version
+//development: assume everything can change
+//stable: assume everything could change
+//frozen: of you implement this version you assume the risk that something might change because of the public review cycle but we expect little to no change.
+//ratified: you can implement this and be assured nothing will change. if something needs to change due to an errata or enhancement, it will come out in a new extension. we do not revise extensions.
+:url-riscv: http://riscv.org
+:doctype: book
+//:doctype: report
+:colophon:
+:pdf-theme: ../src/resources/themes/riscv-spec.yml
+:pdf-fontsdir: ../src/resources/fonts/
+:preface-title: Preamble
+:appendix-caption: Appendix
+:imagesdir: images
+:title-logo-image: image:risc-v_logo.png[pdfwidth=3.25in,align=center]
+:page-background-image: image:draft.png[opacity=20%]
+//:title-page-background-image: none
+:back-cover-image: image:backpage.png[opacity=25%]
+// Settings:
+:experimental:
+:reproducible:
+:imagesoutdir: images
+:bibtex-file: ../src/resources/riscv-spec.bib
+:bibtex-order: alphabetical
+:bibtex-style: apa
+:bibtex-format: asciidoc
+:bibtex-throw: false
+:icons: font
+:lang: en
+:listing-caption: Example
+:sectnums:
+:toc: left
+:toclevels: 4
+:source-highlighter: pygments
+ifdef::backend-pdf[]
+:source-highlighter: rouge
+endif::[]
+:table-caption: Table
+:figure-caption: Figure
+:xrefstyle: short
+:chapter-refsig: Chapter
+:section-refsig: Section
+:appendix-refsig: Appendix
+:data-uri:
+:hide-uri-scheme:
+:stem: latexmath
+:footnote:
+
+_Contributors to all versions of the spec in alphabetical order (please contact editors to suggest
+corrections): Arvind, Krste Asanović;, Rimas Avižienis, Jacob Bachmeyer, Christopher F. Batten,
+Allen J. Baum, Alex Bradbury, Scott Beamer, Preston Briggs, Christopher Celio, Chuanhua
+Chang, David Chisnall, Paul Clayton, Palmer Dabbelt, Ken Dockser, Roger Espasa, Greg Favor,
+Shaked Flur, Stefan Freudenberger, Marc Gauthier, Andy Glew, Jan Gray, Michael Hamburg, John
+Hauser, David Horner, Bruce Hoult, Bill Huffman, Alexandre Joannou, Olof Johansson, Ben Keller,
+David Kruckemyer, Yunsup Lee, Paul Loewenstein, Daniel Lustig, Yatin Manerkar, Luc Maranget,
+Margaret Martonosi, Joseph Myers, Vijayanand Nagarajan, Rishiyur Nikhil, Jonas Oberhauser,
+Stefan O'Rear, Albert Ou, John Ousterhout, David Patterson, Christopher Pulte, Jose Renau,
+Josh Scheid, Colin Schmidt, Peter Sewell, Susmit Sarkar, Michael Taylor, Wesley Terpstra, Matt
+Thomas, Tommy Thorn, Caroline Trippel, Ray VanDeWalker, Muralidaran Vijayaraghavan, Megan
+Wachs, Andrew Waterman, Robert Watson, Derek Williams, Andrew Wright, Reinoud Zandijk,
+and Sizhuo Zhang._
+
+_This document is released under a Creative Commons Attribution 4.0 International License._
+
+_This document is a derivative of “The RISC-V Instruction Set Manual, Volume I: User-Level ISA
+Version 2.1” released under the following license: ©2010-2017 Andrew Waterman, Yunsup Lee,
+David Patterson, Krste Asanović. Creative Commons Attribution 4.0 International License.
+Please cite as: “The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Document
+Version 20191214-draft”, Editors Andrew Waterman and Krste Asanović, RISC-V Foundation,
+December 2019._
+
+//the colophon allows for a section after the preamble that is part of the frontmatter and therefore not assigned a page number.
+include::colophon.adoc[]
+//preface.tex
+include::intro.adoc[]
+//intro.tex
+include::rv32.adoc[]
+//rv32.tex
+include::zifencei.adoc[]
+//zfencei.tex
+include::zihintntl.adoc[]
+//zihintntl.tex
+include::zihintpause.adoc[]
+//zihintpause.tex
+include::rv32e.adoc[]
+//rv32e.tex
+include::rv64.adoc[]
+//rv54.tex
+include::rv128.adoc[]
+//rv128.tex
+include::m-st-ext.adoc[]
+//m.tex
+include::a-st-ext.adoc[]
+//a.tex
+include::zicsr.adoc[]
+//csr.tex
+include::counters.adoc[]
+//counters.tex
+include::f-st-ext.adoc[]
+//f.tex t
+include::d-st-ext.adoc[]
+//d.tex
+include::q-st-ext.adoc[]
+//q.tex
+include::zfh.adoc[] \ No newline at end of file