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 */