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