diff options
| author | 2025-07-08 10:25:11 -0700 | |
|---|---|---|
| committer | 2025-07-08 11:36:31 -0700 | |
| commit | 77ee70a073575977b403e9add25f185d614217d8 (patch) | |
| tree | 8a727a6e591ab61cc26230a9d8cd309ececbd642 /include/uapi/linux/byteorder/ssh:/git@git.zx2c4.com | |
| parent | KVM: arm64: nv: Respect exception routing rules for SEAs (diff) | |
KVM: arm64: nv: Honor SError exception routing / masking
To date KVM has used HCR_EL2.VSE to track the state of a pending SError
for the guest. With this bit set, hardware respects the EL1 exception
routing / masking rules and injects the vSError when appropriate.
This isn't correct for NV guests as hardware is oblivious to vEL2's
intentions for SErrors. Better yet, with FEAT_NV2 the guest can change
the routing behind our back as HCR_EL2 is redirected to memory. Cope
with this mess by:
- Using a flag (instead of HCR_EL2.VSE) to track the pending SError
state when SErrors are unconditionally masked for the current context
- Resampling the routing / masking of a pending SError on every guest
entry/exit
- Emulating exception entry when SError routing implies a translation
regime change
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250708172532.1699409-7-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
Diffstat (limited to 'include/uapi/linux/byteorder/ssh:/git@git.zx2c4.com')
0 files changed, 0 insertions, 0 deletions
