Module Name:    src
Committed By:   riastradh
Date:           Wed Dec 18 21:45:44 UTC 2019

Modified Files:
        src/sys/arch/aarch64/aarch64: aarch64_machdep.c
        src/sys/arch/aarch64/include: machdep.h
        src/sys/arch/arm/arm32: arm32_machdep.c
        src/sys/arch/arm/include/arm32: machdep.h

Log Message:
New function cpu_startup_hook on arm.

Called at end of cpu_startup.  Can be defined in, e.g., evbarm to do
additional stuff after cpu_startup.  Defined as a weak alias to a
function that does nothing, so optional.

ok jmcneill


To generate a diff of this commit:
cvs rdiff -u -r1.34 -r1.35 src/sys/arch/aarch64/aarch64/aarch64_machdep.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/aarch64/include/machdep.h
cvs rdiff -u -r1.128 -r1.129 src/sys/arch/arm/arm32/arm32_machdep.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/include/arm32/machdep.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/aarch64_machdep.c
diff -u src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.34 src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.35
--- src/sys/arch/aarch64/aarch64/aarch64_machdep.c:1.34	Thu Nov 14 17:09:22 2019
+++ src/sys/arch/aarch64/aarch64/aarch64_machdep.c	Wed Dec 18 21:45:43 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: aarch64_machdep.c,v 1.34 2019/11/14 17:09:22 maxv Exp $ */
+/* $NetBSD: aarch64_machdep.c,v 1.35 2019/12/18 21:45:43 riastradh Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.34 2019/11/14 17:09:22 maxv Exp $");
+__KERNEL_RCSID(1, "$NetBSD: aarch64_machdep.c,v 1.35 2019/12/18 21:45:43 riastradh Exp $");
 
 #include "opt_arm_debug.h"
 #include "opt_ddb.h"
@@ -595,6 +595,14 @@ cpu_startup(void)
 
 	/* Hello! */
 	banner();
+
+	cpu_startup_hook();
+}
+
+__weak_alias(cpu_startup_hook,cpu_startup_default)
+void
+cpu_startup_default(void)
+{
 }
 
 /*

Index: src/sys/arch/aarch64/include/machdep.h
diff -u src/sys/arch/aarch64/include/machdep.h:1.8 src/sys/arch/aarch64/include/machdep.h:1.9
--- src/sys/arch/aarch64/include/machdep.h:1.8	Tue Jul 16 16:18:56 2019
+++ src/sys/arch/aarch64/include/machdep.h	Wed Dec 18 21:45:43 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.h,v 1.8 2019/07/16 16:18:56 skrll Exp $	*/
+/*	$NetBSD: machdep.h,v 1.9 2019/12/18 21:45:43 riastradh Exp $	*/
 
 /*
  * Copyright (c) 2017 Ryo Shimizu <r...@nerv.org>
@@ -83,6 +83,9 @@ void uartputc(int);
 void parse_mi_bootargs(char *);
 void dumpsys(void);
 
+void cpu_startup_hook(void);
+void cpu_startup_default(void);
+
 struct trapframe;
 
 /* fault.c */

Index: src/sys/arch/arm/arm32/arm32_machdep.c
diff -u src/sys/arch/arm/arm32/arm32_machdep.c:1.128 src/sys/arch/arm/arm32/arm32_machdep.c:1.129
--- src/sys/arch/arm/arm32/arm32_machdep.c:1.128	Fri May 10 16:43:09 2019
+++ src/sys/arch/arm/arm32/arm32_machdep.c	Wed Dec 18 21:45:44 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: arm32_machdep.c,v 1.128 2019/05/10 16:43:09 skrll Exp $	*/
+/*	$NetBSD: arm32_machdep.c,v 1.129 2019/12/18 21:45:44 riastradh Exp $	*/
 
 /*
  * Copyright (c) 1994-1998 Mark Brinicombe.
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: arm32_machdep.c,v 1.128 2019/05/10 16:43:09 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arm32_machdep.c,v 1.129 2019/12/18 21:45:44 riastradh Exp $");
 
 #include "opt_arm_debug.h"
 #include "opt_arm_start.h"
@@ -353,6 +353,14 @@ cpu_startup(void)
 #else
  	tf->tf_spsr = PSR_USR32_MODE;
 #endif
+
+	cpu_startup_hook();
+}
+
+__weak_alias(cpu_startup_hook,cpu_startup_default)
+void
+cpu_startup_default(void)
+{
 }
 
 /*

Index: src/sys/arch/arm/include/arm32/machdep.h
diff -u src/sys/arch/arm/include/arm32/machdep.h:1.29 src/sys/arch/arm/include/arm32/machdep.h:1.30
--- src/sys/arch/arm/include/arm32/machdep.h:1.29	Tue Jul 16 14:41:43 2019
+++ src/sys/arch/arm/include/arm32/machdep.h	Wed Dec 18 21:45:44 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: machdep.h,v 1.29 2019/07/16 14:41:43 skrll Exp $ */
+/* $NetBSD: machdep.h,v 1.30 2019/12/18 21:45:44 riastradh Exp $ */
 
 #ifndef _ARM32_MACHDEP_H_
 #define _ARM32_MACHDEP_H_
@@ -73,6 +73,9 @@ vaddr_t initarm(void *);
 struct pmap_devmap;
 struct boot_physmem;
 
+void cpu_startup_hook(void);
+void cpu_startup_default(void);
+
 static inline paddr_t
 aarch32_kern_vtophys(vaddr_t va)
 {

Reply via email to