]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above
authorDave Martin <dave.martin@linaro.org>
Thu, 22 Nov 2012 11:50:43 +0000 (12:50 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 23 Nov 2012 13:02:03 +0000 (13:02 +0000)
commitfd35f50448c6f7be5c0f5549c53e29b9bdddb34e
tree268a95f0e369be3534a7ac1c82a53c590c43e77f
parent02678caf89b2d737fc97e14bf8cc1ac921124119
ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above

Modern GCC can generate code which makes use of the CPU's native
unaligned memory access capabilities.  This is useful for the C
decompressor implementations used for unpacking compressed kernels.

This patch disables alignment faults and enables the v6 unaligned
access model on CPUs which support these features (i.e., v6 and
later), allowing full unaligned access support for C code in the
decompressor.

The decompressor C code must not be built to assume that unaligned
access works if support for v5 or older platforms is included in
the kernel.

For correct code generation, C decompressor code must always use
the get_unaligned and put_unaligned accessors when dealing with
unaligned pointers, regardless of this patch.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/boot/compressed/head.S