linux_dsm_epyc7002/arch/arm64/kvm
Dave Martin 85acda3b4a KVM: arm64: Save host SVE context as appropriate
This patch adds SVE context saving to the hyp FPSIMD context switch
path.  This means that it is no longer necessary to save the host
SVE state in advance of entering the guest, when in use.

In order to avoid adding pointless complexity to the code, VHE is
assumed if SVE is in use.  VHE is an architectural prerequisite for
SVE, so there is no good reason to turn CONFIG_ARM64_VHE off in
kernels that support both SVE and KVM.

Historically, software models exist that can expose the
architecturally invalid configuration of SVE without VHE, so if
this situation is detected at kvm_init() time then KVM will be
disabled.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-05-25 12:28:29 +01:00
..
hyp KVM: arm64: Save host SVE context as appropriate 2018-05-25 12:28:29 +01:00
debug.c KVM: arm64: Repurpose vcpu_arch.debug_flags for general-purpose flags 2018-05-25 12:28:13 +01:00
fpsimd.c KVM: arm64: Save host SVE context as appropriate 2018-05-25 12:28:29 +01:00
guest.c arm/arm64: KVM: Add PSCI version selection API 2018-04-20 16:32:23 +01:00
handle_exit.c arm/arm64: KVM: Advertise SMCCC v1.1 2018-02-06 22:54:01 +00:00
hyp-init.S arm64: KVM: Move vector offsetting from hyp-init.S to kvm_get_hyp_vector 2018-03-19 13:05:37 +00:00
hyp.S arm64: hyp-stub/KVM: Kill __hyp_get_vectors 2017-04-09 07:49:34 -07:00
inject_fault.c KVM: arm64: Prepare to handle deferred save/restore of ELR_EL1 2018-03-19 10:53:17 +00:00
irq.h KVM: arm/arm64: Enable irqchip routing 2016-07-22 18:52:01 +01:00
Kconfig KVM: arm64: Optimise FPSIMD handling to reduce guest/host thrashing 2018-05-25 12:28:28 +01:00
Makefile KVM: arm64: Optimise FPSIMD handling to reduce guest/host thrashing 2018-05-25 12:28:28 +01:00
regmap.c KVM: arm64: Prepare to handle deferred save/restore of 32-bit registers 2018-03-19 10:53:18 +00:00
reset.c KVM: arm/arm64: Move timer IRQ default init to arch_timer.c 2017-06-08 16:59:56 +02:00
sys_regs_generic_v8.c KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
sys_regs.c KVM: arm64: Repurpose vcpu_arch.debug_flags for general-purpose flags 2018-05-25 12:28:13 +01:00
sys_regs.h KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
va_layout.c arm64: KVM: Allow mapping of vectors outside of the RAM region 2018-03-19 13:06:46 +00:00
vgic-sys-reg-v3.c KVM: arm/arm64: Extract GICv3 max APRn index calculation 2017-09-05 17:33:39 +02:00