• Mark Rutland's avatar
    arm64: head.S: remove unnecessary function alignment · 909a4069
    Mark Rutland authored
    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: default avatarMark Rutland <mark.rutland@arm.com>
    Tested-by: default avatarLaura Abbott <lauraa@codeaurora.org>
    Acked-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    909a4069
head.S 18.8 KB