| 69cde5cd | 25-May-2021 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(fvp): op-tee sp manifest doesn't map gicd
Following I2d274fa897171807e39b0ce9c8a28824ff424534: Remove GICD registers S2 mapping from OP-TEE partition when it runs in a secure partition on top of
fix(fvp): op-tee sp manifest doesn't map gicd
Following I2d274fa897171807e39b0ce9c8a28824ff424534: Remove GICD registers S2 mapping from OP-TEE partition when it runs in a secure partition on top of Hafnium. The partition is not meant to access the GIC directly but use the Hafnium provided interfaces.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I1a38101f6ae9911662828734a3c9572642123f32
show more ...
|
| f4e3e1e8 | 10-Jan-2022 |
Tamas Ban <tamas.ban@arm.com> |
fix(measured-boot): add RMM entry to event_log_metadata
Platforms which support Realm world cannot boot up properly if measured boot is enabled at build time. An assertions occurs due to the missing
fix(measured-boot): add RMM entry to event_log_metadata
Platforms which support Realm world cannot boot up properly if measured boot is enabled at build time. An assertions occurs due to the missing RMM entry in the event_log_metadata array.
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: I172f10a440797f7c9e1bc79dc72242b40c2521ea
show more ...
|
| e8035421 | 23-Dec-2021 |
Federico Recanati <federico.recanati@arm.com> |
fix(fvp): extend memory map to include all DRAM memory regions
Currently only the lowest 2 DRAM region were configured in the TrustZone Controller, but the platform supports 6 regions spanning the w
fix(fvp): extend memory map to include all DRAM memory regions
Currently only the lowest 2 DRAM region were configured in the TrustZone Controller, but the platform supports 6 regions spanning the whole address space. Configuring all of them to allow tests to access memory also in those higher memory regions.
FVP memory map: https://developer.arm.com/documentation/100964/1116/Base-Platform/Base---memory/Base-Platform-memory-map Note that last row is wrong, describing a non-existing 56bit address, all region labels should be shifted upward. Issue has been reported and next release will be correct.
Change-Id: I695fe8e24aff67d75e74635ba32a133342289eb4 Signed-off-by: Federico Recanati <federico.recanati@arm.com>
show more ...
|
| 14714755 | 07-Dec-2021 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
feat(cpu): add library support for Poseidon CPU
This patch adds the basic CPU library code to support the Poseidon CPU in TF-A. Poseidon is derived from HunterELP core, an implementation of v9.2 arc
feat(cpu): add library support for Poseidon CPU
This patch adds the basic CPU library code to support the Poseidon CPU in TF-A. Poseidon is derived from HunterELP core, an implementation of v9.2 architecture. Currently, Hunter CPU the predecessor to HunterELP, is supported in TF-A. Accordingly the Hunter CPU library code has been as the base and adapted here.
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Change-Id: I406b4de156a67132e6a5523370115aaac933f18d
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 ...
|
| 1db6cd60 | 01-Dec-2021 |
johpow01 <john.powell@arm.com> |
fix(errata): workaround for Cortex X2 erratum 2083908
Cortex X2 erratum 2083908 is a Cat B erratum present in the Cortex X2 core. It applies to revision r2p0 and is still open.
SDEN can be found he
fix(errata): workaround for Cortex X2 erratum 2083908
Cortex X2 erratum 2083908 is a Cat B erratum present in the Cortex X2 core. It applies to revision r2p0 and is still open.
SDEN can be found here: https://developer.arm.com/documentation/SDEN1775100
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: Id9dca2b042bf48e75fb3013ab37d1c5925824728
show more ...
|
| cf21064e | 20-Oct-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(fvp): measure critical data
Implemented a platform function 'plat_mboot_measure_critical_data' to measure critical data and record its measurement using the Event Log driver. 'bl2_plat_mboot_fi
feat(fvp): measure critical data
Implemented a platform function 'plat_mboot_measure_critical_data' to measure critical data and record its measurement using the Event Log driver. 'bl2_plat_mboot_finish' function invokes this platform function immediately after populating the critical data.
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com> Change-Id: Ia198295c6e07ab26d436eab1ff90df2cf28303af
show more ...
|
| 426a1119 | 31-Oct-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): rename a macro INVALID_ID to EVLOG_INVALID_ID
Renamed a macro 'INVALID_ID' to 'EVLOG_INVALID_ID' to avoid its clash with other macro names and to show it is explicitly used
refactor(measured boot): rename a macro INVALID_ID to EVLOG_INVALID_ID
Renamed a macro 'INVALID_ID' to 'EVLOG_INVALID_ID' to avoid its clash with other macro names and to show it is explicitly used for Event Log driver.
Change-Id: Ie4c92b3cd1366d9a59cd6f43221e24734865f427 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 4ce3e99a | 25-Aug-2020 |
Scott Branden <scott.branden@broadcom.com> |
fix: libc: use long for 64-bit types on aarch64
Use long instead of long long on aarch64 for 64_t stdint types. Introduce inttypes.h to properly support printf format specifiers for fixed width type
fix: libc: use long for 64-bit types on aarch64
Use long instead of long long on aarch64 for 64_t stdint types. Introduce inttypes.h to properly support printf format specifiers for fixed width types for such change.
Change-Id: I0bca594687a996fde0a9702d7a383055b99f10a1 Signed-off-by: Scott Branden <scott.branden@broadcom.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 ...
|
| 04deada5 | 27-Oct-2021 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(spmd): revert workaround hafnium as hypervisor" into integration |
| 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 ...
|
| 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 ...
|
| 4cb576a0 | 15-Oct-2021 |
johpow01 <john.powell@arm.com> |
fix(cpu): correct Demeter CPU name
This patch changes Cortex Demeter to Neoverse Demeter.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I7306d09ca60e101d0a96c9ceff9845422d75c160 |
| fb9e5f7b | 19-Aug-2021 |
johpow01 <john.powell@arm.com> |
feat(cpu): add support for Hunter CPU
This patch adds the basic CPU library code to support the Hunter CPU in TF-A. This CPU is based on the Makalu core so that library code was adapted as the basis
feat(cpu): add support for Hunter CPU
This patch adds the basic CPU library code to support the Hunter CPU in TF-A. This CPU is based on the Makalu core so that library code was adapted as the basis for this patch.
Signed-off-by: John Powell <john.powell@arm.com> Change-Id: I956b2dc0f43da7cec3e015252392e2694363e1b3
show more ...
|
| 8a89e189 | 08-Sep-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): make measurement strings compliant with SBSG
Made measurement strings compliant to Server Base Security Guide (SBSG, Arm DEN 0086) hence updated measurement strings for BL32
refactor(measured boot): make measurement strings compliant with SBSG
Made measurement strings compliant to Server Base Security Guide (SBSG, Arm DEN 0086) hence updated measurement strings for BL32, BL31, and SCP_BL2 images. As the GPT image is not get measured by BL2 so removed its measurement string. Also, namespaced measurement string defines that were looking quite generic.
Change-Id: Iaa17c0cfeee3d06dc822eff2bd553da23bd99b76 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
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 ...
|
| e742bcda | 11-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(measured_boot): update tb_fw_config with event log properties
Making tb_fw_config ready to pass the Event Log base address and size information to BL2.
Change-Id: I5dd0e79007e3848b5d6d0e69275a
feat(measured_boot): update tb_fw_config with event log properties
Making tb_fw_config ready to pass the Event Log base address and size information to BL2.
Change-Id: I5dd0e79007e3848b5d6d0e69275a46c2e9807a98 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| 48ba0345 | 14-Sep-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(measured_boot): image hash measurement and recording in BL1
It looks safer and cleaner approach to record the measurement taken by BL1 straightaway in TCG Event Log instead of deferring these r
feat(measured_boot): image hash measurement and recording in BL1
It looks safer and cleaner approach to record the measurement taken by BL1 straightaway in TCG Event Log instead of deferring these recordings to BL2. Hence pull in the full-fledged measured boot driver into BL1 that replaces the former ad-hoc platform interfaces i.e. bl1_plat_set_bl2_hash, bl2_plat_get_hash.
As a result of this change the BL1 of Arm FVP platform now do the measurements and recordings of below images: 1. FW_CONFIG 2. TB_FW_CONFIG 3. BL2
Change-Id: I798c20336308b5e91b547da4f8ed57c24d490731 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 ...
|
| 8cd09cfc | 17-Jun-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
refactor(measured boot): move BL2 measurement to platform layer
Right now, event_log_init() does 2 things: 1) It writes all the necessary TCG data structures in the event log buffer. 2) It writes th
refactor(measured boot): move BL2 measurement to platform layer
Right now, event_log_init() does 2 things: 1) It writes all the necessary TCG data structures in the event log buffer. 2) It writes the first measurement (BL2's).
Step 2) introduces in the TCG event log driver an assumption on what is getting measured and in what order. Ideally, the driver should only be concerned about generic operations, such as initializing the event log or recording a measurement in it. As much as possible, we should design the driver such that it could be reused in another project that has a different measure boot flow.
For these reasons, move step 2) up to the caller, plat_mboot_init() in this case. Make event_log_record() a public function for this purpose.
This refactoring will also help when we make BL1 record BL2's measurement into the event log (instead of BL2). Both BL1 and BL2 will need to call the driver's init function but only BL1 will need recording BL2's measurement. We can handle this through different implementations of plat_mboot_init() for BL1 and BL2, leaving the TCG event log driver unchanged.
Change-Id: I358e097c1eedb54f82b866548dfc6bcade83d519 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 140d9cb3 | 20-Sep-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
refactor(measured boot): move image measurement to generic layer
Right now, the assumption is that the platform post-load hook takes care of measuring the image that just got loaded. This is how it'
refactor(measured boot): move image measurement to generic layer
Right now, the assumption is that the platform post-load hook takes care of measuring the image that just got loaded. This is how it's implemented on FVP.
This patch moves the measurement into the generic code instead. load_auth_image() now calls plat_mboot_measure_image(), which is a new platform interface introduced in this patch to measure an image. This is called just after authenticating the image.
Implement plat_mboot_measure_image() for the Arm FVP platform. The code is copied straight from the post-load hook.
As a result, the FVP specific implementation of arm_bl2_plat_handle_post_image_load() is no longer needed. We can go back to using the Arm generic implementation of it.
Change-Id: I7b4b8d28941a865e10af9d0eadaf2e4850942090 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| d89bec83 | 07-Jul-2021 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
build(measured boot): rename measured boot makefile
With the removal of the generic functions measured_boot_init()/finish(), measured_boot.mk becomes specific to the TCG event log backend. Change it
build(measured boot): rename measured boot makefile
With the removal of the generic functions measured_boot_init()/finish(), measured_boot.mk becomes specific to the TCG event log backend. Change its file name to event_log.mk. Also, the Event Log driver is one of the backend of measured boot hence created a separate folder for it under the measured_boot directory.
Alongside done some cosmetic changes (adding a comment and fixing identation).
Change-Id: I4ce3300e6958728dc15ca5cced09eaa01510606c Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
show more ...
|
| 47bf3ac3 | 06-Aug-2021 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
feat(measured boot): move init and teardown functions to platform layer
Right now, the measured boot driver is strongly coupled with the TCG event log driver. It would not be possible to push the me
feat(measured boot): move init and teardown functions to platform layer
Right now, the measured boot driver is strongly coupled with the TCG event log driver. It would not be possible to push the measurements somewhere else, for instance to a physical TPM.
To enable this latter use case, turn the driver's init and teardown functions into platform hooks. Call them bl2_plat_mboot_init()/finish(). This allows each platform to implement them appropriately, depending on the type of measured boot backend they use. For example, on a platform with a physical TPM, the plat_mboot_init() hook would startup the TPM and setup it underlying bus (e.g. SPI).
Move the current implementation of the init and teardown function to the FVP platform layer.
Finally move the conditional compilation logic (#if MEASURED_BOOT) out of bl2_main() to improve its readability. Provide a dummy implementation in the case measured boot is not included in the build.
Change-Id: Ib6474cb5a9c1e3d4a30c7f228431b22d1a6e85e3 Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com> Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|