2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/arch/arm64/kvm
Mark Rutland 42ce432522 KVM: arm64: Remove kvm_arch_vcpu_run_map_fp()
Historically KVM hyp code saved the host's FPSIMD state into the hosts's
fpsimd_state memory, and so it was necessary to map this into the hyp
Stage-1 mappings before running a vCPU.

This is no longer necessary as of commits:

* fbc7e61195 ("KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state")
* 8eca7f6d51 ("KVM: arm64: Remove host FPSIMD saving for non-protected KVM")

Since those commits, we eagerly save the host's FPSIMD state before
calling into hyp to run a vCPU, and hyp code never reads nor writes the
host's fpsimd_state memory. There's no longer any need to map the host's
fpsimd_state memory into the hyp Stage-1, and kvm_arch_vcpu_run_map_fp()
is unnecessary but benign.

Remove kvm_arch_vcpu_run_map_fp(). Currently there is no code to perform
a corresponding unmap, and we never mapped the host's SVE or SME state
into the hyp Stage-1, so no other code needs to be removed.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Will Deacon <will@kernel.org>
Cc: kvmarm@lists.linux.dev
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Fuad Tabba <tabba@google.com>
Link: https://lore.kernel.org/r/20250619134817.4075340-1-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
2025-07-03 10:39:24 +01:00
..
hyp KVM: arm64: Adjust range correctly during host stage-2 faults 2025-06-26 08:04:43 +01:00
vgic KVM: arm64: nv: Fix MI line level calculation in vgic_v3_nested_update_mi() 2025-06-26 08:01:45 +01:00
.gitignore
arch_timer.c KVM/arm64 fixes for 6.16, take #2 2025-06-11 14:25:22 -04:00
arm.c KVM: arm64: Remove kvm_arch_vcpu_run_map_fp() 2025-07-03 10:39:24 +01:00
at.c Merge branch kvm-arm64/misc-6.16 into kvmarm-master/next 2025-05-23 10:59:43 +01:00
config.c KVM: arm64: Add sanitisation for FEAT_FGT2 registers 2025-05-19 11:36:10 +01:00
debug.c KVM: arm64: Add RMW specific sysreg accessor 2025-06-05 14:18:01 +01:00
emulate-nested.c Merge branch kvm-arm64/nv-nv into kvmarm-master/next 2025-05-23 10:58:57 +01:00
fpsimd.c KVM: arm64: Remove kvm_arch_vcpu_run_map_fp() 2025-07-03 10:39:24 +01:00
guest.c KVM: arm64: Manage software step state at load/put 2024-12-20 09:04:06 +00:00
handle_exit.c Merge branch kvm-arm64/nv-nv into kvmarm-master/next 2025-05-23 10:58:57 +01:00
hypercalls.c arm64: kvm, smccc: Introduce and use API for getting hypervisor UUID 2025-05-23 16:30:55 +00:00
inject_fault.c KVM: arm64: Fix typos 2024-02-24 09:13:33 +00:00
Kconfig arm64: drop binutils version checks 2025-04-30 21:55:06 +02:00
Makefile KVM: arm64: Switch to table-driven FGU configuration 2025-05-10 11:04:35 +01:00
mmio.c KVM: arm64: Don't retire aborted MMIO instruction 2024-10-26 14:37:49 +00:00
mmu.c KVM/arm64 updates for 6.16 2025-05-26 16:19:46 -04:00
nested.c KVM: arm64: Fix handling of FEAT_GTG for unimplemented granule sizes 2025-07-03 10:39:24 +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 Merge branch kvm-arm64/misc-6.16 into kvmarm-master/next 2025-05-23 10:59:43 +01:00
pmu-emul.c KVM: arm64: Add RMW specific sysreg accessor 2025-06-05 14:18:01 +01:00
pmu.c KVM: arm64: Use a cpucap to determine if system supports FEAT_PMUv3 2025-03-11 12:54:23 -07:00
psci.c KVM: arm64: Add support for PSCI v1.2 and v1.3 2024-10-24 16:38:07 -07:00
ptdump.c KVM: arm64: ptdump: Test PMD_TYPE_MASK for block mapping 2025-03-12 12:20:59 +00:00
pvtime.c KVM: MMU: Make the definition of 'INVALID_GPA' common 2023-01-19 21:48:38 +00:00
reset.c KVM: arm64: nv: Add pseudo-TLB backing VNCR_EL2 2025-05-19 07:59:46 +01:00
stacktrace.c arm64: kvm: Introduce nvhe stack size constants 2025-01-08 11:25:28 +00:00
sys_regs.c KVM/arm64 fixes for 6.16, take #2 2025-06-11 14:25:22 -04:00
sys_regs.h KVM: arm64: Add assignment-specific sysreg accessor 2025-06-05 14:17:32 +01:00
trace_arm.h KVM: arm64: Replace ternary flags with str_on_off() helper 2025-05-06 09:38:37 +01:00
trace_handle_exit.h KVM: arm64: Remove debug tracepoints 2024-12-20 09:01:25 +00:00
trace.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 arm64: sysreg: Add layout for ICH_VTR_EL2 2025-03-03 14:51:51 -08:00
vmid.c KVM: arm64: Ensure a VMID is allocated before programming VTTBR_EL2 2025-02-20 16:29:28 +00:00