xen/PMU: Initialization code for Xen PMU
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>
Mon, 10 Aug 2015 20:34:34 +0000 (16:34 -0400)
committerDavid Vrabel <david.vrabel@citrix.com>
Thu, 20 Aug 2015 11:25:20 +0000 (12:25 +0100)
commit65d0cf0be79feebeb19e7626fd3ed41ae73f642d
treed8ade5462b3332084ca9fef267638d30a0795fd7
parent5f141548824cebbff2e838ff401c34e667797467
xen/PMU: Initialization code for Xen PMU

Map shared data structure that will hold CPU registers, VPMU context,
V/PCPU IDs of the CPU interrupted by PMU interrupt. Hypervisor fills
this information in its handler and passes it to the guest for further
processing.

Set up PMU VIRQ.

Now that perf infrastructure will assume that PMU is available on a PV
guest we need to be careful and make sure that accesses via RDPMC
instruction don't cause fatal traps by the hypervisor. Provide a nop
RDPMC handler.

For the same reason avoid issuing a warning on a write to APIC's LVTPC.

Both of these will be made functional in later patches.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
arch/x86/include/asm/xen/interface.h
arch/x86/xen/Makefile
arch/x86/xen/apic.c
arch/x86/xen/enlighten.c
arch/x86/xen/pmu.c [new file with mode: 0644]
arch/x86/xen/pmu.h [new file with mode: 0644]
arch/x86/xen/smp.c
arch/x86/xen/suspend.c
include/xen/interface/xen.h
include/xen/interface/xenpmu.h