mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
KVM: arm64: GICv3: Preserve EOIcount on exit
EOIcount is how the virtual CPU interface signals that the guest is deactivating interrupts outside of the LRs when EOImode==0. We therefore need to preserve that information so that we can find out what actually needs deactivating. Tested-by: Fuad Tabba <tabba@google.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Tested-by: Mark Brown <broonie@kernel.org> Link: https://msgid.link/20251120172540.2267180-12-maz@kernel.org Signed-off-by: Oliver Upton <oupton@kernel.org>
This commit is contained in:
committed by
Oliver Upton
parent
73c9726975
commit
f4ded7b084
@@ -225,6 +225,12 @@ void __vgic_v3_save_state(struct vgic_v3_cpu_if *cpu_if)
|
||||
|
||||
elrsr = read_gicreg(ICH_ELRSR_EL2);
|
||||
|
||||
if (cpu_if->vgic_hcr & ICH_HCR_EL2_LRENPIE) {
|
||||
u64 val = read_gicreg(ICH_HCR_EL2);
|
||||
cpu_if->vgic_hcr &= ~ICH_HCR_EL2_EOIcount;
|
||||
cpu_if->vgic_hcr |= val & ICH_HCR_EL2_EOIcount;
|
||||
}
|
||||
|
||||
write_gicreg(0, ICH_HCR_EL2);
|
||||
|
||||
for (i = 0; i < used_lrs; i++) {
|
||||
|
||||
Reference in New Issue
Block a user