• M
    armv8: layerscape: rework spin table · dd6df64c
    Michael Walle 提交于
    There are two issues:
    
     (1) The spin table doesn't convert the endianness of the jump address.
         Although there is code for it, the result isn't used at all (x0).
     (2) If something goes wrong, the function returns. But that doesn't
         make sense at all.
    
    Use the actual converted jump address as destination to fix. If
    there is an error, jump to a trap loop. And rearrange the code exception
    level switching code to make it smaller and clearer.
    
    This reduces the size of the spin table code section from 696 bytes to
    424 bytes. If CONFIG_ARMV8_SWITCH_TO_EL1 the code size reduced from 696
    bytes to 632 bytes.
    Signed-off-by: NMichael Walle <michael@walle.cc>
    Reviewed-by: NPriyanka Jain <priyanka.jain@nxp.com>
    dd6df64c
spintable.S 2.8 KB