diff options
-rw-r--r-- | src/supervisor.tex | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/src/supervisor.tex b/src/supervisor.tex index 4c919fe..fc523d6 100644 --- a/src/supervisor.tex +++ b/src/supervisor.tex @@ -2321,32 +2321,14 @@ physical page to exist simultaneously with different memory attributes. It is also possible for a U-mode or S-mode mapping through a PTE with Svpbmt enabled to observe different memory attributes for a given region of physical memory than a concurrent access to the same page performed by M-mode or when -MODE=Bare. In such cases, there may be a loss of coherence and/or of normal -RVWMO, RVTSO, or I/O ordering semantics, and platform-specific mechanisms must -be used to restore coherence and memory ordering. +MODE=Bare. In such cases, the behaviors dictated by the attributes may be +violated, and platform-specific mechanisms must be used to restore the +expected behaviors. \begin{commentary} -For example, a cacheable access may be issued at the same time as a -non-cacheable access to the same physical memory address. In this case, -if the former is performed first in the global memory order, then it will -be evicted from the cache by the latter. If on the other hand the cacheable -access appears after the non-cacheable access, then the former may remain -cached as it normally would. - The forthcoming Zicbom extension and the FENCE instruction will collectively form a standard mechanism for restoring coherence in scenarios with mismatched page attributes. - -Likewise, accesses performed under memory indicating the non-idempotent -attribute must not be merged with idempotent accesses to the same region -in flight at the same time, as the non-idempotency of the former must -be respected. This is not expected to be a common situation. - -Note that Svpbmt cannot be used to completely prevent speculative reads from -being performed to a region of memory for which the PMAs indicate idempotence, -as speculation can still be performed via M-mode or via Bare mappings, which do -not use the PBMTs. Platform-specific mechanisms must be used to avoid this -form of conflict. \end{commentary} \begin{commentary} |