arm64: head.S: remove unnecessary function alignment
authorMark Rutland <mark.rutland@arm.com>
Tue, 24 Jun 2014 15:51:34 +0000 (16:51 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 22 Jul 2014 23:34:12 +0000 (00:34 +0100)
commit55ae4c39fcb908a8350809606cd1fb6831abc27e
tree40da25ffb68492e923011d1335929bdfba8a5651
parent8a0ac656b3e2f6a69dc737f6f77b948868bc0efb
arm64: head.S: remove unnecessary function alignment

Currently __turn_mmu_on is aligned to 64 bytes to ensure that it doesn't
span any page boundary, which simplifies the idmap and spares us
requiring an additional page table to map half of the function. In
keeping with other important requirements in architecture code, this
fact is undocumented.

Additionally, as the function consists of three instructions totalling
12 bytes with no literal pool data, a smaller alignment of 16 bytes
would be sufficient.

This patch reduces the alignment to 16 bytes and documents the
underlying reason for the alignment. This reduces the required alignment
of the entire .head.text section from 64 bytes to 16 bytes, though it
may still be aligned to a larger value depending on TEXT_OFFSET.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Laura Abbott <lauraa@codeaurora.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 909a4069da65a5cfca8c968edf9f0d99f694d2f3)
Signed-off-by: Mark Brown <broonie@linaro.org>
arch/arm64/kernel/head.S