Re: [RFC PATCH v4 20/26] KVM: arm64: Trap disabled features of ID_AA64PFR0_EL1
From: Reiji Watanabe <hidden>
Date: 2022-02-10 04:17:04
Also in:
kvm, kvmarm
Hi Fuad, On Tue, Feb 1, 2022 at 6:14 AM Fuad Tabba [off-list ref] wrote:
Hi Reiji, ...quoted
quoted
quoted
+static void feature_amu_trap_activate(struct kvm_vcpu *vcpu) +{ + feature_trap_activate(vcpu, VCPU_CPTR_EL2, CPTR_EL2_TAM, 0);Covers the CPTR flags for AMU, but as you mentioned, does not explicitly clear HCR_AMVOFFEN.In my understanding, clearing HCR_EL2.AMVOFFEN is not necessary as CPTR_EL2.TAM == 1 traps the guest's accessing AMEVCNTR0<n>_EL0 and AMEVCNTR1<n>_EL0 anyway (HCR_EL2.AMVOFFEN doesn't matter). (Or is my understanding wrong ??)You're right. However, I think they should be cleared first for completeness. Also, if I understand correctly, AMVOFFEN is about enabling and disabling virtualization of the registers, making indirect reads of the virtual offset registers as zero, so it's not just about trapping.
I understand that AMVOFFEN is making indirect reads of the virtual offset registers as zero. But, in my understanding, enabling and disabling virtualization of the registers doesn't matter as long as CPTR_EL2.TAM == 1 (a value of HCR_EL2.AMVOFFEN doesn't change any behavior because the virtual offset registers won't be used). So, I'm not too keen on adding that so far. Thanks, Reiji _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel