[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.6] x86/VPMU: Initialize VPMU's lvtpc vector
commit 7dcd82d1aa68e793be05dd11cc587c909463a5c1 Author: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> AuthorDate: Tue Dec 15 15:23:20 2015 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Dec 15 15:23:20 2015 +0100 x86/VPMU: Initialize VPMU's lvtpc vector If a guest sets up performance counters so that they can generate a PMC interrupt but does not initilaize APIC LVTPC register the resulting interrupt will cause an APIC error. Note that a guest deciding to clear LVTPC in order to unduce the error will not be successful in achieving its goal: emulation code only looks at the mask bit and always sets the vector to PMU_APIC_VECTOR. Only the initial value of LVTPC (which is zero) that gets loaded into APIC as result of PMC initialization is the problem. Signed-off-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> master commit: 0c3f24645b07b875bc1294fb4627f01e030690fe master date: 2015-11-24 18:33:08 +0100 --- xen/arch/x86/cpu/vpmu.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c index 2f5156a..d870dcc 100644 --- a/xen/arch/x86/cpu/vpmu.c +++ b/xen/arch/x86/cpu/vpmu.c @@ -480,6 +480,8 @@ void vpmu_initialise(struct vcpu *v) return; /* Don't bother restoring vpmu_count, VPMU is off forever */ } + vpmu->hw_lapic_lvtpc = PMU_APIC_VECTOR | APIC_LVT_MASKED; + if ( ret ) printk(XENLOG_G_WARNING "VPMU: Initialization failed for %pv\n", v); -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.6 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |