• Nicolas Pitre's avatar
    [ARM] 3101/1: ARM EABI: slab memory must be 64-bit aligned · da2b1cd6
    Nicolas Pitre authored
    Patch from Nicolas Pitre
    
    Although ARM is still using 32-bit pointers, version 5 and later
    versions of the ARM architecture introduced the ldrd and strd
    instructions to move 64-bit data which must be 64-bit aligned in memory,
    and the EABI includes new constraints on structure data alignment to
    allow for the compiler to use those instructions. This means that any
    slab allocation must start on a 64-bit boundary which is not equivalent
    to BYTES_PER_WORD, especially on those architecture versions that
    implements the ldrd/strd instructions.
    
    Overriding the default alignment disables some slab debug features. If
    those debug features are really needed then the kernel will have to be
    compiled for version 4 of the ARM architecture.
    Signed-off-by: default avatarNicolas Pitre <nico@cam.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    da2b1cd6
page.h 4.1 KB