#define KVM_REQ_VCPU_RESET     KVM_ARCH_REQ(2)
 #define KVM_REQ_RECORD_STEAL   KVM_ARCH_REQ(3)
 #define KVM_REQ_RELOAD_GICv4   KVM_ARCH_REQ(4)
+#define KVM_REQ_RELOAD_PMU     KVM_ARCH_REQ(5)
 
 #define KVM_DIRTY_LOG_MANUAL_CAPS   (KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE | \
                                     KVM_DIRTY_LOG_INITIALLY_SET)
 
                        vgic_v4_load(vcpu);
                        preempt_enable();
                }
+
+               if (kvm_check_request(KVM_REQ_RELOAD_PMU, vcpu))
+                       kvm_pmu_handle_pmcr(vcpu,
+                                           __vcpu_sys_reg(vcpu, PMCR_EL0));
        }
 }
 
 
                   return -EINVAL;
        }
 
+       /* One-off reload of the PMU on first run */
+       kvm_make_request(KVM_REQ_RELOAD_PMU, vcpu);
+
        return 0;
 }