From 4757fab2c536ca959d1a0b699b2da461c50404db Mon Sep 17 00:00:00 2001 From: Ved Shanbhogue Date: Wed, 27 Dec 2023 15:04:56 -0600 Subject: [PATCH] initial version --- Makefile | 10 +++--- bibliography.adoc | 4 --- chapter2.adoc | 47 -------------------------- contributors.adoc | 7 ---- header.adoc | 69 ++++++++++++++++++++++++++------------- intro.adoc | 15 --------- readme.adoc | 4 +-- example.bib => svvptc.bib | 0 8 files changed, 53 insertions(+), 103 deletions(-) delete mode 100644 bibliography.adoc delete mode 100644 chapter2.adoc delete mode 100644 contributors.adoc delete mode 100644 intro.adoc rename example.bib => svvptc.bib (100%) diff --git a/Makefile b/Makefile index a46d659..ed0c616 100644 --- a/Makefile +++ b/Makefile @@ -13,13 +13,13 @@ # the Doc Template for RISC-V Extensions. DATE ?= $(shell date +%Y-%m-%d) -VERSION ?= v0.0.0 -REVMARK ?= Draft +VERSION ?= v0.7.0 +REVMARK ?= Development DOCKER_RUN := docker run --rm -v ${PWD}:/build -w /build \ riscvintl/riscv-docs-base-container-image:latest HEADER_SOURCE := header.adoc -PDF_RESULT := spec-sample.pdf +PDF_RESULT := riscv-svvptc.pdf ASCIIDOCTOR_PDF := asciidoctor-pdf OPTIONS := --trace \ @@ -29,7 +29,7 @@ OPTIONS := --trace \ -a revremark=${REVMARK} \ -a revdate=${DATE} \ -a pdf-fontsdir=docs-resources/fonts \ - -a pdf-theme=docs-resources/themes/riscv-pdf.yml \ + -a pdf-style=docs-resources/themes/riscv-pdf.yml \ --failure-level=ERROR REQUIRES := --require=asciidoctor-bibtex \ --require=asciidoctor-diagram \ @@ -41,7 +41,7 @@ all: build build: @echo "Checking if Docker is available..." - @if command -v docker >/dev/null 2>&1 ; then \ + @if command -v docker &> /dev/null ; then \ echo "Docker is available, building inside Docker container..."; \ $(MAKE) build-container; \ else \ diff --git a/bibliography.adoc b/bibliography.adoc deleted file mode 100644 index 4cc3eb7..0000000 --- a/bibliography.adoc +++ /dev/null @@ -1,4 +0,0 @@ -[bibliography] -== Bibliography - -bibliography::[] diff --git a/chapter2.adoc b/chapter2.adoc deleted file mode 100644 index 8c11820..0000000 --- a/chapter2.adoc +++ /dev/null @@ -1,47 +0,0 @@ -[[chapter2]] -== The Second Chapter - -. The first item. - -. The second item. -+ -.. The first sub item. - -.. The second sub item. -+ -[CAUTION] -==== -A moment of caution is required for this block of text must be read and apreciated for its importance. -==== - -. Yet another item. - -. Again, an item. - -.. A multi-line item. -+ -This item has multiple lines. -+ -By multiple lines, this is what we mean. -+ -Seriously, multiple. - -=== An example table - -[cols="^1,^1,^1,^1,^3,^3",stripes=even,options="header"] -|=== -4+|Letters _and_ bits {set:cellbgcolor:green} 2+|A much longer area -|L|R|W|X|Quarter 1|Quarter 2 -|{set:cellbgcolor:!} 0|0|0|0 2+|Rows alternate colors -|0|0|0|1|Thing 1|Thing 2 -|1|0|0|0|Thing 3|Thing 4 -|1|1|1|1 2+|Span Thing 1 and 2 -|=== - -=== Sub section - -Diam donec adipiscing tristique risus indexterm:[risus]. Nisl rhoncus mattis rhoncus urna. Egestas egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Porta non pulvinar neque laoreet suspendisse interdum consectetur libero id. Massa vitae tortor condimentum lacinia quis vel. Donec ac odio tempor orci. Mi sit amet mauris commodo quis imperdiet massa tincidunt. Quis enim lobortis scelerisque fermentum dui. Lacus viverra vitae congue eu. Sed faucibus turpis in eu mi bibendum neque. Sit amet porttitor eget dolor. Aliquet eget sit amet tellus cras adipiscing enim. Id cursus metus aliquam eleifend mi. Vestibulum lorem sed risus ultricies tristique nulla aliquet. - -=== Yet another subsection - -Quam lacus suspendisse faucibus interdum posuere lorem ipsum. Nulla aliquet enim tortor at auctor urna nunc id cursus. Massa massa ultricies mi quis hendrerit dolor magna. Integer enim neque volutpat ac tincidunt. Dolor magna eget est lorem ipsum dolor. Urna neque viverra justo nec. Neque gravida in fermentum et. Fringilla ut morbi tincidunt augue interdum velit euismod. Dolor sit amet consectetur adipiscing elit. Eu facilisis sed odio morbi. In cursus turpis massa tincidunt dui. Orci indexterm:[orci] phasellus egestas tellus rutrum tellus. Semper eget duis at tellus at urna condimentum. Orci porta non pulvinar neque laoreet suspendisse interdum consectetur. diff --git a/contributors.adoc b/contributors.adoc deleted file mode 100644 index 13fd776..0000000 --- a/contributors.adoc +++ /dev/null @@ -1,7 +0,0 @@ -== Contributors - -This RISC-V specification has been contributed to directly or indirectly by: - -[%hardbreaks] -* Author1 -* Author2 diff --git a/header.adoc b/header.adoc index 662789d..da0d479 100644 --- a/header.adoc +++ b/header.adoc @@ -1,27 +1,25 @@ -= RISC-V Example Specification Document (Zexmpl) -Authors: Author 1, Author 2 -:docgroup: RISC-V Task Group -:description: RISC-V Example Specification Document (Zexmpl) +[[header]] +:description: No Invalid PTEs in Adddress-Translation Caches (Svvptc) :company: RISC-V.org -:revdate: 1/2023 -:revnumber: 1.0 -:revremark: This document is under development. Expect potential changes. Visit http://riscv.org/spec-state for further details. -:revinfo: +:revdate: 12/2023 +:revnumber: 0.7 +:revremark: This document is in development state. See http://riscv.org/spec-state for details. :url-riscv: http://riscv.org :doctype: book :preface-title: Preamble :colophon: :appendix-caption: Appendix -:imagesdir: docs-resources/images +:imagesdir: images :title-logo-image: image:risc-v_logo.png[pdfwidth=3.25in,align=center] // Settings: :experimental: :reproducible: +// needs to be changed? bug discussion started //:WaveDromEditorApp: app/wavedrom-editor.app -:imagesoutdir: docs-resources/images -:bibtex-file: example.bib -:bibtex-order: alphabetical -:bibtex-style: apa +:imagesoutdir: images +:bibtex-file: svvptc.bib +:bibtex-order: occurrence +:bibtex-style: ieee :icons: font :lang: en :listing-caption: Listing @@ -38,16 +36,19 @@ endif::[] :footnote: :xrefstyle: short += No Invalid PTEs in Adddress-Translation Caches (Svvptc) + +// Preamble [WARNING] .This document is in the link:http://riscv.org/spec-state[Development state] ==== -Expect potential changes. This draft specification is likely to evolve before -it is accepted as a standard. Implementations based on this draft -may not conform to the future standard. +Assume everything can change. This draft specification will change before being +accepted as standard, so implementations made to this draft specification will +likely not conform to the future standard. ==== [preface] -== Copyright and license information +=== Copyright and license information This specification is licensed under the Creative Commons Attribution 4.0 International License (CC-BY 4.0). The full license text is available at @@ -56,11 +57,33 @@ https://creativecommons.org/licenses/by/4.0/. Copyright 2023 by RISC-V International. [preface] -include::contributors.adoc[] +=== Contributors +This RISC-V specification has been contributed to directly or indirectly by: +Ved Shanbhogue + +== No Invalid PTEs in Adddress-Translation Caches (Svvptc) -include::intro.adoc[] -include::chapter2.adoc[] +When the Svvptc extension is implemented, explicit stores in a hart that update +the Valid bit of a leaf or non-leaf PTEs from 0 to 1 are ordered before and +visible to implicit references in that hart to the memory-management data +structures by instructions subsequent to a memory-management fence instruction +or an `__x__RET` instruction, whichever occurs first after the stores that +update the PTEs. -// The index must precede the bibliography -include::index.adoc[] -include::bibliography.adoc[] +[NOTE] +==== +This extension effectively prohibits the caching of PTEs whose Valid bits are +clear in address-translation cache entries. Consequently, updating the Valid bit +from 0 to 1 for either leaf or non-leaf PTEs does not require a memory-management +fence to invalidate cached copies of them from any address-translation caches. + +Commonly, PTEs are marked as Valid in response to a page-fault exception or a +system call, such as one that maps memory regions. In such scenarios, the trap +handler typically uses an `__x__RET` to return from the trap. The store operation +used by the trap handler to update the Valid bit of the PTEs from 0 to 1 are +ordered before and visible to the implicit references to the updated +memory-management data structures by instructions subsequent to the `__x__RET` +such as the instruction that raised the page-fault exception or the instructions +that access the newly mapped memory ranges. The use of a memory-management fence +is not necessary in such cases. +==== diff --git a/intro.adoc b/intro.adoc deleted file mode 100644 index 0d62327..0000000 --- a/intro.adoc +++ /dev/null @@ -1,15 +0,0 @@ -[[intro]] -== Introduction - -Lorem ipsum indexterm:[Lorem ipsum] dolor sit amet, consectetur adipiscing elit, sed do *eiusmod tempor* incididunt ut labore et dolore magna aliqua. Felis imperdiet proin fermentum leo vel orci porta. Volutpat lacus laoreet non curabitur indexterm:[curabitur] gravida indexterm:[gravida]. Posuere urna nec tincidunt praesent semper feugiat nibh. Elit ``ullamcorper`` dignissim cras tincidunt lobortis. Malesuada fames ac turpis egestas integer eget. Tristique sollicitudin nibh sit amet commodo. Sed felis eget velit aliquet. Sit amet aliquam id diam maecenas ultricies mi. Consectetur purus ut faucibus pulvinar. Lectus urna duis convallis convallis tellus id. Fermentum iaculis eu non diam. Feugiat in fermentum posuere urna nec tincidunt praesent semper feugiat. Urna nec tincidunt praesent semper feugiat nibh. - -Commodo viverra maecenas accumsan lacus. Vulputate odio ut enim blandit indexterm:[blandit] volutpat maecenas volutpat blandit. Urna porttitor rhoncus dolor purus non. Tellus mauris a diam maecenas sed. Vitae auctor eu augue ut lectus. Ridiculus mus mauris vitae ultricies leo integer. Consequat semper viverra nam *libero* justo laoreet sit amet. Pellentesque pulvinar pellentesque habitant morbi tristique senectus et netus et. Ac placerat vestibulum lectus mauris ``ultrices`` eros in cursus turpis. Accumsan in nisl nisi scelerisque eu ultrices vitae. Cras ornare arcu dui vivamus. Vitae congue mauris rhoncus aenean. Consequat mauris nunc congue nisi vitae suscipit tellus. Tempus egestas sed sed risus pretium quam vulputate dignissim. Quis varius quam quisque id diam vel. Mattis nunc sed blandit libero volutpat sed cras ornare arcu. Amet mauris commodo quis imperdiet massa tincidunt nunc. - -[NOTE] -==== -The name RISC-V indexterm:[RISC-V] was chosen to represent the fifth major RISC ISA design from UC Berkeley (RISC-I cite:[riscI-isca1981], RISC-II cite:[Katevenis:1983], SOAR cite:[Ungar:1984], and SPUR cite:[spur-jsscc1989] were the first four). We also pun on the use of the Roman numeral "V" to signify "variations" and "vectors", as support for a range of architecture research, including various data-parallel accelerators, is an explicit goal of the ISA design. -==== - -=== Sub Section of Introduction - -Pellentesque habitant morbi *tristique* senectus et netus et. Aliquam purus sit amet luctus. Odio eu ``feugiat`` pretium nibh ipsum consequat nisl vel. Euismod lacinia at quis risus sed vulputate odio ut. Eu sem integer vitae justo eget. Cursus euismod quis viverra nibh. Tempus egestas sed sed risus. Quis imperdiet massa tincidunt nunc pulvinar. Id venenatis a condimentum vitae sapien pellentesque habitant. diff --git a/readme.adoc b/readme.adoc index 3dc763a..c78b64a 100644 --- a/readme.adoc +++ b/readme.adoc @@ -1,4 +1,4 @@ -= Svvptc - No caching of invalid PTEs Extension += Svvptc - No Caching of Invalid PTEs Extension == License @@ -6,7 +6,7 @@ This work is licensed under a Creative Commons Attribution 4.0 International Lic == Contributors -The list of contributors to this specification is maintained in the link:contributors.adoc[contributors] file. +The list of contributors to this specification is maintained in the link:header.adoc[contributors] file. For guidelines on how to contribute, refer to the link:CONTRIBUTING.md[CONTRIBUTING] file. diff --git a/example.bib b/svvptc.bib similarity index 100% rename from example.bib rename to svvptc.bib