• Achin Gupta's avatar
    Add Test Secure Payload (BL3-2) image · 7c88f3f6
    Achin Gupta authored
    
    
    This patch adds a simple TSP as the BL3-2 image. The secure payload
    executes in S-EL1. It paves the way for the addition of the TSP
    dispatcher runtime service to BL3-1. The TSP and the dispatcher service
    will serve as an example of the runtime firmware's ability to toggle
    execution between the non-secure and secure states in response to SMC
    request from the non-secure state.  The TSP will be replaced by a
    Trusted OS in a real system.
    
    The TSP also exports a set of handlers which should be called in
    response to a PSCI power management event e.g a cpu being suspended or
    turned off. For now it runs out of Secure DRAM on the ARM FVP port and
    will be moved to Secure SRAM later. The default translation table setup
    code assumes that the caller is executing out of secure SRAM. Hence the
    TSP exports its own translation table setup function.
    
    The TSP only services Fast SMCs, is non-reentrant and non-interruptible.
    It does arithmetic operations on two sets of four operands, one set
    supplied by the non-secure client, and the other supplied by the TSP
    dispatcher in EL3. It returns the result according to the Secure Monitor
    Calling convention standard.
    
    This TSP has two functional entry points:
    
    - An initial, one-time entry point through which the TSP is initialized
      and prepares for receiving further requests from secure
      monitor/dispatcher
    
    - A fast SMC service entry point through which the TSP dispatcher
      requests secure services on behalf of the non-secure client
    
    Change-Id: I24377df53399307e2560a025eb2c82ce98ab3931
    Co-authored-by: default avatarJeenu Viswambharan <jeenu.viswambharan@arm.com>
    7c88f3f6
tsp_entrypoint.S 8.32 KB