• David Horstmann's avatar
    Use constant stack size with RECLAIM_INIT_CODE · 3ed5606b
    David Horstmann authored
    
    
    Currently, when RECLAIM_INIT_CODE is set, the
    stacks are scaled to ensure that the entirety
    of the init section can be reclaimed as stack.
    
    This causes an issue in lib/psci/aarch64/psci_helpers.S,
    where the stack size is used for cache operations in
    psci_do_pwrdown_cache_maintenance(). If the stacks
    are scaled, then the PSCI code may fail to invalidate
    some of the stack memory before power down.
    
    Resizing stacks is also not good for stability in general,
    since code that works with a small number of cores may
    overflow the stack when the number of cores is increased.
    
    Change to make every stack be PLATFORM_STACK_SIZE big,
    and allow the total stack to be smaller than the
    init section.
    
    Any pages of the init section not reclaimed as
    stack will be set to read-only and execute-never,
    for security.
    
    Change-Id: I10b3884981006431f2fcbec3864c81d4a8c246e8
    Signed-off-by: default avatarDavid Horstmann <david.horstmann@arm.com>
    3ed5606b
arm_bl31_setup.c 11.3 KB