diff options
Diffstat (limited to 'src/hypervisor.adoc')
-rw-r--r-- | src/hypervisor.adoc | 13 |
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]] |