From ed8ca102ad0bb34465e3b888d49a78dea1499e92 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 21 Dec 2023 16:26:10 -0800 Subject: [PATCH 1/4] RVB23U64: delineate extensions added since RVA22U64 --- rvb23-profile.adoc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rvb23-profile.adoc b/rvb23-profile.adoc index 86a0316..1914b4f 100644 --- a/rvb23-profile.adoc +++ b/rvb23-profile.adoc @@ -122,10 +122,13 @@ address space. - *Zicbom* Cache-Block Management Operations. - *Zicbop* Cache-Block Prefetch Operations. - *Zicboz* Cache-Block Zero Operations. +- *Zkt* Data-independent execution time. + +The following mandatory extensions are also present in RVA23U64: + - *Zihintntl* Non-temporal locality hints. - *Zicond* Conditional Zeroing instructions. - *Zcb* Additional 16b compressed instructions. -- *Zkt* Data-independent execution time. - *Zfa* Additional scalar FP instructions. - *Zawrs* Wait on reservation set. From e0cbc88619c50ad62b7fcdd32609e5b2058bf150 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 21 Dec 2023 16:27:12 -0800 Subject: [PATCH 2/4] RVB23: mandate Zimop/Zcmop They're very low cost and they ease portability. --- rvb23-profile.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rvb23-profile.adoc b/rvb23-profile.adoc index 1914b4f..7915ca6 100644 --- a/rvb23-profile.adoc +++ b/rvb23-profile.adoc @@ -128,6 +128,8 @@ The following mandatory extensions are also present in RVA23U64: - *Zihintntl* Non-temporal locality hints. - *Zicond* Conditional Zeroing instructions. +- *Zimop* Maybe Operations. +- *Zcmop* Compressed Maybe Operations. - *Zcb* Additional 16b compressed instructions. - *Zfa* Additional scalar FP instructions. - *Zawrs* Wait on reservation set. From f11954b20aa4197db9946af2468b66f540581c8d Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 21 Dec 2023 16:29:59 -0800 Subject: [PATCH 3/4] RVB23: move and improve NOTEs --- rvb23-profile.adoc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/rvb23-profile.adoc b/rvb23-profile.adoc index 7915ca6..d785792 100644 --- a/rvb23-profile.adoc +++ b/rvb23-profile.adoc @@ -220,6 +220,9 @@ NOTE: Ss1p13 supersedes Ss1p12 but is not yet ratified. - *Svnapot* NAPOT Translation Contiguity +NOTE: Svnapot is very low cost to provide, so is made mandatory even +in RVB. + The following privileged extensions were also mandatory in RVA22S64: - *Svbare* The `satp` mode Bare must be supported. @@ -253,12 +256,10 @@ The following privileged extensions were also mandatory in RVA22S64: - *Ssu64xl* `sstatus.UXL` must be capable of holding the value 2 (i.e., UXLEN=64 must be supported). - -NOTE: Svnapot is very low cost to provide, so is made mandatory even -in RVB. - - *Sstc* supervisor-mode timer interrupts. +NOTE: Sstc was optional in RVA22. + ==== RVB23S64 Optional Extensions RVB23S64 has the same unprivileged options as RVB23U64, From 707ff08d6a63526ee657e9270800f061cae55ecb Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 21 Dec 2023 16:33:25 -0800 Subject: [PATCH 4/4] RVB23: Ssnpm is optional --- rvb23-profile.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rvb23-profile.adoc b/rvb23-profile.adoc index d785792..7e44686 100644 --- a/rvb23-profile.adoc +++ b/rvb23-profile.adoc @@ -277,6 +277,8 @@ The privileged optional extensions are: - *Sscofpmf* Count Overflow and Mode-Based Filtering. +- *Ssnpm* Pointer masking. + - *Zkr* Entropy CSR. The following hypervisor extension and mandates were also in RVA22S64: @@ -306,8 +308,6 @@ When the hypervisor extension is implemented, the following are also mandatory: `satp`, the corresponding hgatp SvNNx4 mode must be supported. The `hgatp` mode Bare must also be supported. -- *Ssnpm* Pointer masking. - ==== RVB23S64 Recommendations - Implementations are strongly recommended to raise illegal-instruction