Re: [PATCH] KVM: arm64: vgic-v3: Consistently populate ID_AA64PFR0_EL1.GIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 03, 2022 at 10:14:24PM +0100, Marc Zyngier wrote:
> When adding support for the slightly wonky Apple M1, we had to
> populate ID_AA64PFR0_EL1.GIC==1 to present something to the guest,
> as the HW itself doesn't advertise the feature.
> 
> However, we gated this on the in-kernel irqchip being created.
> This causes some trouble for QEMU, which snapshots the state of
> the registers before creating a virtual GIC, and then tries to
> restore these registers once the GIC has been created.  Obviously,
> between the two stages, ID_AA64PFR0_EL1.GIC has changed value,
> and the write fails.
> 
> The fix is to actually emulate the HW, and always populate the
> field if the HW is capable of it.
> 
> Fixes: 562e530fd770 ("KVM: arm64: Force ID_AA64PFR0_EL1.GIC=1 when exposing a virtual GICv3")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
> Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>

Reviewed-by: Oliver Upton <oupton@xxxxxxxxxx>



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux