aboutsummaryrefslogtreecommitdiff
path: root/src/hypervisor.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/hypervisor.adoc')
-rw-r--r--src/hypervisor.adoc13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/hypervisor.adoc b/src/hypervisor.adoc
index 85cb67f..959af02 100644
--- a/src/hypervisor.adoc
+++ b/src/hypervisor.adoc
@@ -2061,6 +2061,19 @@ Because TSR and TVM in `mstatus` are intended to impact only S-mode
(HS-mode), they are ignored for determining exceptions in VS-mode.
====
+Fields FS and VS in registers `sstatus` and `vsstatus` deviate from the usual
+_HS-qualified_ rule.
+If an instruction is prevented from executing because FS or VS is zero in
+either `sstatus` or `vsstatus`, the exception raised is always an
+illegal-instruction exception, never a virtual-instruction exception.
+
+[NOTE]
+====
+Early implementations of the H extension treated FS and VS in `sstatus` and
+`vsstatus` specially this way, and the behavior has been codified to maintain
+compatibility for software.
+====
+
<<<
[[HSyncExcPrio]]