[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