aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kvm/debug.c
diff options
context:
space:
mode:
authorDave Martin <Dave.Martin@arm.com>2018-05-09 14:27:41 +0100
committerMarc Zyngier <marc.zyngier@arm.com>2018-05-25 12:27:56 +0100
commit0cff8e776f8f58f494ed16b28baf209c1b73b079 (patch)
treefc2957da4897764e303398a235830862c9488244 /arch/arm64/kvm/debug.c
parentarm64: fpsimd: Eliminate task->mm checks (diff)
downloadlinux-dev-0cff8e776f8f58f494ed16b28baf209c1b73b079.tar.xz
linux-dev-0cff8e776f8f58f494ed16b28baf209c1b73b079.zip
arm64/sve: Refactor user SVE trap maintenance for external use
In preparation for optimising the way KVM manages switching the guest and host FPSIMD state, it is necessary to provide a means for code outside arch/arm64/kernel/fpsimd.c to restore the user trap configuration for SVE correctly for the current task. Rather than requiring external code to duplicate the maintenance explicitly, this patch moves the trap maintenenace to fpsimd_bind_to_cpu(), since it is logically part of the work of associating the current task with the cpu. Because fpsimd_bind_to_cpu() is rather a cryptic name to publish alongside fpsimd_bind_state_to_cpu(), the former function is renamed to fpsimd_bind_task_to_cpu() to make its purpose more explicit. This patch makes appropriate changes to ensure that fpsimd_bind_task_to_cpu() is always called alongside task_fpsimd_load(), so that the trap maintenance continues to be done in every situation where it was done prior to this patch. As a side-effect, the metadata updates done by fpsimd_bind_task_to_cpu() now change from conditional to unconditional in the "already bound" case of sigreturn. This is harmless, and a couple of extra stores on this slow path will not impact performance. I consider this a reasonable price to pay for a slightly cleaner interface. Signed-off-by: Dave Martin <Dave.Martin@arm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/kvm/debug.c')
0 files changed, 0 insertions, 0 deletions