linux/arch/arm64/include/uapi/asm
Marc Zyngier d7eec2360e KVM: arm64: Add PMU event filtering infrastructure
It can be desirable to expose a PMU to a guest, and yet not want the
guest to be able to count some of the implemented events (because this
would give information on shared resources, for example.

For this, let's extend the PMUv3 device API, and offer a way to setup a
bitmap of the allowed events (the default being no bitmap, and thus no
filtering).

Userspace can thus allow/deny ranges of event. The default policy
depends on the "polarity" of the first filter setup (default deny if the
filter allows events, and default allow if the filter denies events).
This allows to setup exactly what is allowed for a given guest.

Note that although the ioctl is per-vcpu, the map of allowed events is
global to the VM (it can be setup from any vcpu until the vcpu PMU is
initialized).

Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
2020-09-29 14:19:39 +01:00
..
auxvec.h arm64: signal: Report signal frame size to userspace via auxv 2018-06-01 15:53:10 +01:00
bitsperlong.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
bpf_perf_event.h treewide: add "WITH Linux-syscall-note" to SPDX tag of uapi headers 2019-07-25 11:05:10 +02:00
byteorder.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
fcntl.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
hwcap.h arm64: Reserve HWCAP2_MTE as (1 << 18) 2020-07-24 11:55:29 +01:00
Kbuild kbuild: force all architectures except um to include mandatory-y 2019-03-17 12:56:32 +09:00
kvm.h KVM: arm64: Add PMU event filtering infrastructure 2020-09-29 14:19:39 +01:00
mman.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
param.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
perf_regs.h License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
posix_types.h License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
ptrace.h arm64: Basic Branch Target Identification support 2020-03-16 17:19:48 +00:00
setup.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
sigcontext.h arm64: sigcontext.h: delete duplicated word 2020-07-30 12:54:56 +01:00
signal.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
statfs.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
sve_context.h arm64/sve: Disentangle <uapi/asm/ptrace.h> from <uapi/asm/sigcontext.h> 2019-01-04 13:31:45 +00:00
ucontext.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
unistd.h arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers 2020-01-07 13:30:49 +01:00