Module Name: src
Committed By: matt
Date: Wed Apr 8 07:29:44 UTC 2015
Modified Files:
src/sys/arch/arm/arm: arm_machdep.c
src/sys/arch/arm/include: cpu.h
Log Message:
Add an agnostic version of curlwp and curcpu() for modules since they won't
know if the kernel was built with TPIDRPRW_IS_CUR{LWP,CPU} or not.
To generate a diff of this commit:
cvs rdiff -u -r1.43 -r1.44 src/sys/arch/arm/arm/arm_machdep.c
cvs rdiff -u -r1.85 -r1.86 src/sys/arch/arm/include/cpu.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/arm/arm/arm_machdep.c
diff -u src/sys/arch/arm/arm/arm_machdep.c:1.43 src/sys/arch/arm/arm/arm_machdep.c:1.44
--- src/sys/arch/arm/arm/arm_machdep.c:1.43 Wed Oct 29 14:14:14 2014
+++ src/sys/arch/arm/arm/arm_machdep.c Wed Apr 8 07:29:44 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: arm_machdep.c,v 1.43 2014/10/29 14:14:14 skrll Exp $ */
+/* $NetBSD: arm_machdep.c,v 1.44 2015/04/08 07:29:44 matt Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -76,10 +76,11 @@
#include "opt_cputypes.h"
#include "opt_arm_debug.h"
#include "opt_multiprocessor.h"
+#include "opt_modular.h"
#include <sys/param.h>
-__KERNEL_RCSID(0, "$NetBSD: arm_machdep.c,v 1.43 2014/10/29 14:14:14 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arm_machdep.c,v 1.44 2015/04/08 07:29:44 matt Exp $");
#include <sys/exec.h>
#include <sys/proc.h>
@@ -212,7 +213,7 @@ setregs(struct lwp *l, struct exec_packa
void
startlwp(void *arg)
{
- ucontext_t *uc = arg;
+ ucontext_t *uc = (ucontext_t *)arg;
lwp_t *l = curlwp;
int error __diagused;
@@ -306,3 +307,17 @@ ucas_ras_check(trapframe_t *tf)
tf->tf_pc = (vaddr_t)ucas_32_ras_start;
}
}
+
+#ifdef MODULAR
+struct lwp *
+arm_curlwp(void)
+{
+ return curlwp;
+}
+
+struct cpu_info *
+arm_curcpu(void)
+{
+ return curcpu();
+}
+#endif
Index: src/sys/arch/arm/include/cpu.h
diff -u src/sys/arch/arm/include/cpu.h:1.85 src/sys/arch/arm/include/cpu.h:1.86
--- src/sys/arch/arm/include/cpu.h:1.85 Thu Apr 2 03:22:51 2015
+++ src/sys/arch/arm/include/cpu.h Wed Apr 8 07:29:44 2015
@@ -180,7 +180,15 @@ struct cpu_info {
extern struct cpu_info cpu_info_store;
-#if defined(TPIDRPRW_IS_CURLWP)
+struct lwp *arm_curlwp(void);
+struct cpu_info *arm_curcpu(void);
+
+#if defined(_MODULE)
+
+#define curlwp arm_curlwp()
+#define curcpu() arm_curcpu()
+
+#elif defined(TPIDRPRW_IS_CURLWP)
static inline struct lwp *
_curlwp(void)
{