• Dan Handley's avatar
    Add common ARM and CSS platform code · b4315306
    Dan Handley authored
    This major change pulls out the common functionality from the
    FVP and Juno platform ports into the following categories:
    
    *   (include/)plat/common. Common platform porting functionality that
    typically may be used by all platforms.
    
    *   (include/)plat/arm/common. Common platform porting functionality
    that may be used by all ARM standard platforms. This includes all
    ARM development platforms like FVP and Juno but may also include
    non-ARM-owned platforms.
    
    *   (include/)plat/arm/board/common. Common platform porting
    functionality for ARM development platforms at the board
    (off SoC) level.
    
    *   (include/)plat/arm/css/common. Common platform porting
    functionality at the ARM Compute SubSystem (CSS) level. Juno
    is an example of a CSS-based platform.
    
    *   (include/)plat/arm/soc/common. Common platform porting
    functionality at the ARM SoC level, which is not already defined
    at the ARM CSS level.
    
    No guarantees are made about the backward compatibility of
    functionality provided in (include/)plat/arm.
    
    Also remove any unnecessary variation between the ARM development
    platform ports, including:
    
    *   Unify the way BL2 passes `bl31_params_t` to BL3-1. Use the
    Juno implementation, which copies the information from BL2 memory
    instead of expecting it to persist in shared memory.
    
    *   Unify the TZC configuration. There is no need to add a region
    for SCP in Juno; it's enough to simply not allow any access to
    this reserved region. Also set region 0 to provide no access by
    default instead of assuming this is the case.
    
    *   Unify the number of memory map regions required for ARM
    development platforms, although the actual ranges mapped for each
    platform may be different. For the FVP port, this reduces the
    mapped peripheral address space.
    
    These latter changes will only be observed when the platform ports
    are migrated to use the new common platform code in subsequent
    patches.
    
    Change-Id: Id9c269dd3dc6e74533d0e5116fdd826d53946dc8
    b4315306
css_helpers.S 4.29 KB