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 *);

Reply via email to