• Jeenu Viswambharan's avatar
    Disallow using coherent memory with hardware-assisted coherency · d4593e47
    Jeenu Viswambharan authored
    
    
    ARM Trusted Firmware keeps certain data structures in a memory region
    with non-cacheable attributes (termed as "coherent memory") to keep data
    coherent with observers that are cache-coherent, and those not. These
    data structures pertain to power management and mutual exclusion. Using
    coherent memory also costs at least an additional page to map memory
    with special memory attributes.
    
    On systems with hardware-assisted coherency, all CPUs that participate
    in power management and mutual exclusion are cache-coherent, obviating
    the need for special memory attributes for such data structures.
    Instead, they can be placed in normal memory, along with rest of data.
    
    On systems with hardware-assisted coherency, where build option
    HW_ASSISTED_COHERENCY will be set, also having USE_COHERENT_MEMORY
    enabled only wastes a page of memory without any
    benefit. Therefore, with HW_ASSISTED_COHERENCY set to 1, require that
    USE_COHERENT_MEMORY is explicitly set to 0.
    
    Change-Id: I5101657ae6b1a46278069f23e2d88ee5cbd98efa
    Signed-off-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
    d4593e47
Makefile 23.8 KB