Question about unaligned memory access on ARMv7

Haohui Mai haohui.mai at gmail.com
Fri Nov 18 15:32:55 EST 2011


Hi,

My linux kernel complained about the user space binaries doing unaligned
memory access.

Here is one of the log:

[ 1056.522396] Alignment trap: rsyslogd (1400) PC=0x4004450e
Instr=0xe8541f00 Address=0x409f84f5 FSR 0x001


$ echo "0xe8 0x54 0x1f 0x00"|/opt/local/ibos/bin/llvm-mc --disassemble
-triple=thumb-apple-darwin9
     strb    r0, [r5, r3]
     movs    r7, r3

I'm using the NVIDIA Harmony board, which has a Cortex-A9MP dual core
CPU. According to the specification, this instruction is legitimate and
shouldn't fault.

I checked in arch/arm/mm/alignment.c, the function
do_alignment_t32_to_handler will ignore this because the CPU should be
able to handle it.

I also checked with the newest version of arch/arm/mm/alignment and I
noticed no changes.

Am I missing some erratas that can possibly fix this bug?

PS: I'm using a sufficiently old (2.6.32.9) kernel and I'm unable to
update it because a bug in the bootloader. :-(

Any suggestions are appreciated.

Cheers,
Haohui






More information about the linux-arm-kernel mailing list