From 22a65749936e31419a0a7f0e6f350549868a8f89 Mon Sep 17 00:00:00 2001 From: Andrew Waterman <andrew@sifive.com> Date: Sun, 11 Feb 2024 23:18:13 -0800 Subject: [PATCH] Svpbmt allows additional PMA overrides --- src/priv-preface.adoc | 1 + src/supervisor.adoc | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/priv-preface.adoc b/src/priv-preface.adoc index 107133333..61b80313c 100644 --- a/src/priv-preface.adoc +++ b/src/priv-preface.adoc @@ -68,6 +68,7 @@ in `menvcfg` and `henvcfg`. * Clarified that, for a given exception cause, `__x__tval` might sometimes be set to a nonzero value but sometimes not. * Clarified exception behavior of unimplemented or inaccessible CSRs. +* Clarified that Svpbmt allows implementations to override additional PMAs. [.big]*_Preface to Version 20211203_* diff --git a/src/supervisor.adoc b/src/supervisor.adoc index 85f0ec28a..1c7189b75 100644 --- a/src/supervisor.adoc +++ b/src/supervisor.adoc @@ -1837,7 +1837,7 @@ associated memory pages. The encoding for the PBMT bits is captured in The Svpbmt extension depends on Sv39. [[pbmt]] -.Encodings for PBMT field in Sv39, Sv48, and Sv57 PTEs. Attributes not mentioned are inherited from PMA associated with the physical address. +.Encodings for PBMT field in Sv39, Sv48, and Sv57 PTEs. [%autowidth,float="center",align="center",cols="^,^,<",options="header"] |=== |Mode |Value |Requested Memory Attributes @@ -1855,6 +1855,11 @@ Non-cacheable, non-idempotent, strongly-ordered (I/O ordering), I/O + _Reserved for future standard use_ |=== +Implementations might override additional PMAs not explicitly listed in +<<pbmt>>. +For example, a misaligned memory access to a page with PBMT=IO might raise an +exception, even if the same access would have succeeded for PBMT=PMA. + [NOTE] ==== Future extensions may provide more and/or finer-grained control over