Juno: Add support for Test Secure-EL1 Payload
authorSandrine Bailleux <sandrine.bailleux@arm.com>
Thu, 17 Jul 2014 08:56:29 +0000 (09:56 +0100)
committerSoby Mathew <soby.mathew@arm.com>
Thu, 21 Aug 2014 13:53:48 +0000 (14:53 +0100)
commitedfda10a6b4ac7691746f1cd23e74a8dc3b70f0a
tree6618dca2e246a18af34f0defa0bdea79ef913661
parentfef4fdb9cc0f2e4ca9d2864e1e92624da1e96ff5
Juno: Add support for Test Secure-EL1 Payload

This patch implements the TSP on Juno. It executes from on-chip Trusted
SRAM.

Also, the other bootloader images (i.e. BL1 R/W, BL2 and BL3-1) have
been moved around. The reason is, although there was enough space
overall to store the TSP in SRAM, there was no contiguous free chunk
of SRAM big enough to hold it.

This patch keeps the overall memory layout (i.e. keeping BL1 R/W at
the bottom, BL2 at the top and BL3-1 in between) but moves the base
addresses of all the bootloader images in such a way that:
 - memory fragmentation is reduced enough to fit BL3-2 in;
 - new base addresses are suitable for release builds as well as debug
   ones;
 - each image has a few extra kilobytes for future growth.
   BL3-1 and BL3-2 are the images which received the biggest allocations
   since they will most probably grow the most.

This patch also adds instruction synchronization barriers around the code which
handles the timer interrupt in the TSP. This ensures that the interrupt is not
acknowledged after or EOIed before it is deactivated at the peripheral.

Change-Id: I1c5b51858700027ee283ac85d18e06863a27c72e
bl32/tsp/tsp_timer.c
plat/juno/include/platform_def.h
plat/juno/juno_def.h
plat/juno/plat-tsp.ld.S [new file with mode: 0644]
plat/juno/plat_io_storage.c
plat/juno/tsp/tsp-juno.mk [new file with mode: 0644]
plat/juno/tsp/tsp_plat_setup.c [new file with mode: 0644]