1. 02 Mar, 2017 3 commits
    • 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
    • Jeenu Viswambharan's avatar
      Enable data caches early with hardware-assisted coherency · 25a93f7c
      Jeenu Viswambharan authored
      
      
      At present, warm-booted CPUs keep their caches disabled when enabling
      MMU, and remains so until they enter coherency later.
      
      On systems with hardware-assisted coherency, for which
      HW_ASSISTED_COHERENCY build flag would be enabled, warm-booted CPUs can
      have both caches and MMU enabled at once.
      
      Change-Id: Icb0adb026e01aecf34beadf49c88faa9dd368327
      Signed-off-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
      25a93f7c
    • Jeenu Viswambharan's avatar
      build: Define build option for hardware-assisted coherency · 3c251af3
      Jeenu Viswambharan authored
      
      
      The boolean build option HW_ASSISTED_COHERENCY is introduced to enable
      various optimizations in ARM Trusted Software, when built for such
      systems. It's set to 0 by default.
      
      Change-Id: I638390da6e1718fe024dcf5b402e07084f1eb014
      Signed-off-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
      3c251af3
  2. 28 Feb, 2017 4 commits
  3. 27 Feb, 2017 2 commits
  4. 24 Feb, 2017 30 commits
  5. 23 Feb, 2017 1 commit