diff options
| author | Kajetan Puchalski <kajetan.puchalski@arm.com> | 2026-08-10 11:29:24 +0100 |
|---|---|---|
| committer | Oliver Upton <oupton@kernel.org> | 2026-08-11 10:41:45 -0700 |
| commit | a342faadc5acbd5d9fd894fd4499d4fd614dfcf6 (patch) | |
| tree | 34c8641861da06ce0d0847b517f1f0b38705b79b /include/linux | |
| parent | 2ad524c5e257ea1054422da26d646dd777c2a08d (diff) | |
KVM: arm64: vgic: Fix detection of MI on no pending LR
As per the ARM GICv3 spec, the maintenance interrupt identified by
ICH_MISR_EL2.NP is asserted when it is enabled and no List register is
in pending state. This is further described in the document as "no List
registers with the State field set to 0b01 (pending)". By checking only
the pending bit of the LR (bit 62), KVM currently asserts the MI when
there are no LRs in "pending" or "pending and active" states.
Fix the detection logic to consider only the "pending" state.
Cc: stable@vger.kernel.org
Fixes: 96c2f03311de ("KVM: arm64: nv: Plumb handling of GICv3 EL2 accesses")
Signed-off-by: Kajetan Puchalski <kajetan.puchalski@arm.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://patch.msgid.link/20260810102923.2426475-2-kajetan.puchalski@arm.com
Signed-off-by: Oliver Upton <oupton@kernel.org>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
