• Soby Mathew's avatar
    Introduce `el3_runtime` and `PSCI` libraries · 532ed618
    Soby Mathew authored
    This patch moves the PSCI services and BL31 frameworks like context
    management and per-cpu data into new library components `PSCI` and
    `el3_runtime` respectively. This enables PSCI to be built independently from
    BL31. A new `psci_lib.mk` makefile is introduced which adds the relevant
    PSCI library sources and gets included by `bl31.mk`. Other changes which
    are done as part of this patch are:
    
    * The runtime services framework is now moved to the `common/` folder to
      enable reuse.
    * The `asm_macros.S` and `assert_macros.S` helpers are moved to architecture
      specific folder.
    * The `plat_psci_common.c` is moved from the `plat/common/aarch64/` folder
      to `plat/common` folder. The original file location now has a stub which
      just includes the file from new location to maintain platform compatibility.
    
    Most of the changes wouldn't affect platform builds as they just involve
    changes to the generic bl1.mk and bl31.mk makefiles.
    
    NOTE: THE `plat_psci_common.c` FILE HA...
    532ed618
plat_psci_common.c 2.63 KB