• Antonio Nino Diaz's avatar
    SPM: Introduce Secure Partition Manager · 2fccb228
    Antonio Nino Diaz authored
    
    
    A Secure Partition is a software execution environment instantiated in
    S-EL0 that can be used to implement simple management and security
    services. Since S-EL0 is an unprivileged exception level, a Secure
    Partition relies on privileged firmware e.g. ARM Trusted Firmware to be
    granted access to system and processor resources. Essentially, it is a
    software sandbox that runs under the control of privileged software in
    the Secure World and accesses the following system resources:
    
    - Memory and device regions in the system address map.
    - PE system registers.
    - A range of asynchronous exceptions e.g. interrupts.
    - A range of synchronous exceptions e.g. SMC function identifiers.
    
    A Secure Partition enables privileged firmware to implement only the
    absolutely essential secure services in EL3 and instantiate the rest in
    a partition. Since the partition executes in S-EL0, its implementation
    cannot be overly complex.
    
    The component in ARM Trusted Firmware responsible for managing a Secure
    Partition is called the Secure Partition Manager (SPM). The SPM is
    responsible for the following:
    
    - Validating and allocating resources requested by a Secure Partition.
    - Implementing a well defined interface that is used for initialising a
      Secure Partition.
    - Implementing a well defined interface that is used by the normal world
      and other secure services for accessing the services exported by a
      Secure Partition.
    - Implementing a well defined interface that is used by a Secure
      Partition to fulfil service requests.
    - Instantiating the software execution environment required by a Secure
      Partition to fulfil a service request.
    
    Change-Id: I6f7862d6bba8732db5b73f54e789d717a35e802f
    Co-authored-by: default avatarDouglas Raillard <douglas.raillard@arm.com>
    Co-authored-by: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
    Co-authored-by: default avatarAchin Gupta <achin.gupta@arm.com>
    Co-authored-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
    Signed-off-by: default avatarAntonio Nino Diaz <antonio.ninodiaz@arm.com>
    2fccb228
std_svc_setup.c 2.93 KB