Module Name: src Committed By: matt Date: Sun Mar 29 09:49:54 UTC 2015
Modified Files: src/sys/arch/arm/include: locore.h Log Message: If using TPIDRPRW_IS_CURLWP and !MP and ARMV7, use movw/movt to load address of cpu_info_store To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/arch/arm/include/locore.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/include/locore.h diff -u src/sys/arch/arm/include/locore.h:1.19 src/sys/arch/arm/include/locore.h:1.20 --- src/sys/arch/arm/include/locore.h:1.19 Wed Feb 25 13:52:42 2015 +++ src/sys/arch/arm/include/locore.h Sun Mar 29 09:49:54 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.h,v 1.19 2015/02/25 13:52:42 joerg Exp $ */ +/* $NetBSD: locore.h,v 1.20 2015/03/29 09:49:54 matt Exp $ */ /* * Copyright (c) 1994-1996 Mark Brinicombe. @@ -87,7 +87,13 @@ #define GET_CURLWP(rX) GET_CURCPU(rX); ldr rX, [rX, #CI_CURLWP] #elif defined (TPIDRPRW_IS_CURLWP) #define GET_CURLWP(rX) mrc p15, 0, rX, c13, c0, 4 +#if defined (MULTIPROCESSOR) #define GET_CURCPU(rX) GET_CURLWP(rX); ldr rX, [rX, #L_CPU] +#elif defined(_ARM_ARCH_7) +#define GET_CURCPU(rX) movw rX, #:lower16:cpu_info_store; movt rX, #:upper16:cpu_info_store +#else +#define GET_CURCPU(rX) ldr rX, =_C_LABEL(cpu_info_store) +#endif #elif !defined(MULTIPROCESSOR) #define GET_CURCPU(rX) ldr rX, =_C_LABEL(cpu_info_store) #define GET_CURLWP(rX) GET_CURCPU(rX); ldr rX, [rX, #CI_CURLWP]