mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-15 17:14:21 +00:00
build(sptool): handle uuid field in SP layout file
Extract the UUID from the SP layout JSON file if the optional 'uuid' field exists otherwise fall back to the current method for extracting the SP UUID from the partition manifest file. This change gives a way to decouple TF-A's dependency on the SP manifest file's format which is tied to the SPMC. Signed-off-by: Imre Kis <imre.kis@arm.com> Change-Id: I13af066c1de58bfb9c3fd470ee137ea0275cd98c
This commit is contained in:
parent
e0a6a512b5
commit
5ac60ea15e
2 changed files with 44 additions and 32 deletions
|
@ -343,6 +343,9 @@ signing domain in case of dual root CoT.
|
|||
The SP owner can either be the silicon or the platform provider. The
|
||||
corresponding "owner" field value can either take the value of "SiP" or "Plat".
|
||||
In absence of "owner" field, it defaults to "SiP" owner.
|
||||
The UUID of the partition can be specified as a field in the description file or
|
||||
if it does not exist there the UUID is extracted from the DTS partition
|
||||
manifest.
|
||||
|
||||
.. code:: shell
|
||||
|
||||
|
@ -350,7 +353,8 @@ In absence of "owner" field, it defaults to "SiP" owner.
|
|||
"tee1" : {
|
||||
"image": "tee1.bin",
|
||||
"pm": "tee1.dts",
|
||||
"owner": "SiP"
|
||||
"owner": "SiP",
|
||||
"uuid": "1b1820fe-48f7-4175-8999-d51da00b7c9f"
|
||||
},
|
||||
|
||||
"tee2" : {
|
||||
|
@ -1284,4 +1288,4 @@ Client <https://developer.arm.com/documentation/den0006/d/>`__
|
|||
|
||||
--------------
|
||||
|
||||
*Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.*
|
||||
*Copyright (c) 2020-2022, Arm Limited and Contributors. All rights reserved.*
|
||||
|
|
|
@ -13,8 +13,9 @@ must be relative to it.
|
|||
This script parses the layout file and generates a make file which updates
|
||||
FDT_SOURCES, FIP_ARGS, CRT_ARGS and SPTOOL_ARGS which are used in later build
|
||||
steps.
|
||||
This script also gets SP "uuid" from parsing its PM and converting it to a
|
||||
standard format.
|
||||
If the SP entry in the layout file has a "uuid" field the scripts gets the UUID
|
||||
from there, otherwise it parses the associated partition manifest and extracts
|
||||
the UUID from there.
|
||||
|
||||
param1: Generated mk file "sp_gen.mk"
|
||||
param2: "SP_LAYOUT_FILE", json file containing platform provided information
|
||||
|
@ -37,7 +38,8 @@ A typical SP_LAYOUT_FILE file will look like
|
|||
|
||||
"SP2" : {
|
||||
"image": "sp2.bin",
|
||||
"pm": "test/sp2.dts"
|
||||
"pm": "test/sp2.dts",
|
||||
"uuid": "1b1820fe-48f7-4175-8999-d51da00b7c9f"
|
||||
}
|
||||
|
||||
...
|
||||
|
@ -106,6 +108,12 @@ with open(gen_file, 'w') as out_file:
|
|||
src = [ json_dir + "/" + data[key]['image'] , dtb ]
|
||||
out_file.write("SPTOOL_ARGS += -i " + ":".join(src) + " -o " + dst + "\n")
|
||||
|
||||
if "uuid" in data[key]:
|
||||
"""
|
||||
Extract the UUID from the JSON file if the SP entry has a 'uuid' field
|
||||
"""
|
||||
uuid_std = uuid.UUID(data[key]['uuid'])
|
||||
else:
|
||||
"""
|
||||
Extract uuid from partition manifest
|
||||
"""
|
||||
|
|
Loading…
Add table
Reference in a new issue