[PATCH 01/14] ARM: bitops: ensure set/clear/change bitops take a word-aligned pointer
From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2011-01-18 15:11:10
Also in:
linux-omap
From: catalin.marinas@arm.com (Catalin Marinas)
Date: 2011-01-18 15:11:10
Also in:
linux-omap
On 18 January 2011 06:00, Nicolas Pitre [off-list ref] wrote:
On Mon, 17 Jan 2011, Russell King - ARM Linux wrote:quoted
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 <redacted>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