Thread (86 messages) 86 messages, 5 authors, 2017-08-23
STALE3205d

[PATCH 21/27] arm64/sve: KVM: Prevent guests from using SVE

From: Marc Zyngier <hidden>
Date: 2017-08-16 11:22:47
Also in: kvmarm, linux-arch

On 16/08/17 12:20, Marc Zyngier wrote:
On 16/08/17 11:50, Dave Martin wrote:
quoted
On Tue, Aug 15, 2017 at 05:33:15PM +0100, Marc Zyngier wrote:
quoted
On 09/08/17 13:05, Dave Martin wrote:
quoted
Until KVM has full SVE support, guests must not be allowed to
execute SVE instructions.

This patch enables the necessary traps, and also ensures that the
traps are disabled again on exit from the guest so that the host
can still use SVE if it wants to.

Signed-off-by: Dave Martin <Dave.Martin@arm.com>
---
 arch/arm64/include/asm/kvm_arm.h | 3 ++-
 arch/arm64/kvm/hyp/switch.c      | 6 +++---
 2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h
index dbf0537..8a19651 100644
--- a/arch/arm64/include/asm/kvm_arm.h
+++ b/arch/arm64/include/asm/kvm_arm.h
@@ -186,7 +186,7 @@
 #define CPTR_EL2_TTA	(1 << 20)
 #define CPTR_EL2_TFP	(1 << CPTR_EL2_TFP_SHIFT)
 #define CPTR_EL2_TZ	(1 << 8)
-#define CPTR_EL2_DEFAULT	0x000033ff
+#define CPTR_EL2_DEFAULT	(0x000033ff & ~CPTR_EL2_TZ)
I must say I'm not overly fond of this construct. I'd rather introduce a
RES1 field that matches the v8.2 description, instead of this ugly
constant and something that clears it.
Sorry, I don't get your meaning here.  v8.2 neither immediately predates
or postdates SVE.  
The ARMv8 ARM (DDI406B_a, D7.2.19) says otherwise. This bit is only
Of course, the days of the ARMv7 ARM are still haunting me. This should
read DDI487B_a.

Apologies for the confusion.

	M.
-- 
Jazz is not dead. It just smells funny...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help