Module Name:    src
Committed By:   jmcneill
Date:           Thu Jan 30 09:21:13 UTC 2025

Modified Files:
        src/sys/arch/aarch64/aarch64: genassym.cf locore.S

Log Message:
Fix CNTKCTL_EL1 initialization.

Explicitly initialize all fields in CNTKCTL_EL1 as many of them reset
to an architecturally UNKNOWN value.


To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/aarch64/aarch64/genassym.cf
cvs rdiff -u -r1.93 -r1.94 src/sys/arch/aarch64/aarch64/locore.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/aarch64/aarch64/genassym.cf
diff -u src/sys/arch/aarch64/aarch64/genassym.cf:1.39 src/sys/arch/aarch64/aarch64/genassym.cf:1.40
--- src/sys/arch/aarch64/aarch64/genassym.cf:1.39	Sun Apr 16 14:01:51 2023
+++ src/sys/arch/aarch64/aarch64/genassym.cf	Thu Jan 30 09:21:13 2025
@@ -1,4 +1,4 @@
-# $NetBSD: genassym.cf,v 1.39 2023/04/16 14:01:51 skrll Exp $
+# $NetBSD: genassym.cf,v 1.40 2025/01/30 09:21:13 jmcneill Exp $
 #-
 # Copyright (c) 2014 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -309,6 +309,7 @@ define	DAIF_SETCLR_SHIFT	DAIF_SETCLR_SHI
 define	CNTHCTL_EL1PCTEN	CNTHCTL_EL1PCTEN
 define	CNTHCTL_EL1PCEN		CNTHCTL_EL1PCEN
 define	CNTKCTL_EL0VCTEN	CNTKCTL_EL0VCTEN
+define	CNTKCTL_EL0VTEN		CNTKCTL_EL0VTEN
 define	SPSR_SS_SHIFT		SPSR_SS_SHIFT
 define	SPSR_F			SPSR_F
 define	SPSR_I			SPSR_I

Index: src/sys/arch/aarch64/aarch64/locore.S
diff -u src/sys/arch/aarch64/aarch64/locore.S:1.93 src/sys/arch/aarch64/aarch64/locore.S:1.94
--- src/sys/arch/aarch64/aarch64/locore.S:1.93	Wed Feb  7 04:20:26 2024
+++ src/sys/arch/aarch64/aarch64/locore.S	Thu Jan 30 09:21:13 2025
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.93 2024/02/07 04:20:26 msaitoh Exp $	*/
+/*	$NetBSD: locore.S,v 1.94 2025/01/30 09:21:13 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2017 Ryo Shimizu
@@ -38,7 +38,7 @@
 #include <aarch64/hypervisor.h>
 #include "assym.h"
 
-RCSID("$NetBSD: locore.S,v 1.93 2024/02/07 04:20:26 msaitoh Exp $")
+RCSID("$NetBSD: locore.S,v 1.94 2025/01/30 09:21:13 jmcneill Exp $")
 
 #ifdef AARCH64_DEVICE_MEM_NONPOSTED
 #define	MAIR_DEVICE_MEM		MAIR_DEVICE_nGnRnE
@@ -251,8 +251,7 @@ init_sysregs:
 	isb
 
 	/* allow to read CNTVCT_EL0 and CNTFRQ_EL0 from EL0 */
-	mrs	x0, cntkctl_el1
-	orr	x0, x0, #CNTKCTL_EL0VCTEN
+	mov	x0, #(CNTKCTL_EL0VCTEN | CNTKCTL_EL0VTEN)
 	msr	cntkctl_el1, x0
 
 	/* any exception not masked */

Reply via email to