| 1164a59c | 04-Jul-2022 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
feat(arm): forbid running RME-enlightened BL31 from DRAM
According to Arm CCA security model [1],
"Root world firmware, including Monitor, is the most trusted CCA component on application PE. It en
feat(arm): forbid running RME-enlightened BL31 from DRAM
According to Arm CCA security model [1],
"Root world firmware, including Monitor, is the most trusted CCA component on application PE. It enforces CCA security guarantees for not just Realm world, but also for Secure world and for itself.
It is expected to be small enough to feasibly fit in on-chip memory, and typically needs to be available early in the boot process when only on-chip memory is available."
For these reasons, it is expected that "monitor code executes entirely from on-chip memory."
This precludes usage of ARM_BL31_IN_DRAM for RME-enlightened firmware.
[1] Arm DEN0096 A.a, section 7.3 "Use of external memory by CCA".
Change-Id: I752eb45f1e6ffddc7a6f53aadcc92a3e71c1759f Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 02450800 | 27-Jun-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "mb_hash" into integration
* changes: refactor(imx): update config of mbedtls support refactor(qemu): update configuring mbedtls support refactor(measured-boot): mb al
Merge changes from topic "mb_hash" into integration
* changes: refactor(imx): update config of mbedtls support refactor(qemu): update configuring mbedtls support refactor(measured-boot): mb algorithm selection
show more ...
|
| 78da42a5 | 31-May-2022 |
laurenw-arm <lauren.wehrmeister@arm.com> |
refactor(measured-boot): mb algorithm selection
With RSS now introduced, we have 2 Measured Boot backends. Both backends can be used in the same firmware build with potentially different hash algori
refactor(measured-boot): mb algorithm selection
With RSS now introduced, we have 2 Measured Boot backends. Both backends can be used in the same firmware build with potentially different hash algorithms, so now there can be more than one hash algorithm in a build. Therefore the logic for selecting the measured boot hash algorithm needs to be updated and the coordination of algorithm selection added. This is done by:
- Adding MBOOT_EL_HASH_ALG for Event Log to define the hash algorithm to replace TPM_HASH_ALG, removing reference to TPM.
- Adding MBOOT_RSS_HASH_ALG for RSS to define the hash algorithm to replace TPM_HASH_ALG.
- Coordinating MBOOT_EL_HASH_ALG and MBOOT_RSS_HASH_ALG to define the Measured Boot configuration macros through defining TF_MBEDTLS_MBOOT_USE_SHA512 to pull in SHA-512 support if either backend requires a stronger algorithm than SHA-256.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I4ddf06ebdc3835beb4d1b6c7bab5a257ffc5c71a
show more ...
|
| f2423792 | 21-Apr-2022 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(arm): add support for cca CoT
- Use the development PROTPK and SWD_ROTPK if using cca CoT.
- Define a cca CoT build flag for the platform code to provide different implementations where needed
feat(arm): add support for cca CoT
- Use the development PROTPK and SWD_ROTPK if using cca CoT.
- Define a cca CoT build flag for the platform code to provide different implementations where needed.
- When ENABLE_RME=1, CCA CoT is selected by default on Arm platforms if no specific CoT is specified by the user.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I70ae6382334a58d3c726b89c7961663eb8571a64
show more ...
|
| d5de70ce | 21-Apr-2022 |
laurenw-arm <lauren.wehrmeister@arm.com> |
refactor(arm): add cca CoT certificates to fconf
Adding support in fconf for the cca CoT certificates for cca, core_swd, and plat key.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
refactor(arm): add cca CoT certificates to fconf
Adding support in fconf for the cca CoT certificates for cca, core_swd, and plat key.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I8019cbcb7ccd4de6da624aebf3611b429fb53f96
show more ...
|
| 046cb19b | 21-Apr-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(arm): update set_config_info function call
Pass NS-load address as ~0UL to the 'set_config_info' function while updating FW_CONFIG device tree information since it is always loaded into sec
refactor(arm): update set_config_info function call
Pass NS-load address as ~0UL to the 'set_config_info' function while updating FW_CONFIG device tree information since it is always loaded into secure memory.
Change-Id: Ia33adfa9e7b0392f62056053a2df7db321a74e22 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 8b95e848 | 31-Jan-2022 |
Zelalem Aweke <zelalem.aweke@arm.com> |
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' fun
refactor(context mgmt): add cm_prepare_el3_exit_ns function
As part of the RFC: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/13651, this patch adds the 'cm_prepare_el3_exit_ns' function. The function is a wrapper to 'cm_prepare_el3_exit' function for Non-secure state.
When EL2 sysregs context exists (CTX_INCLUDE_EL2_REGS is enabled) EL1 and EL2 sysreg values are restored from the context instead of directly updating the registers.
Signed-off-by: Zelalem Aweke <zelalem.aweke@arm.com> Change-Id: I9b071030576bb05500d54090e2a03b3f125d1653
show more ...
|
| def5571d | 21-Feb-2022 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
refactor(arm): use MBEDTLS_CONFIG_FILE macro
Used MBEDTLS_CONFIG_FILE macro for including mbedTLS configuration.
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com> Change-Id: I374b59a31df3a
refactor(arm): use MBEDTLS_CONFIG_FILE macro
Used MBEDTLS_CONFIG_FILE macro for including mbedTLS configuration.
Signed-off-by: Manish V Badarkhe <manish.badarkhe@arm.com> Change-Id: I374b59a31df3ab1e69481b2c37a6f7455a106b6e
show more ...
|
| c5edb59d | 22-Mar-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(plat/arm): fix SP count limit without dual root CoT" into integration |
| 0c55c103 | 01-Feb-2022 |
Juan Pablo Conde <juanpablo.conde@arm.com> |
fix(fvp): FCONF Trace Not Shown
Updating call order for arm_console_boot_init() and arm_bl31_early_platform_setup().
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com> Change-Id: If932fff2
fix(fvp): FCONF Trace Not Shown
Updating call order for arm_console_boot_init() and arm_bl31_early_platform_setup().
Signed-off-by: Juan Pablo Conde <juanpablo.conde@arm.com> Change-Id: If932fff2ee4282a0aacf8751fa81e7665b886467
show more ...
|
| 9ce15fe8 | 09-Feb-2022 |
Imre Kis <imre.kis@arm.com> |
fix(plat/arm): fix SP count limit without dual root CoT
Remove reserved range for platform provider owned SPs if the dual root CoT is disabled and allow SPs to populate the range up to MAX_SP_IDS.
fix(plat/arm): fix SP count limit without dual root CoT
Remove reserved range for platform provider owned SPs if the dual root CoT is disabled and allow SPs to populate the range up to MAX_SP_IDS.
Signed-off-by: Imre Kis <imre.kis@arm.com> Change-Id: Ib4ec18f6530d2515ada21d2c0c388d55aa479d26
show more ...
|
| 0260eb0d | 19-Jan-2022 |
Vishnu Banavath <vishnu.banavath@arm.com> |
build(corstone1000): rename diphda to corstone1000
diphda platform is now being renamed to corstone1000. These changes are to replace all the instances and traces of diphda corstone1000.
Change-Id
build(corstone1000): rename diphda to corstone1000
diphda platform is now being renamed to corstone1000. These changes are to replace all the instances and traces of diphda corstone1000.
Change-Id: I330f3a112d232b99b4721b6bf0236253b068dbba Signed-off-by: Arpita S.K <Arpita.S.K@arm.com> Signed-off-by: Vishnu Banavath <vishnu.banavath@arm.com>
show more ...
|
| 992d97c4 | 18-Jan-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured-boot): cleanup Event Log makefile
The Event Log sources are added to the source-list of BL1 and BL2 images in the Event Log Makefile. It doesn't seem correct since some platforms o
refactor(measured-boot): cleanup Event Log makefile
The Event Log sources are added to the source-list of BL1 and BL2 images in the Event Log Makefile. It doesn't seem correct since some platforms only compile Event Log sources for BL2. Hence, moved compilation decision of Event Log sources to the platform makefile.
Change-Id: I1cb96e24d6bea5e091d08167f3d1470d22b461cc Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 6aaf257d | 17-Nov-2021 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
feat(fwu): pass a const metadata structure to platform routines
The metadata structure copy is passed to the platform routine to set the image source to boot the platform from. This is done by readi
feat(fwu): pass a const metadata structure to platform routines
The metadata structure copy is passed to the platform routine to set the image source to boot the platform from. This is done by reading the metadata structure. Pass the metadata as a read-only copy to the routine -- the routine only needs to consume the metadata values and should not be able to update the metadata fields.
Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Change-Id: I399cad99ab89c71483e5a32a1de0e22df304f8b0
show more ...
|
| 88c51c3f | 08-Jan-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(fvp): avoid Measured-Boot dependency on Trusted-Boot
As Measured-Boot and Trusted-Boot are orthogonal, removed Trusted-Boot's dependency on Measured-Boot by allowing them to apply the Crypt
refactor(fvp): avoid Measured-Boot dependency on Trusted-Boot
As Measured-Boot and Trusted-Boot are orthogonal, removed Trusted-Boot's dependency on Measured-Boot by allowing them to apply the Crypto module changes independently using the CRYPTO_SUPPORT build flag.
Change-Id: I5a420e5d84f3fefe0c0092d822dab981e6390bbf Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| c5f3de8d | 11-Dec-2021 |
Chandni Cherukuri <chandni.cherukuri@arm.com> |
fix(arm): use PLAT instead of TARGET_PLATFORM
There might be several platforms which use the TARGET_PLATFORM build option to differentiate the code between the platform variants.
Use of TARGET_PLAT
fix(arm): use PLAT instead of TARGET_PLATFORM
There might be several platforms which use the TARGET_PLATFORM build option to differentiate the code between the platform variants.
Use of TARGET_PLATFORM in the common code leads to build failures instead use PLAT build option.
Signed-off-by: Chandni Cherukuri <chandni.cherukuri@arm.com> Change-Id: I9724caf875bd56225e035ecffa8b9ca1a50d3401
show more ...
|
| 14db963f | 06-Oct-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured-boot): add generic macros for using Crypto library
It doesn't look correct to use mbed TLS defines directly in the Event Log driver as this driver may use another Crypto library in
refactor(measured-boot): add generic macros for using Crypto library
It doesn't look correct to use mbed TLS defines directly in the Event Log driver as this driver may use another Crypto library in future. Hence mbed TLS Crypto dependency on Event Log driver is removed by introducing generic Crypto defines and uses those in the Event Log driver to call Crypto functions. Also, updated mbed TLS glue layer to map these generic Crypto defines to mbed TLS library defines.
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: Ibc9c751f60cbce4d3f3cf049b7c53b3d05cc6735
show more ...
|
| 5869ebd0 | 22-Oct-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
fix(plat/arm): fix a VERBOSE trace
When the console verbosity is at maximum, fconf_populate_arm_sp() prints the UUID and load address of each secure partition. However, the load address has not been
fix(plat/arm): fix a VERBOSE trace
When the console verbosity is at maximum, fconf_populate_arm_sp() prints the UUID and load address of each secure partition. However, the load address has not been retrieved yet at this point, which means all partitions show a zero load address.
Move the trace after we have retrieved the SP's load address from the device tree to make it more meaningful.
Change-Id: I58ef7df6c9107a433f61113cafd8f0855c468d40 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| e33ca7b4 | 29-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "ck/mpmm" into integration
* changes: docs(maintainers): add Chris Kay to AMU and MPMM feat(tc): enable MPMM feat(mpmm): add support for MPMM feat(amu): enable per-c
Merge changes from topic "ck/mpmm" into integration
* changes: docs(maintainers): add Chris Kay to AMU and MPMM feat(tc): enable MPMM feat(mpmm): add support for MPMM feat(amu): enable per-core AMU auxiliary counters docs(amu): add AMU documentation refactor(amu): refactor enablement and context switching refactor(amu): detect auxiliary counters at runtime refactor(amu): detect architected counters at runtime refactor(amu): conditionally compile auxiliary counter support refactor(amu): factor out register accesses refactor(amu)!: privatize unused AMU APIs refactor(amu)!: remove `PLAT_AMU_GROUP1_COUNTERS_MASK` build(amu): introduce `amu.mk` build(fconf)!: clean up source collection feat(fdt-wrappers): add CPU enumeration utility function build(fdt-wrappers): introduce FDT wrappers makefile build(bl2): deduplicate sources build(bl1): deduplicate sources
show more ...
|
| 3221fce8 | 20-Oct-2021 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(spmd): revert workaround hafnium as hypervisor
This change essentially reverts [1] by removing the BL31 workaround forcing the dtb address when Hafnium is loaded as an Hypervisor.
[1] https://r
fix(spmd): revert workaround hafnium as hypervisor
This change essentially reverts [1] by removing the BL31 workaround forcing the dtb address when Hafnium is loaded as an Hypervisor.
[1] https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/9569
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I302161d027261448113c66b7fafa9c11620b54ef
show more ...
|
| e04da4c8 | 20-May-2021 |
Chris Kay <chris.kay@arm.com> |
build(fconf)!: clean up source collection
Including the FCONF Makefile today automatically places the FCONF sources into the source list of the BL1 and BL2 images. This may be undesirable if, for in
build(fconf)!: clean up source collection
Including the FCONF Makefile today automatically places the FCONF sources into the source list of the BL1 and BL2 images. This may be undesirable if, for instance, FCONF is only required for BL31.
This change moves the BL1 and BL2 source appends out of the common Makefile to where they are required.
BREAKING CHANGE: FCONF is no longer added to BL1 and BL2 automatically when the FCONF Makefile (`fconf.mk`) is included. When including this Makefile, consider whether you need to add `${FCONF_SOURCES}` and `${FCONF_DYN_SOURCES}` to `BL1_SOURCES` and `BL2_SOURCES`.
Change-Id: Ic028eabb7437ae95a57c5bcb7821044d31755c77 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 1fa05dab | 28-Sep-2021 |
Chris Kay <chris.kay@arm.com> |
build(fdt-wrappers): introduce FDT wrappers makefile
This has been introduced to simplify dependencies on the FDT wrappers. We generally want to avoid pulling in components on a file-by-file basis,
build(fdt-wrappers): introduce FDT wrappers makefile
This has been introduced to simplify dependencies on the FDT wrappers. We generally want to avoid pulling in components on a file-by-file basis, particularly as we are trying to draw conceptual boxes around components in preparation for transitioning the build system to CMake, where dependencies are modelled on libraries rather than files.
Signed-off-by: Chris Kay <chris.kay@arm.com> Change-Id: Idb7ee05a9b54a8caa3e07f36e608867e20b6dcd5
show more ...
|
| 0500f447 | 11-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(plat/fvp): pass Event Log addr and size from BL1 to BL2
Introduced functions to set and get Event log information (tpm_event_log address and its size).
In FVP platform case, measured boot with
feat(plat/fvp): pass Event Log addr and size from BL1 to BL2
Introduced functions to set and get Event log information (tpm_event_log address and its size).
In FVP platform case, measured boot with Event Log backend flow work as below 1. event_log_init function called by BL1 to initialize Event Log module 2. arm_set_tb_fw_info function called by BL1 to set the 'tpm_event_log_addr' and 'tpm_event_log_size' properties in tb_fw_config 3. arm_get_tb_fw_info function called by BL2 to get tpm Event Log parameters set by BL1. These parameters used by the BL2 to extend the tpm Event Log records, and use these parameters to initialize Event Log using event_log_init function 4. arm_set_nt_fw_info and arm_set_tos_fw_info function called by BL2 to set 'tpm_event_log' address and its size properties in nt_fw_config and tos_fw_config respectively
Alongside, this patch created a separate instances of plat_mboot_init and plat_mboot_finish APIs for BL1 and BL2.
This patch is tested using the existing measured boot test configuration in jenkins CI.
Change-Id: Ib9eca092afe580df014541c937868f921dff9c37 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| efa65218 | 14-Sep-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): remove platform calls from Event Log driver
Currently, the Event Log driver does platform layer work by invoking a few platform functions in the 'event_log_finalise' call. D
refactor(measured boot): remove platform calls from Event Log driver
Currently, the Event Log driver does platform layer work by invoking a few platform functions in the 'event_log_finalise' call. Doing platform work does not seem to be the driver's responsibility, hence moved 'event_log_finalise' function's implementation to the platform layer.
Alongside, introduced few Event Log driver functions and done some cosmetic changes.
Change-Id: I486160e17e5b0677c734fd202af7ccd85476a551 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| eab78e9b | 10-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured_boot): remove passing of BL2 hash via device tree
Subsequent patches will provide a solution to do the BL2 hash measurement and recording in BL1 itself, hence in preparation to ado
refactor(measured_boot): remove passing of BL2 hash via device tree
Subsequent patches will provide a solution to do the BL2 hash measurement and recording in BL1 itself, hence in preparation to adopt that solution remove the logic of passing BL2 hash measurement to BL2 component via TB_FW config.
Change-Id: Iff9b3d4c6a236a33b942898fcdf799cbab89b724 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|