Page MenuHomeFreeBSD

D43303.diff
No OneTemporary

D43303.diff

diff --git a/sys/arm64/arm64/locore.S b/sys/arm64/arm64/locore.S
--- a/sys/arm64/arm64/locore.S
+++ b/sys/arm64/arm64/locore.S
@@ -301,8 +301,8 @@
* minimally usable system.
*/
tst x4, #HCR_E2H
- mov x3, #CPTR_RES1 /* HCR_E2H == 0 */
- mov x5, #CPTR_FPEN /* HCR_E2H == 1 */
+ mov x3, #CPTR_RES1 /* HCR_E2H == 0 */
+ mov x5, #(CPTR_FPEN | CPTR_ZPEN) /* HCR_E2H == 1 */
csel x2, x3, x5, eq
msr cptr_el2, x2
diff --git a/sys/arm64/include/hypervisor.h b/sys/arm64/include/hypervisor.h
--- a/sys/arm64/include/hypervisor.h
+++ b/sys/arm64/include/hypervisor.h
@@ -45,9 +45,11 @@
/* CPTR_EL2 - Architecture feature trap register */
/* Valid if HCR_EL2.E2H == 0 */
#define CPTR_RES0 0x7fefc800
-#define CPTR_RES1 0x000033ff
+#define CPTR_RES1 0x000032ff
+#define CPTR_TZ 0x00000100
#define CPTR_TFP 0x00000400
/* Valid if HCR_EL2.E2H == 1 */
+#define CPTR_ZPEN 0x00030000
#define CPTR_FPEN 0x00300000
/* Unconditionally valid */
#define CPTR_TTA 0x00100000

File Metadata

Mime Type
text/plain
Expires
Sat, Sep 21, 6:17 PM (6 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
12398320
Default Alt Text
D43303.diff (977 B)

Event Timeline