arm64: mops: don't disable host MOPS instructions from EL2
authorKristina Martsenko <kristina.martsenko@arm.com>
Tue, 9 May 2023 14:22:29 +0000 (15:22 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 5 Jun 2023 16:05:31 +0000 (17:05 +0100)
To allow nVHE host EL0 and EL1 to use FEAT_MOPS instructions, configure
EL2 to not cause these instructions to be treated as UNDEFINED. A VHE
host is unaffected by this control.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Link: https://lore.kernel.org/r/20230509142235.3284028-6-kristina.martsenko@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/kvm_arm.h

index 7bb2fbd..d2d4f4c 100644 (file)
@@ -94,7 +94,7 @@
 #define HCR_HOST_VHE_FLAGS (HCR_RW | HCR_TGE | HCR_E2H)
 
 #define HCRX_GUEST_FLAGS (HCRX_EL2_SMPME)
-#define HCRX_HOST_FLAGS 0
+#define HCRX_HOST_FLAGS (HCRX_EL2_MSCEn)
 
 /* TCR_EL2 Registers bits */
 #define TCR_EL2_RES1           ((1U << 31) | (1 << 23))