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) {