arm64/fpsimd: Enable host kernel access to FPMR
authorMark Brown <broonie@kernel.org>
Wed, 6 Mar 2024 23:14:47 +0000 (23:14 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Thu, 7 Mar 2024 17:14:52 +0000 (17:14 +0000)
FEAT_FPMR provides a new generally accessible architectural register FPMR.
This is only accessible to EL0 and EL1 when HCRX_EL2.EnFPM is set to 1,
do this when the host is running. The guest part will be done along with
context switching the new register and exposing it via guest management.

Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20240306-arm64-2023-dpisa-v5-2-c568edc8ed7f@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/kvm_arm.h

index 3c6f8ba1e47927cea13fd4ff7f25c46c846052cf..7f45ce9170bb3edc85b4f9e857b588b277a6de4d 100644 (file)
 #define HCRX_GUEST_FLAGS \
        (HCRX_EL2_SMPME | HCRX_EL2_TCR2En | \
         (cpus_have_final_cap(ARM64_HAS_MOPS) ? (HCRX_EL2_MSCEn | HCRX_EL2_MCE2) : 0))
-#define HCRX_HOST_FLAGS (HCRX_EL2_MSCEn | HCRX_EL2_TCR2En)
+#define HCRX_HOST_FLAGS (HCRX_EL2_MSCEn | HCRX_EL2_TCR2En | HCRX_EL2_EnFPM)
 
 /* TCR_EL2 Registers bits */
 #define TCR_EL2_DS             (1UL << 32)