vpmu_reset(vpmu, VPMU_RUNNING);
if ( has_hvm_container_vcpu(v) && is_msr_bitmap_on(vpmu) )
amd_vpmu_unset_msr_bitmap(v);
- release_pmu_ownship(PMU_OWNER_HVM);
+ release_pmu_ownership(PMU_OWNER_HVM);
}
if ( !vpmu_is_set(vpmu, VPMU_CONTEXT_LOADED)
vpmu->priv_context = NULL;
if ( vpmu_is_set(vpmu, VPMU_RUNNING) )
- release_pmu_ownship(PMU_OWNER_HVM);
+ release_pmu_ownership(PMU_OWNER_HVM);
vpmu_clear(vpmu);
}
return 1;
out_err:
- release_pmu_ownship(PMU_OWNER_HVM);
+ release_pmu_ownership(PMU_OWNER_HVM);
xfree(core2_vpmu_cxt);
xfree(p);
vpmu->priv_context = NULL;
if ( has_hvm_container_vcpu(v) && cpu_has_vmx_msr_bitmap )
core2_vpmu_unset_msr_bitmap(v->arch.hvm_vmx.msr_bitmap);
- release_pmu_ownship(PMU_OWNER_HVM);
+ release_pmu_ownership(PMU_OWNER_HVM);
vpmu_clear(vpmu);
}
static u64 idle_samples;
static u64 others_samples;
-int acquire_pmu_ownership(int pmu_ownship)
+int acquire_pmu_ownership(int pmu_ownership)
{
spin_lock(&pmu_owner_lock);
if ( pmu_owner == PMU_OWNER_NONE )
{
- pmu_owner = pmu_ownship;
+ pmu_owner = pmu_ownership;
goto out;
}
- if ( pmu_owner == pmu_ownship )
+ if ( pmu_owner == pmu_ownership )
goto out;
spin_unlock(&pmu_owner_lock);
return 1;
}
-void release_pmu_ownship(int pmu_ownship)
+void release_pmu_ownership(int pmu_ownership)
{
spin_lock(&pmu_owner_lock);
- if ( pmu_ownship == PMU_OWNER_HVM )
+ if ( pmu_ownership == PMU_OWNER_HVM )
pmu_hvm_refcount--;
if ( !pmu_hvm_refcount )
pmu_owner = PMU_OWNER_NONE;
break;
x = current->domain->xenoprof;
unshare_xenoprof_page_with_guest(x);
- release_pmu_ownship(PMU_OWNER_XENOPROF);
+ release_pmu_ownership(PMU_OWNER_XENOPROF);
break;
}
return vpmu_do_msr(msr, msr_content, 0, 0);
}
-extern int acquire_pmu_ownership(int pmu_ownership);
-extern void release_pmu_ownership(int pmu_ownership);
-
extern unsigned int vpmu_mode;
extern unsigned int vpmu_features;
#define PMU_OWNER_NONE 0
#define PMU_OWNER_XENOPROF 1
#define PMU_OWNER_HVM 2
-int acquire_pmu_ownship(int pmu_ownership);
-void release_pmu_ownship(int pmu_ownership);
+int acquire_pmu_ownership(int pmu_ownership);
+void release_pmu_ownership(int pmu_ownership);
void xenoprof_log_event(struct vcpu *, const struct cpu_user_regs *,
uint64_t pc, int mode, int event);