aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/perf
diff options
context:
space:
mode:
authorJames Morse <james.morse@arm.com>2018-09-21 21:49:19 +0100
committerCatalin Marinas <catalin.marinas@arm.com>2018-10-19 15:37:25 +0100
commit4debef5510071032c6d5dace31ca1cc42a120073 (patch)
tree8c85a24a9c2d877e430f1d4987debe5d63123bac /drivers/perf
parentarm64: cpufeature: Trap CTR_EL0 access only where it is necessary (diff)
downloadlinux-dev-4debef5510071032c6d5dace31ca1cc42a120073.tar.xz
linux-dev-4debef5510071032c6d5dace31ca1cc42a120073.zip
arm64: KVM: Guests can skip __install_bp_hardening_cb()s HYP work
enable_smccc_arch_workaround_1() passes NULL as the hyp_vecs start and end if the HVC conduit is in use, and ARM_SMCCC_ARCH_WORKAROUND_1 is detected. If the guest kernel happened to be built with KVM_INDIRECT_VECTORS, we go on to allocate a slot, memcpy() the empty workaround in and do the appropriate cache maintenance. This works as we always tell memcpy() the range is 0, so it never accesses the NULL src pointer, but we still do the cache maintenance. If hyp_vecs_start is NULL we know we're a guest, just update the fn like the !KVM_INDIRECT_VECTORS version. Reviewed-by: Julien Thierry <julien.thierry@arm.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'drivers/perf')
0 files changed, 0 insertions, 0 deletions