summaryrefslogtreecommitdiff
path: root/rust/kernel/irq/request.rs
diff options
context:
space:
mode:
authorOliver Upton <oliver.upton@linux.dev>2025-09-18 09:46:31 -0700
committerMarc Zyngier <maz@kernel.org>2025-09-19 10:41:56 +0100
commitff37a41db8b47834b747b3bb427825fc75bc86a7 (patch)
tree21da09aec69c23a7ea2a6390a76c03900f23a2f3 /rust/kernel/irq/request.rs
parentb320789d6883cc00ac78ce83bccbfe7ed58afcf0 (diff)
KVM: arm64: nv: Treat AMO as 1 when at EL2 and {E2H,TGE} = {1, 0}
SErrors are not deliverable at EL2 when the effective value of HCR_EL2.{TGE,AMO} = {0, 0}. This is bothersome to deal with in nested as we need to use auxiliary pending state to track the pending vSError since HCR_EL2.VSE has no mechanism for honoring the guest HCR. On top of that, we have no way of making that auxiliary pending state visible in ISR_EL1. A defect against the architecture now allows an implementation to treat HCR_EL2.AMO as 1 when HCR_EL2.{E2H,TGE} = {1, 0}. Let's do exactly that, meaning SErrors are always deliverable at EL2 for the typical E2H=RES1 VM. Signed-off-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'rust/kernel/irq/request.rs')
0 files changed, 0 insertions, 0 deletions