Skip to content

Commit

Permalink
Improve description of Svukte
Browse files Browse the repository at this point in the history
  • Loading branch information
aswaterman committed Oct 9, 2024
1 parent 81dc927 commit d023bef
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/supervisor.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2283,8 +2283,9 @@ coherent with store instructions that modify PTEs.
== "Svukte" Extension for Address-Independent Latency of User-Mode Faults to Supervisor Addresses, Version 0.3

The Svukte extension provides a means to make user-mode accesses to supervisor
memory raise page faults in constant time, mitigating attacks that attempt to
discover the supervisor software's address-space layout.
memory raise page faults with timing independent of the address-translation
configuration and page-table contents, thereby mitigating attacks that attempt
to discover the supervisor software's address-space layout.

If the Svukte extension is implemented, the `senvcfg`.UKTE field is writable.
If the hypervisor extension is additionally implemented, the `hstatus`.HUKTE
Expand All @@ -2309,6 +2310,9 @@ raises a page-fault exception corresponding to the original access type.
The timing of an instruction that raises an exception for this reason must be
independent of the faulting virtual address.

NOTE: An Svukte-qualified access to such an address raises an exception even
if the underlying PTE would have otherwise allowed the access.

NOTE: Since whether an instruction is Svukte-qualified depends on the _effective_
privilege mode of the access, even some instructions executed in HS-mode or M-mode
(e.g. HLV with `hstatus`.SPVP=0, or LW with `mstatus`.MPRV=1 and
Expand Down

0 comments on commit d023bef

Please sign in to comment.