Re: [PATCH v2 2/2] KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility
From: Marc Zyngier <maz@kernel.org>
Date: 2021-01-19 10:16:06
Also in:
kvmarm
On 2021-01-19 10:09, Shameerali Kolothum Thodi wrote:
quoted
-----Original Message----- From: Marc Zyngier [mailto:maz@kernel.org] Sent: 15 January 2021 14:15 To: Ard Biesheuvel <ardb@kernel.org> Cc: Linux ARM <redacted>; kvmarm [off-list ref]; Shameerali Kolothum Thodi [off-list ref]; James Morse [off-list ref]; Julien Thierry [off-list ref]; Suzuki K Poulose [off-list ref]; Android Kernel Team [off-list ref] Subject: Re: [PATCH v2 2/2] KVM: arm64: Workaround firmware wrongly advertising GICv2-on-v3 compatibility On 2021-01-15 14:08, Ard Biesheuvel wrote:quoted
On Fri, 15 Jan 2021 at 15:03, Marc Zyngier [off-list ref] wrote:[...]quoted
quoted
diff --git a/arch/arm64/kvm/vgic/vgic-v3.cb/arch/arm64/kvm/vgic/vgic-v3.c index 8e7bf3151057..67b27b47312b 100644--- a/arch/arm64/kvm/vgic/vgic-v3.c +++ b/arch/arm64/kvm/vgic/vgic-v3.c@@ -584,8 +584,10 @@ early_param("kvm-arm.vgic_v4_enable",early_gicv4_enable); int vgic_v3_probe(const struct gic_kvm_info *info) { u64 ich_vtr_el2 = kvm_call_hyp_ret(__vgic_v3_get_gic_config); + bool has_v2; int ret; + has_v2 = ich_vtr_el2 >> 63; ich_vtr_el2 = (u32)ich_vtr_el2; /*@@ -605,13 +607,15 @@ int vgic_v3_probe(const struct gic_kvm_info*info) gicv4_enable ? "en" : "dis"); } + kvm_vgic_global_state.vcpu_base = 0; + if (!info->vcpu.start) { kvm_info("GICv3: no GICV resource entry\n"); - kvm_vgic_global_state.vcpu_base = 0; + } else if (!has_v2) { + pr_warn("CPU interface incapable of MMIO access\n");Could we include FW_BUG here to stress that this is a firmware problem?Absolutely! That's what it now looks like: [ 2.648452] kvm [1]: IPA Size Limit: 40 bits [ 2.649259] [Firmware Bug]: CPU interface incapable of MMIO access [ 2.649620] kvm [1]: disabling GICv2 emulation [ 2.650227] kvm [1]: GIC system register CPU interface enabled [ 2.652004] kvm [1]: vgic interrupt IRQ9 [ 2.655623] kvm [1]: VHE mode initialized successfully Updated version pushed out.Is there a v3 for this series? I couldn't find one.
Nope, I didn't think it was useful to send another series for such a minor change.
Anyways, tested this series on a D06 with faulty firmware and it is working as expected. FWIW, Tested-by: Shameer Kolothum [off-list ref]
Thanks,
M.
--
Jazz is not dead. It just smells funny...
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel