[PATCH 01/14] ARM: bitops: ensure set/clear/change bitops take a word-aligned pointer

Catalin Marinas catalin.marinas at arm.com
Tue Jan 18 10:11:10 EST 2011


On 18 January 2011 06:00, Nicolas Pitre <nico at fluxnic.net> wrote:
> On Mon, 17 Jan 2011, Russell King - ARM Linux wrote:
>
>> Add additional instructions to our assembly bitops functions to ensure
>> that they only operate on word-aligned pointers.  This will be necessary
>> when we switch these operations to use the word-based exclusive
>> operations.
>>
>> Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
>
> This breaks the Thumb2 kernel build:
>
>  AS      arch/arm/lib/changebit.o
> arch/arm/lib/changebit.S: Assembler messages:
> arch/arm/lib/changebit.S:16: Error: Thumb does not support negative register indexing -- `strne r1,[r1,-r1]'
>
> I also wonder what happens with a misaligned ldrex/strex... Does the
> alignment trap get invoked?

According to the ARM ARM, unaligned ldrex/strex should generate an
alignment fault on ARMv6 (with SCTLR.U bit set) and ARMv7.

-- 
Catalin



More information about the linux-arm-kernel mailing list