summaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/pmu.h
diff options
context:
space:
mode:
authorBoris Ostrovsky2015-08-10 22:34:36 +0200
committerDavid Vrabel2015-08-20 13:25:25 +0200
commit6b08cd6328c58a2ae190c5ee03a2ffcab5ef828e (patch)
tree90fd9fee020e844c50f2b0c9bd40b8ccffdfe14b /arch/x86/xen/pmu.h
parentxen/PMU: Describe vendor-specific PMU registers (diff)
downloadkernel-qcow2-linux-6b08cd6328c58a2ae190c5ee03a2ffcab5ef828e.tar.gz
kernel-qcow2-linux-6b08cd6328c58a2ae190c5ee03a2ffcab5ef828e.tar.xz
kernel-qcow2-linux-6b08cd6328c58a2ae190c5ee03a2ffcab5ef828e.zip
xen/PMU: Intercept PMU-related MSR and APIC accesses
Provide interfaces for recognizing accesses to PMU-related MSRs and LVTPC APIC and process these accesses in Xen PMU code. (The interrupt handler performs XENPMU_flush right away in the beginning since no PMU emulation is available. It will be added with a later patch). 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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/xen/pmu.h b/arch/x86/xen/pmu.h
index a76d2cf83581..af5f0ad94078 100644
--- a/arch/x86/xen/pmu.h
+++ b/arch/x86/xen/pmu.h
@@ -7,5 +7,9 @@ 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);
+bool pmu_msr_read(unsigned int msr, uint64_t *val, int *err);
+bool pmu_msr_write(unsigned int msr, uint32_t low, uint32_t high, int *err);
+int pmu_apic_update(uint32_t reg);
+unsigned long long xen_read_pmc(int counter);
#endif /* __XEN_PMU_H */