Skip to content

Commit

Permalink
Add manual generator
Browse files Browse the repository at this point in the history
  • Loading branch information
dhower-qc committed Sep 19, 2024
1 parent 25e3bf8 commit eed4ca5
Show file tree
Hide file tree
Showing 81 changed files with 1,434 additions and 136 deletions.
12 changes: 9 additions & 3 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,16 @@ jobs:
run: ./do gen:html[generic_rv64]
- name: Generate YARD docs
run: ./do gen:tool_doc
- name: Create _site
run: mkdir -p _site
- name: Build manual
run: ./do gen:html_manual MANUAL_NAME=isa VERSIONS=all
- name: Create _site/example_cfg
run: mkdir -p _site/example_cfg
- name: Create _site/manual
run: mkdir -p _site/manual
- name: Copy cfg html
run: cp -R gen/cfg_html_doc/generic_rv64/html _site
run: cp -R gen/cfg_html_doc/generic_rv64/html _site/example_cfg
- name: Copy manual html
run: cp -R gen/manual/top/all/html _site/manual
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
Expand Down
2 changes: 1 addition & 1 deletion README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ This repository contains:

=== Working examples:

* Generate https://riscv-software-src.github.io/riscv-unified-db/html/index.html[configuration-specific documentation] taylored to the set of implemented extensions and unnamed implementation options (_e.g._, `./do gen:html[generic_rv64]`).
* Generate https://riscv-software-src.github.io/riscv-unified-db/manual/index.html[configuration-specific documentation] taylored to the set of implemented extensions and unnamed implementation options (_e.g._, `./do gen:html[generic_rv64]`).
** Only implemented extensions/instructions/CSRs are included
** Unreachable/unimplmented parts of the formal specification are pruned away
** A dedicated documentation page for every implemented instruction, including its encoding, pruned execution behavior, and what types of exceptions it may cause.
Expand Down
6 changes: 3 additions & 3 deletions arch/ext/A.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@ A:
name: RISC-V International
url: https://riscv.org
versions:
- version: 2.1
- version: "2.1.0"
state: ratified
ratification_date: 2019-12
contributors:
- name: Unknown
email: [email protected]
company: Unknown
implies:
- [Zaamo, 1.0]
- [Zalrsc, 1.0]
- [Zaamo, "1.0.0"]
- [Zalrsc, "1.0.0"]
description: |
The atomic-instruction extension, named `A`, contains
Expand Down
8 changes: 4 additions & 4 deletions arch/ext/B.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ B:
name: Creative Commons Attribution 4.0 International License
url: https://creativecommons.org/licenses/by/4.0/
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2024-04
contributors:
Expand All @@ -19,9 +19,9 @@ B:
company: Rivos, Inc.
url: https://drive.google.com/file/d/1SgLoasaBjs5WboQMaU3wpHkjUwV71UZn/view
implies:
- [Zba, 1.0]
- [Zbb, 1.0]
- [Zbs, 1.0]
- [Zba, "1.0.0"]
- [Zbb, "1.0.0"]
- [Zbs, "1.0.0"]
description: |
The B standard extension comprises instructions provided by the `Zba`, `Zbb`, and `Zbs` extensions.
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/C.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ C:
type: unprivileged
long_name: Compressed instructions
versions:
- version: 2.2
- version: "2.2.0"
state: ratified
ratification_date: 2019-12
description: |
Expand Down
4 changes: 2 additions & 2 deletions arch/ext/D.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ D:
type: unprivileged
long_name: Double-precision floating-point
versions:
- version: 2.2
- version: "2.2.0"
state: ratified
ratification_date: 2019-12
changes:
- Define NaN-boxing scheme, changed definition of FMAX and FMIN
implies: [F, 2.2]
implies: [F, "2.2.0"]
description: |
The `D` extension adds
double-precision floating-point computational instructions compliant
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/F.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ F:
type: unprivileged
long_name: Single-precision floating-point
versions:
- version: 2.2
- version: "2.2.0"
state: ratified
ratification_date: 2019-12
changes:
Expand Down
4 changes: 2 additions & 2 deletions arch/ext/H.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ H:
type: privileged
long_name: Hypervisor
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2019-12
requires:
oneOf:
- [S, '>= 1.12']
- [S, '>= 1.12.0']
interrupt_codes:
- num: 2
name: Virtual supervisor software interrupt
Expand Down
7 changes: 6 additions & 1 deletion arch/ext/I.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ I:
type: unprivileged
long_name: Base integer ISA
versions:
- version: 2.1
- version: "2.1.0"
state: ratified
ratification_date: 2019-06
changes:
Expand Down Expand Up @@ -73,6 +73,11 @@ I:
- num: 15
name: Store/AMO page fault
var: StoreAmoPageFault
- num: 18
name: Software Check
var: SoftwareCheck
when:
version: ">= 2.1.0"
params:
XLEN:
description: |
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/M.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ M:
type: unprivileged
long_name: Integer multiply and divide instructions
versions:
- version: 2.0
- version: "2.0.0"
state: ratified
ratification_date: 2019-12
description: |
Expand Down
4 changes: 2 additions & 2 deletions arch/ext/S.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ S:
type: privileged
long_name: Supervisor mode
versions:
- version: 1.12
- version: "1.12.0"
state: ratified
ratification_date: 2019-12
requires: [U, "= 1.12"]
requires: [U, "= 1.12.0"]
description: |
This chapter describes the RISC-V supervisor-level architecture, which
contains a common core that is used with various supervisor-level
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Smaia.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Smaia:
description: Advanced Interrupt Architecture, M-mode extension
type: privileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2023-06
url: https://github.com/riscv/riscv-aia/releases/download/1.0/riscv-interrupts-1.0.pdf
28 changes: 26 additions & 2 deletions arch/ext/Smcdeleg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,32 @@ Smcdeleg:
long_name: Performance counter delegation
description: Performance counter delegation
type: privileged
rvi_jira_issue: RVS-1005
company:
name: RISC-V International
url: https://riscv.org
doc_license:
name: Creative Commons Attribution 4.0 International License (CC-BY 4.0)
url: https://creativecommons.org/licenses/by/4.0/
versions:
- version: 0
- version: "1.0.0"
state: ratified
ratification_date: null
url: https://docs.google.com/document/d/1s-GeH5XpHBLzbQZucA8DPA7vvF7Xvf_nrPbrU2YLBcE/edit#heading=h.yyrgtolcaczx
repositories:
- url: https://github.com/riscvarchive/riscv-smcdeleg-ssccfg
url: https://github.com/riscvarchive/riscv-smcdeleg-ssccfg/releases/download/v1.0.0/riscv-smcdeleg-ssccfg-v1.0.0.pdf
contributors:
- name: Beeman Strong
email: [email protected]
company: Rivos, Inc.
- name: Atish Patra
email: [email protected]
company: Rivos, Inc.
- name: Allen Baum
email: [email protected]
company: Rivos, Inc.
- name: Greg Favor
email: [email protected]
company: Ventana Microsystems
- name: John Hauser
email: [email protected]
2 changes: 1 addition & 1 deletion arch/ext/Smcntrpmf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Smcntrpmf:
description: Cycle and Instret Privilege Mode Filtering
type: privileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2023-08
url: https://github.com/riscv/riscv-smcntrpmf/releases/download/v1.0_rc4-frozen/riscv-smcntrpmf-v1.0_rc4.pdf
2 changes: 1 addition & 1 deletion arch/ext/Ssaia.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Ssaia:
description: Advanced Interrupt Architecture, S-mode extension
type: privileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2023-06
url: https://github.com/riscv/riscv-aia/releases/download/1.0/riscv-interrupts-1.0.pdf
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Ssccfg.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Ssccfg:
description: Supervisor-mode counter configuration
type: privileged
versions:
- version: 0
- version: "1.0.0"
state: ratified
ratification_date: null
url: https://docs.google.com/document/d/1s-GeH5XpHBLzbQZucA8DPA7vvF7Xvf_nrPbrU2YLBcE/edit#heading=h.yyrgtolcaczx
2 changes: 1 addition & 1 deletion arch/ext/Ssccptr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Ssccptr:
This extension was ratified with the RVA20 profiles.
type: privileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: null
url: https://github.com/riscv/riscv-profiles/releases/tag/v1.0
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Sscofpmf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Sscofpmf:
description: Counter Overflow and Privilege Mode Filtering
type: privileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2023-08
url: https://drive.google.com/file/d/1KcjgbLM5L1ZKY8934aJl8aQwGlMz6Cbo/view?usp=drive_link
2 changes: 1 addition & 1 deletion arch/ext/Sscounterenw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Sscounterenw:
This extension was ratified with the RVA22 profiles.
type: privileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2023-08
url: https://drive.google.com/file/d/1KcjgbLM5L1ZKY8934aJl8aQwGlMz6Cbo/view?usp=drive_link
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Sstc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Sstc:
description: Superivisor mode timer interrupts
type: privileged
versions:
- version: 0.9
- version: "0.9.0"
state: ratified
ratification_date: null
url: https://drive.google.com/file/d/1m84Re2yK8m_vbW7TspvevCDR82MOBaSX/view?usp=drive_link
2 changes: 1 addition & 1 deletion arch/ext/Sstvala.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Sstvala:
This extension was ratified with the RVA20 profiles.
type: privileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: null
url: https://github.com/riscv/riscv-profiles/releases/tag/v1.0
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Sstvecd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Sstvecd:
four-byte-aligned address.
type: privileged
versions:
- version: "1.0"
- version: "1.0.0"
state: ratified
ratification_date: null
url: https://github.com/riscv/riscv-profiles/releases/tag/v1.0
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Sv32.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Sv32:
description: 32-bit virtual address translation (3 level)
type: privileged
versions:
- version: 1.12
- version: "1.12.0"
state: ratified
ratification_date: unknown
url: https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf
2 changes: 1 addition & 1 deletion arch/ext/Sv39.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Sv39:
description: 39-bit virtual address translation (3 level)
type: privileged
versions:
- version: 1.12
- version: "1.12.0"
state: ratified
ratification_date: unknown
url: https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf
2 changes: 1 addition & 1 deletion arch/ext/Sv48.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Sv48:
description: 48-bit virtual address translation (4 level)
type: privileged
versions:
- version: 1.12
- version: "1.12.0"
state: ratified
ratification_date: unknown
url: https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Sv57.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Sv57:
description: 57-bit virtual address translation (5 level)
type: privileged
versions:
- version: 1.12
- version: "1.12.0"
state: ratified
ratification_date: unknown
url: https://github.com/riscv/riscv-isa-manual/releases/download/Priv-v1.12/riscv-privileged-20211203.pdf
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Svade.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Svade:
during a page walk. Rather, encountering a PTE with the A bit clear or the D bit clear when
an operation is a write will cause a Page Fault.
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2023-11
url: https://github.com/riscvarchive/riscv-svadu/releases/download/v1.0/riscv-svadu.pdf
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Svadu.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ Svadu:
is zero, the implementation behaves as though Svadu were not implemented for
VS-stage address translation.
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2023-11
url: https://github.com/riscvarchive/riscv-svadu/releases/download/v1.0/riscv-svadu.pdf
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Svbare.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Svbare:
[NOTE]
This extension was ratified as part of the RVA22 profile.
versions:
- version: "1.0"
- version: "1.0.0"
state: ratified
ratification_date: null
requires: S
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Svinval.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Svinval:
`sfence.w.inval` and `sfence.inval.ir` instructions as no-ops.
--
versions:
- version: "1.0"
- version: "1.0.0"
state: ratified
ratification_date: 2021-11
requires: S
2 changes: 1 addition & 1 deletion arch/ext/Svpbmt.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Svpbmt:
This extension was ratified as part of the RVA22 profile.
type: privileged
versions:
- version: "1.0"
- version: "1.0.0"
state: ratified
ratification_date: null
requires: Sv39
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/U.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ U:
description: User-level privilege mode
type: privileged
versions:
- version: 1.12
- version: "1.12.0"
state: ratified
ratification_date: 2019-12
params:
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Za128rs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Za128rs:
The minimum reservation set size is effectively determined by the size of atomic accesses in
the A extension.
versions:
- version: "1.0"
- version: "1.0.0"
state: ratified
ratification_date: null
param_constraints:
Expand Down
2 changes: 1 addition & 1 deletion arch/ext/Zaamo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Zaamo:
long_name: Load-acquire/Store-release atomic instructions
type: unprivileged
versions:
- version: 1.0
- version: "1.0.0"
state: ratified
ratification_date: 2024-04
description: |
Expand Down
Loading

0 comments on commit eed4ca5

Please sign in to comment.