linux/arch/arm64/kvm
Oliver Upton 2e3cf82063 KVM: arm64: nv: Ensure correct VL is loaded before saving SVE state
It is possible that the guest hypervisor has selected a smaller VL than
the maximum for its nested guest. As such, ZCR_EL2 may be configured for
a different VL when exiting a nested guest.

Set ZCR_EL2 (via the EL1 alias) to the maximum VL for the VM before
saving SVE state as the SVE save area is dimensioned by the max VL.

Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20240620164653.1130714-8-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2024-06-20 19:02:40 +00:00
..
hyp KVM: arm64: nv: Use guest hypervisor's max VL when running nested guest 2024-06-20 19:02:40 +00:00
vgic KVM/arm64 updates for Linux 6.10 2024-05-12 03:15:53 -04:00
.gitignore
arch_timer.c KVM: arm64: Fix typos 2024-02-24 09:13:33 +00:00
arm.c KVM: arm64: Consolidate initializing the host data's fpsimd_state/sve in pKVM 2024-06-04 15:06:33 +01:00
debug.c KVM: arm64: debug: fix kernel-doc warnings 2024-02-01 20:25:41 +00:00
emulate-nested.c KVM: arm64: nv: Fix relative priorities of exceptions generated by ERETAx 2024-05-30 17:36:22 +01:00
fpsimd.c KVM: arm64: nv: Ensure correct VL is loaded before saving SVE state 2024-06-20 19:02:40 +00:00
guest.c KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode 2024-05-27 17:45:35 +01:00
handle_exit.c KVM: arm64: nv: Forward SVE traps to guest hypervisor 2024-06-20 19:01:20 +00:00
hypercalls.c Merge branch kvm-arm64/smccc-filter-cleanups into kvmarm/next 2023-10-30 20:18:37 +00:00
inject_fault.c KVM: arm64: Fix typos 2024-02-24 09:13:33 +00:00
Kconfig Revert "KVM: arm64: Snapshot all non-zero RES0/RES1 sysreg fields for later checking" 2024-03-15 17:50:22 -07:00
Makefile Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
mmio.c KVM: arm64: Force injection of a data abort on NISV MMIO exit 2024-05-01 16:48:15 +01:00
mmu.c KVM/arm64 updates for Linux 6.10 2024-05-12 03:15:53 -04:00
nested.c KVM: arm64: nv: Expose BTI and CSV_frac to a guest hypervisor 2024-05-30 17:36:22 +01:00
pauth.c KVM: arm64: nv: Work around lack of pauth support in old toolchains 2024-04-23 19:27:11 +01:00
pkvm.c KVM: arm64: Prevent kmemleak from accessing .hyp.data 2024-05-01 16:48:14 +01:00
pmu-emul.c Merge branch kvm-arm64/kerneldoc into kvmarm/next 2024-03-07 00:56:16 +00:00
pmu.c KVM: arm64: Add accessor for per-CPU state 2024-04-12 13:57:30 +01:00
psci.c Merge branch kvm-arm64/smccc-filtering into kvmarm-master/next 2023-04-21 09:44:32 +01:00
pvtime.c KVM: MMU: Make the definition of 'INVALID_GPA' common 2023-01-19 21:48:38 +00:00
reset.c KVM: arm64: Allocate memory mapped at hyp for host sve state in pKVM 2024-06-04 15:06:33 +01:00
stacktrace.c arm64: stacktrace: track hyp stacks in unwinder's address space 2022-09-09 12:30:08 +01:00
sys_regs.c KVM: arm64: nv: Handle ZCR_EL2 traps 2024-06-20 19:01:20 +00:00
sys_regs.h KVM: arm64: Rename __check_nv_sr_forward() to triage_sysreg_trap() 2024-02-19 17:13:01 +00:00
trace.h
trace_arm.h KVM: arm64: Add tracepoint for MMIO accesses where ISV==0 2023-10-30 20:17:22 +00:00
trace_handle_exit.h
trng.c
va_layout.c arm64: alternatives: kvm: prepare for cap changes 2022-09-16 17:15:02 +01:00
vgic-sys-reg-v3.c KVM: arm64: vgic-v3: Convert userspace accessors over to FIELD_GET/FIELD_PREP 2022-07-17 11:55:33 +01:00
vmid.c KVM: arm64: Reload stage-2 for VMID change on VHE 2023-10-20 17:52:01 +00:00