Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
833abc61
Commit
833abc61
authored
Jul 29, 2020
by
joanna.farley
Committed by
TrustedFirmware Code Review
Jul 29, 2020
Browse files
Merge "doc: secure partition manager design" into integration
parents
439dcf50
fcb1398f
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
docs/components/index.rst
View file @
833abc61
...
@@ -17,7 +17,8 @@ Components
...
@@ -17,7 +17,8 @@ Components
ras
ras
romlib-design
romlib-design
sdei
sdei
secure-partition-manager-design
secure-partition-manager
secure-partition-manager-mm
psa-ffa-manifest-binding
psa-ffa-manifest-binding
xlat-tables-lib-v2-design
xlat-tables-lib-v2-design
cot-binding
cot-binding
docs/components/secure-partition-manager-
design
.rst
→
docs/components/secure-partition-manager-
mm
.rst
View file @
833abc61
Secure Partition Manager
Secure Partition Manager (MM)
************************
*****************************
Foreword
========
Two implementations of a Secure Partition Manager co-exist in the TF-A codebase:
- SPM based on the PSA FF-A specification (`Secure Partition Manager`__).
- SPM based on the MM interface.
.. __: secure-partition-manager.html
Both implementations differ in their architectures and only one can be selected
at build time.
This document describes the latter implementation where the Secure Partition Manager
resides at EL3 and management services run from isolated Secure Partitions at S-EL0.
The communication protocol is established through the Management Mode (MM) interface.
Background
Background
==========
==========
...
...
docs/components/secure-partition-manager.rst
0 → 100644
View file @
833abc61
This diff is collapsed.
Click to expand it.
docs/resources/diagrams/ff-a-spm-sel2.png
0 → 100644
View file @
833abc61
81.4 KB
docs/resources/diagrams/plantuml/bl2-loading-sp.puml
0 → 100644
View file @
833abc61
/'
' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved.
'
' SPDX-License-Identifier: BSD-3-Clause
'/
@startuml
participant bl1
participant FIP
bl1 -> FIP : read(FW_CONFIG)
create FW_CONFIG
bl1 -> FW_CONFIG : load
bl1 -> FIP : read(bl2)
create bl2
bl1 -> bl2 : load
bl1 --> bl2 : hand off (FW_CONFIG)
bl2 -> FW_CONFIG : read_node(SPKs)
loop for each spkg subnode
bl2 -> FW_CONFIG : read(UUID)
bl2 -> FW_CONFIG : read(load_address)
bl2 -> FIP : read(spkg@UUID)
create SPKG
bl2 -> SPKG : load
end loop
bl2 -> FW_CONFIG : read_node(TOS_FW_CONFIG)
create TOS_FW_CONFIG
bl2 -> TOS_FW_CONFIG : load
bl2 -> FIP : read(bl32/SPMC)
create SPMC
bl2 -> SPMC : load
bl2 -> FIP : read(bl31)
create bl31
bl2 -> bl31 : load
bl2 --> bl31 : hand off (TOS_FW_CONFIG)
bl31 --> SPMC : hand off (TOS_FW_CONFIG)
@enduml
docs/resources/diagrams/plantuml/fip-secure-partitions.puml
0 → 100644
View file @
833abc61
/'
' Copyright (c) 2020, ARM Limited and Contributors. All rights reserved.
'
' SPDX-License-Identifier: BSD-3-Clause
'/
@startuml
folder SP_vendor_1 {
artifact sp_binary_1
artifact sp_manifest_1 [
sp_manifest_1
===
UUID = xxx
load_address = 0xaaa
...
]
}
folder SP_vendor_2 {
artifact sp_binary_2
artifact sp_manifest_2 [
sp_manifest_2
===
UUID = yyy
load_address = 0xbbb
]
}
artifact config.json [
SP_LAYOUT.json
===
path to sp_binary_1
path to sp_manifest_1
---
path to sp_binary_2
path to sp_manifest_2
---
...
]
control sp_mk_generator
artifact fconf_node [
fconf_sp.dts
===
spkg_1 UUID
spkg_1 load_address
---
spkg_2 UUID
spkg_2 load_address
]
artifact sp_gen [
sp_gen.mk
===
FDT_SOURCE = ...
SPTOOL_ARGS = ...
FIP_ARG = ...
]
control dtc
control sptool
artifact FW_CONFIG
artifact spkg_1 [
spkg_1.bin
===
<i>header</i>
---
manifest
---
binary
]
artifact spkg_2 [
spkg_2.bin
===
<i>header</i>
---
manifest
---
binary
]
control fiptool
artifact fip [
fip.bin
===
FW_CONFIG.dtb
---
...
---
SPKG1
---
SPKG2
---
...
]
config.json .up.> SP_vendor_1
config.json .up.> SP_vendor_2
config.json --> sp_mk_generator
sp_mk_generator --> fconf_node
sp_mk_generator --> sp_gen
sp_gen --> sptool
sptool --> spkg_1
sptool --> spkg_2
fconf_node -down-> dtc
dtc --> FW_CONFIG
sp_gen --> fiptool
FW_CONFIG --> fiptool
spkg_1 -down-> fiptool
spkg_2 -down-> fiptool
fiptool -down-> fip
@enduml
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment