Replace the VM argument with the pPMU used for event creation. The
current caller still passes the VM's default pPMU, but this removes the
implicit lookup from kvm_map_pmu_event() so later changes can map events
against the pPMU selected for an individual vCPU.

Signed-off-by: Akihiko Odaki <[email protected]>
---
 arch/arm64/kvm/pmu-emul.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/kvm/pmu-emul.c b/arch/arm64/kvm/pmu-emul.c
index 4e8c872b3e20..185ea3631eee 100644
--- a/arch/arm64/kvm/pmu-emul.c
+++ b/arch/arm64/kvm/pmu-emul.c
@@ -678,10 +678,8 @@ static bool kvm_pmc_counts_at_el2(struct kvm_pmc *pmc)
        return kvm_pmc_read_evtreg(pmc) & ARMV8_PMU_INCLUDE_EL2;
 }
 
-static int kvm_map_pmu_event(struct kvm *kvm, unsigned int eventsel)
+static int kvm_map_pmu_event(struct arm_pmu *pmu, unsigned int eventsel)
 {
-       struct arm_pmu *pmu = kvm->arch.arm_pmu;
-
        /*
         * The CPU PMU likely isn't PMUv3; let the driver provide a mapping
         * for the guest's PMUv3 event ID.
@@ -733,7 +731,7 @@ static void kvm_pmu_create_perf_event(struct kvm_pmc *pmc)
         * Don't create an event if we're running on hardware that requires
         * PMUv3 event translation and we couldn't find a valid mapping.
         */
-       eventsel = kvm_map_pmu_event(vcpu->kvm, eventsel);
+       eventsel = kvm_map_pmu_event(vcpu->kvm->arch.arm_pmu, eventsel);
        if (eventsel < 0)
                return;
 

-- 
2.55.0


Reply via email to