diff options
author | Boris Ostrovsky <boris.ostrovsky@oracle.com> | 2015-08-10 22:34:34 +0200 |
---|---|---|
committer | David Vrabel <david.vrabel@citrix.com> | 2015-08-20 13:25:20 +0200 |
commit | 65d0cf0be79feebeb19e7626fd3ed41ae73f642d (patch) | |
tree | d8ade5462b3332084ca9fef267638d30a0795fd7 /arch/x86/xen/pmu.h | |
parent | xen/PMU: Sysfs interface for setting Xen PMU mode (diff) | |
download | linux-65d0cf0be79feebeb19e7626fd3ed41ae73f642d.tar.xz linux-65d0cf0be79feebeb19e7626fd3ed41ae73f642d.zip |
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>
Diffstat (limited to 'arch/x86/xen/pmu.h')
-rw-r--r-- | arch/x86/xen/pmu.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/xen/pmu.h b/arch/x86/xen/pmu.h new file mode 100644 index 000000000000..a76d2cf83581 --- /dev/null +++ b/arch/x86/xen/pmu.h @@ -0,0 +1,11 @@ +#ifndef __XEN_PMU_H +#define __XEN_PMU_H + +#include <xen/interface/xenpmu.h> + +irqreturn_t xen_pmu_irq_handler(int irq, void *dev_id); +void xen_pmu_init(int cpu); +void xen_pmu_finish(int cpu); +bool is_xen_pmu(int cpu); + +#endif /* __XEN_PMU_H */ |