Contents
Secure Partition Manager
Acronyms
Foreword
Terminology
Support for legacy platforms
Sample reference stack
TF-A build options
FVP model invocation
Boot process
Loading Hafnium and secure partitions in the secure world
Booting through TF-A
SP manifests
Secure Partition packages
Describing secure partitions
SPMC manifest
SPMC boot
Loading of SPs
Secure boot
Hafnium in the secure world
General considerations
Build platform for the secure world
Secure partitions scheduling
Platform topology
Parsing SP partition manifests
Passing boot data to the SP
SP Boot order
Boot phases
Primary core boot-up
Secondary cores boot-up
Notifications
Mandatory interfaces
FFA_VERSION
FFA_FEATURES
FFA_RXTX_MAP/FFA_RXTX_UNMAP
FFA_PARTITION_INFO_GET
FFA_ID_GET
FFA_MSG_SEND_DIRECT_REQ/FFA_MSG_SEND_DIRECT_RESP
FFA_NOTIFICATION_BITMAP_CREATE/FFA_NOTIFICATION_BITMAP_DESTROY
FFA_NOTIFICATION_BIND/FFA_NOTIFICATION_UNBIND
FFA_NOTIFICATION_SET/FFA_NOTIFICATION_GET
FFA_NOTIFICATION_INFO_GET
FFA_SPM_ID_GET
FFA_SECONDARY_EP_REGISTER
FFA_RX_ACQUIRE/FFA_RX_RELEASE
FFA_MSG_SEND2
SPMC-SPMD direct requests/responses
PE MMU configuration
Schedule modes and SP Call chains
Partition runtime models
Interrupt management
GIC ownership
Non-secure interrupt handling
Secure interrupt handling
Secure interrupt signaling mechanisms
Secure interrupt completion mechanisms
Actions for a secure interrupt triggered while execution is in normal world
Actions for a secure interrupt triggered while execution is in secure world
Power management
Arm architecture extensions for security hardening
SMMUv3 support in Hafnium
SMMUv3 features
SMMUv3 Programming Interfaces
Peripheral device manifest
SMMUv3 driver limitations
S-EL0 Partition support
References
4.14.1. FF-A manifest binding to device tree
4.14.1.1. Partition Properties
4.14.1.2. Memory Regions
4.14.1.3. Device Regions