[PATCH 2/4] ARM: allow PID_IN_CONTEXTIDR only for ARMv7

Will Deacon will.deacon at arm.com
Wed Aug 22 10:39:46 EDT 2012


Hi Arnd,

On Wed, Aug 22, 2012 at 03:29:38PM +0100, Arnd Bergmann wrote:
> When ARMv6 is enabled, we build the kernel with -march=armv6 or
> -march=armv6k, which means the bfi instruction is not available.
> Instead, it only works with -march=armv6t2 or -march=armv7-a.
> 
> Without this patch, building rand-enIHAOL results in:
> 
> /tmp/ccwCsCXC.s: Assembler messages:
> /tmp/ccwCsCXC.s:49: Error: selected processor does not support ARM mode `bfi r3,r2,#0,#8'
> 
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> Cc: Will Deacon <will.deacon at arm.com>
> Cc: Russell King <rmk+kernel at arm.linux.org.uk>
> ---
>  arch/arm/Kconfig.debug |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index f15f82b..11b9ff4 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -398,6 +398,7 @@ config ARM_KPROBES_TEST
>  config PID_IN_CONTEXTIDR
>  	bool "Write the current PID to the CONTEXTIDR register"
>  	depends on CPU_COPY_V6
> +	depends on CPU_V7 && !CPU_V6
>  	help
>  	  Enabling this option causes the kernel to write the current PID to
>  	  the PROCID field of the CONTEXTIDR register, at the expense of some

Nah, I'll fix the contextidr_notifier instead. I forgot that this stuff gets
used on non-SMP v6 platforms.

Cheers,

Will



More information about the linux-arm-kernel mailing list