Module Name: src Committed By: jmcneill Date: Mon Dec 30 19:13:48 UTC 2024
Modified Files: src/sys/arch/aarch64/aarch64: cpu_machdep.c idle_machdep.S src/sys/arch/aarch64/include: cpufunc.h Log Message: aarch64: Allow for alternate cpu_idle() implementations To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/aarch64/aarch64/cpu_machdep.c cvs rdiff -u -r1.12 -r1.13 src/sys/arch/aarch64/aarch64/idle_machdep.S cvs rdiff -u -r1.27 -r1.28 src/sys/arch/aarch64/include/cpufunc.h 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/cpu_machdep.c diff -u src/sys/arch/aarch64/aarch64/cpu_machdep.c:1.15 src/sys/arch/aarch64/aarch64/cpu_machdep.c:1.16 --- src/sys/arch/aarch64/aarch64/cpu_machdep.c:1.15 Sun Apr 14 12:51:16 2024 +++ src/sys/arch/aarch64/aarch64/cpu_machdep.c Mon Dec 30 19:13:48 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: cpu_machdep.c,v 1.15 2024/04/14 12:51:16 skrll Exp $ */ +/* $NetBSD: cpu_machdep.c,v 1.16 2024/12/30 19:13:48 jmcneill Exp $ */ /*- * Copyright (c) 2014, 2019 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(1, "$NetBSD: cpu_machdep.c,v 1.15 2024/04/14 12:51:16 skrll Exp $"); +__KERNEL_RCSID(1, "$NetBSD: cpu_machdep.c,v 1.16 2024/12/30 19:13:48 jmcneill Exp $"); #include "opt_multiprocessor.h" @@ -51,6 +51,9 @@ __KERNEL_RCSID(1, "$NetBSD: cpu_machdep. #include <aarch64/machdep.h> #include <aarch64/pcb.h> #include <aarch64/userret.h> +#include <aarch64/cpufunc.h> + +void (*arm_cpu_idle)(void) = aarch64_cpu_idle_wfi; #ifdef __HAVE_FAST_SOFTINTS #if IPL_VM != IPL_SOFTSERIAL + 1 @@ -374,3 +377,9 @@ pic_ipi_shootdown(void *arg) return 1; } #endif /* MULTIPROCESSOR */ + +void +cpu_idle(void) +{ + arm_cpu_idle(); +} Index: src/sys/arch/aarch64/aarch64/idle_machdep.S diff -u src/sys/arch/aarch64/aarch64/idle_machdep.S:1.12 src/sys/arch/aarch64/aarch64/idle_machdep.S:1.13 --- src/sys/arch/aarch64/aarch64/idle_machdep.S:1.12 Sun May 29 23:39:59 2022 +++ src/sys/arch/aarch64/aarch64/idle_machdep.S Mon Dec 30 19:13:48 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: idle_machdep.S,v 1.12 2022/05/29 23:39:59 ryo Exp $ */ +/* $NetBSD: idle_machdep.S,v 1.13 2024/12/30 19:13:48 jmcneill Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ #include <aarch64/locore.h> #include "assym.h" -RCSID("$NetBSD: idle_machdep.S,v 1.12 2022/05/29 23:39:59 ryo Exp $"); +RCSID("$NetBSD: idle_machdep.S,v 1.13 2024/12/30 19:13:48 jmcneill Exp $"); #ifdef ARM_INTR_IMPL #include ARM_INTR_IMPL @@ -49,7 +49,7 @@ RCSID("$NetBSD: idle_machdep.S,v 1.12 20 #endif -ENTRY(cpu_idle) +ENTRY(aarch64_cpu_idle_wfi) #ifdef LAZY_CPUIDLE /* @@ -122,4 +122,4 @@ ENTRY(cpu_idle) #endif /* LAZY_CPUIDLE */ ret -END(cpu_idle) +END(aarch64_cpu_idle_wfi) Index: src/sys/arch/aarch64/include/cpufunc.h diff -u src/sys/arch/aarch64/include/cpufunc.h:1.27 src/sys/arch/aarch64/include/cpufunc.h:1.28 --- src/sys/arch/aarch64/include/cpufunc.h:1.27 Wed Feb 7 04:20:26 2024 +++ src/sys/arch/aarch64/include/cpufunc.h Mon Dec 30 19:13:48 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: cpufunc.h,v 1.27 2024/02/07 04:20:26 msaitoh Exp $ */ +/* $NetBSD: cpufunc.h,v 1.28 2024/12/30 19:13:48 jmcneill Exp $ */ /* * Copyright (c) 2017 Ryo Shimizu @@ -52,6 +52,8 @@ void aarch64_hafdbs_init(int); void aarch64_pan_init(int); int aarch64_pac_init(int); +void aarch64_cpu_idle_wfi(void); + int set_cpufuncs(void); int aarch64_setcpufuncs(struct cpu_info *); void aarch64_getcacheinfo(struct cpu_info *);