arm-trusted-firmware/include
Achin Gupta 7c88f3f633 Add Test Secure Payload (BL3-2) image
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: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
2014-02-20 19:06:34 +00:00
..
aarch64 Factor out translation table setup in ARM FVP port 2014-02-20 19:06:34 +00:00
stdlib Add Firmware Image Package creation tool 2014-02-17 18:51:43 +00:00
asm_macros.S Add exception vector guards 2014-02-20 19:06:34 +00:00
bakery_lock.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
bl1.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
bl2.h Rework BL2 to BL3-1 hand over interface 2014-02-20 19:06:34 +00:00
bl31.h Add support for BL3-2 in BL3-1 2014-02-20 19:06:34 +00:00
bl32.h Add Test Secure Payload (BL3-2) image 2014-02-20 19:06:34 +00:00
bl_common.h Rework BL2 to BL3-1 hand over interface 2014-02-20 19:06:34 +00:00
cm_macros.S Introduce new exception handling framework 2014-02-17 18:51:44 +00:00
context.h Add support for handling runtime service requests 2014-02-17 18:51:44 +00:00
context_mgmt.h Add support for handling runtime service requests 2014-02-17 18:51:44 +00:00
debug.h Introduce new exception handling framework 2014-02-17 18:51:44 +00:00
firmware_image_package.h Add Firmware Image Package creation tool 2014-02-17 18:51:43 +00:00
io_storage.h Add Firmware Image Package (FIP) driver 2014-02-17 18:51:44 +00:00
mmio.h Probe for GICv3 re-distributors on core bring-up 2014-01-17 10:27:53 +00:00
pm.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
psci.h Add runtime services framework 2014-02-17 18:51:44 +00:00
runtime_svc.h Add support for handling runtime service requests 2014-02-17 18:51:44 +00:00
semihosting.h Implement load_image in terms of IO abstraction 2014-02-17 18:51:43 +00:00
spinlock.h Update year in copyright text to 2014 2014-01-17 10:27:53 +00:00
tsp.h Add Test Secure Payload (BL3-2) image 2014-02-20 19:06:34 +00:00