git: fe5ed2496e44 - main - arm64: Don't trap SVE to EL2
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 30 Sep 2024 12:23:40 UTC
The branch main has been updated by andrew:
URL: https://cgit.FreeBSD.org/src/commit/?id=fe5ed2496e44aec018a6215175bba225b20d81fd
commit fe5ed2496e44aec018a6215175bba225b20d81fd
Author: Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2024-09-27 13:41:08 +0000
Commit: Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2024-09-30 12:04:23 +0000
arm64: Don't trap SVE to EL2
As with floating point instructions don't trap SVE instructions to the
hypervisor. This lets us handle then in the kernel.
Reviewed by: imp (earlier version)
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D43303
---
sys/arm64/include/hypervisor.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h
index 0a138006b108..1ba1756ecdf2 100644
--- a/sys/arm64/include/hypervisor.h
+++ b/sys/arm64/include/hypervisor.h
@@ -55,11 +55,12 @@
/* Valid if HCR_EL2.E2H == 0 */
#define CPTR_TRAP_ALL 0xc01037ff /* Enable all traps */
#define CPTR_RES0 0x7fefc800
-#define CPTR_RES1 0x000033ff
+#define CPTR_RES1 0x000032ff
#define CPTR_TFP 0x00000400
#define CPTR_TTA 0x00100000
/* Valid if HCR_EL2.E2H == 1 */
#define CPTR_E2H_TRAP_ALL 0xd0000000
+#define CPTR_E2H_ZPEN 0x00030000
#define CPTR_E2H_FPEN 0x00300000
#define CPTR_E2H_TTA 0x10000000
/* Unconditionally valid */