arm64: KVM: Add access handler for event counter register
authorShannon Zhao <shannon.zhao@linaro.org>
Tue, 8 Dec 2015 07:29:06 +0000 (15:29 +0800)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 29 Feb 2016 18:34:20 +0000 (18:34 +0000)
commit051ff581ce70e822729e9474941f3c206cbf7436
tree3df20342cf7ae5df7afaed1116f3dd242cccefe2
parenta86b5505304404dc5fc5e62a6dc294706e525003
arm64: KVM: Add access handler for event counter register

These kind of registers include PMEVCNTRn, PMCCNTR and PMXEVCNTR which
is mapped to PMEVCNTRn.

The access handler translates all aarch32 register offsets to aarch64
ones and uses vcpu_sys_reg() to access their values to avoid taking care
of big endian.

When reading these registers, return the sum of register value and the
value perf event counts.

Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm64/include/asm/kvm_host.h
arch/arm64/kvm/Makefile
arch/arm64/kvm/sys_regs.c
include/kvm/arm_pmu.h
virt/kvm/arm/pmu.c [new file with mode: 0644]