| #
fded3a48 |
| 18-Dec-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "hm/heap-info" into integration
* changes: fix(handoff): remove XFERLIST_TB_FW_CONFIG feat(arm): migrate heap info to fw handoff feat(mbedtls): introduce crypto lib he
Merge changes from topic "hm/heap-info" into integration
* changes: fix(handoff): remove XFERLIST_TB_FW_CONFIG feat(arm): migrate heap info to fw handoff feat(mbedtls): introduce crypto lib heap info struct feat(handoff): add Mbed-TLS heap info entry tag refactor(arm): refactor secure TL initialization fix(handoff): fix message formatting of hex values feat(handoff): add func to check and init a tl fix(arm): resolve dangling comments around macros
show more ...
|
| #
ada4e59d |
| 28-May-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(arm): migrate heap info to fw handoff
Mbed-TLS requires platforms to allocate it a heap for it's own internal usage. This heap is typically between shared by BL1 and BL2 to conserve memory.The
feat(arm): migrate heap info to fw handoff
Mbed-TLS requires platforms to allocate it a heap for it's own internal usage. This heap is typically between shared by BL1 and BL2 to conserve memory.The base address and size of the heap are conveyed from BL1 to BL2 through the config TB_FW_CONFIG.
This slightly awkward approach necessitates declaring a placeholder node in the DTS. At runtime, this node is populated with the actual values of the heap information. Instead, since this is dynamic information, and simple to represent through C structures, transmit it to later stages using the firmware handoff framework.
With this migration, remove references to TB_FW_CONFIG when firmware handoff is enabled, as it is no longer needed. The setup code now relies solely on TL structures to configure the TB firmware
Change-Id: Iff00dc742924a055b8bd304f15eec03ce3c6d1ef Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
d5705719 |
| 23-Sep-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(arm): refactor secure TL initialization
The initialization logic for the secure transfer list is currently scattered and duplicated across platform setup code. This not only leads to ineffi
refactor(arm): refactor secure TL initialization
The initialization logic for the secure transfer list is currently scattered and duplicated across platform setup code. This not only leads to inefficiency but also complicates access to transfer lists from other parts of the code without invoking setup functions. For instance, arm_bl2_setup_next_ep_info acts as a thin wrapper in arm_bl2_setup.c to provide access to the secure transfer list.
To streamline the interface, all setup code has been consolidated into a central location.
Change-Id: I99d2a567ff39df88baa57e7e08607fccb8af189c Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
26467bf3 |
| 01-Oct-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "rd1ae-upstream" into integration
* changes: docs(rd1ae): add RD-1 AE documentation feat(rd1ae): enabling Trusted Board Boot(TBB) for RD-1 AE feat(rd1ae): introduce BL
Merge changes from topic "rd1ae-upstream" into integration
* changes: docs(rd1ae): add RD-1 AE documentation feat(rd1ae): enabling Trusted Board Boot(TBB) for RD-1 AE feat(rd1ae): introduce BL31 for RD-1 AE platform feat(rd1ae): add device tree files feat(rd1ae): introduce Arm RD-1 AE platform build(bl2): enable check for bl2 base overflow assert feat(arm): add support for loading CONFIG from BL2
show more ...
|
| #
973e0b7f |
| 04-Apr-2024 |
Divin Raj <divin.raj@arm.com> |
feat(arm): add support for loading CONFIG from BL2
This commit introduces a new ARM platform-specific build option called `ARM_FW_CONFIG_LOAD_ENABLE`. This option enables the loading of the `fw_conf
feat(arm): add support for loading CONFIG from BL2
This commit introduces a new ARM platform-specific build option called `ARM_FW_CONFIG_LOAD_ENABLE`. This option enables the loading of the `fw_config` device tree when resetting to the BL2 scenario.
Additionally, the FW_CONFIG image reference has been added to the fdts/tbbr_cot_descriptors.dtsi file in order to use in the scenario of RESET_TO_BL2.
Signed-off-by: Divin Raj <divin.raj@arm.com> Change-Id: I11de497b7dbb1386ed84d939d6fd2a11856e9e1b
show more ...
|
| #
18faaa24 |
| 05-Aug-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "us_pmu" into integration
* changes: fix(tc): correct CPU PMU binding feat(tc): add device tree binding for SPE feat(tc): add PPI partitions in DT binding feat(tc):
Merge changes from topic "us_pmu" into integration
* changes: fix(tc): correct CPU PMU binding feat(tc): add device tree binding for SPE feat(tc): add PPI partitions in DT binding feat(tc): change GIC DT property 'interrupt-cells' to 4 feat(tc): add NI-Tower PMU node for TC3 feat(tc): setup ni-tower non-secure access for TC3
show more ...
|
| #
89c58a50 |
| 02-Feb-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): setup ni-tower non-secure access for TC3
NI-Tower's component's registers are need to be accessed from kernel NI-PMU driver so enable NS access to it.
Change-Id: I83a8b3a1d2778baf767ff932
feat(tc): setup ni-tower non-secure access for TC3
NI-Tower's component's registers are need to be accessed from kernel NI-PMU driver so enable NS access to it.
Change-Id: I83a8b3a1d2778baf767ff93263e246d127ef8114 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| #
9bfad24c |
| 05-Aug-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "hm/handoff" into integration
* changes: fix(arm): move HW_CONFIG relocation into BL31 feat: add option to input attr as string of flag names feat: add option to input
Merge changes from topic "hm/handoff" into integration
* changes: fix(arm): move HW_CONFIG relocation into BL31 feat: add option to input attr as string of flag names feat: add option to input text instead of tag id number feat: add creating transfer lists from yaml files
show more ...
|
| #
fe94a21a |
| 12-Jul-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
fix(arm): move HW_CONFIG relocation into BL31
Refactor DT relocation logic from BL2 to BL31 for non-secure DRAM. Previously, BL2 was responsible for copying the DT into SRAM and DRAM, resulting in d
fix(arm): move HW_CONFIG relocation into BL31
Refactor DT relocation logic from BL2 to BL31 for non-secure DRAM. Previously, BL2 was responsible for copying the DT into SRAM and DRAM, resulting in duplicate code in BL31 to cater for the `RESET_TO_BL31` case. By moving the re-location logic to BL31, we simplify handling of the non-secure DT and TL.
Change-Id: Id239f9410669afe4b223fa8d8bb093084a0e5e1b Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
a6e01be2 |
| 14-Jun-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(spm-mm): carve out NS buffer TZC400 region" into integration
|
| #
19228752 |
| 11-Jun-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(spm-mm): carve out NS buffer TZC400 region
SPM-MM defines AP TZC-400 regions as such:
1: 0xff000000 0xffffffff S 2: 0x80000000 0xfeffffff NS 3: 0x880000000 0xfffffffff NS 4: 0xff600000
fix(spm-mm): carve out NS buffer TZC400 region
SPM-MM defines AP TZC-400 regions as such:
1: 0xff000000 0xffffffff S 2: 0x80000000 0xfeffffff NS 3: 0x880000000 0xfffffffff NS 4: 0xff600000 0xff60ffff NS
Region 4 (using filter 0) defines the SPM NS shared buffer between normal world and secure world. However region 4 overlaps with region 1 (using filter 0) defined as secure. It is forbidden to define overlapping regions beyond region 0 for the same filter. This is reported as a violation in the TZC-400 controller.
With FVP models < 11.25 the error is latent but not reported to the PE (reason for this behavior is unclear). With greater FVP model version the error is reported as an asynchronous external abort (SError exception).
By carving out the SPM NS shared region (with regions as defined below), the violation is no longer reported and test passed with recent FVP models:
1: 0x80000000 0xfeffffff NS 2: 0xff000000 0xff5fffff S 3: 0xff600000 0xff60ffff NS 4: 0xff610000 0xffffffff S 5: 0x880000000 0xfffffffff NS
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: Idc3370803ad204ac29efeded77305e52e17cc1c1
show more ...
|
| #
b38b37ba |
| 10-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "ar/pmuSaveRestore" into integration
* changes: feat(tc): add save/restore DSU PMU register support feat(dsu): save/restore DSU PMU register feat(plat): add platform A
Merge changes from topic "ar/pmuSaveRestore" into integration
* changes: feat(tc): add save/restore DSU PMU register support feat(dsu): save/restore DSU PMU register feat(plat): add platform API that gets cluster ID
show more ...
|
| #
e6ae019a |
| 25-Apr-2024 |
Arvind Ram Prakash <arvind.ramprakash@arm.com> |
feat(plat): add platform API that gets cluster ID
This patch adds an API(plat_cluster_id_by_mpidr) that retrieves the cluster ID by looking at the MPIDR_EL1 for platforms that have ARM_PLAT_MT set
feat(plat): add platform API that gets cluster ID
This patch adds an API(plat_cluster_id_by_mpidr) that retrieves the cluster ID by looking at the MPIDR_EL1 for platforms that have ARM_PLAT_MT set
Signed-off-by: Arvind Ram Prakash <arvind.ramprakash@arm.com> Change-Id: I0266f2e49a3114d169a7708d7ddbd4f6229a7a41
show more ...
|
| #
dd038061 |
| 08-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "fix_psci_osi" into integration
* changes: fix(psci): fix parent_idx in psci_validate_state_coordination fix(psci): mask the Last in Level nibble in StateId
|
| #
0a9c244b |
| 29-Jan-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
fix(psci): mask the Last in Level nibble in StateId
In the ARM recommended StateID Encoding, the index for the power level where the calling core is last to go idle use the last niblle of the StateI
fix(psci): mask the Last in Level nibble in StateId
In the ARM recommended StateID Encoding, the index for the power level where the calling core is last to go idle use the last niblle of the StateId.
Even if this nibble is necessary for OS-initiated mode, it can be used by caller even when this OSI mode is not used.
In arm_validate_power_state() function, the StateId is compared with content of arm_pm_idle_states[] build with the arm_make_pwrstate_lvl2 macro, without Last in Level information. So it is safe to mask this nibble for ARM platform in all the cases, and that avoids issues with caller with use the same StateId encoding with OSI mode activated or not (in tftf tests for example, the input(power state) parameter = (0x40001022) and the associated power state is 0x40000022).
Change-Id: I45e8e2b8f526fb61b94cf134d7d4aa3bac4c215d Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
show more ...
|
| #
f9d40b5c |
| 26-Apr-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "hm/handoff" into integration
* changes: feat(handoff): add support for RESET_TO_BL2 feat(arm): support FW handoff b/w BL1 & BL2 feat(handoff): add TL source files to
Merge changes from topic "hm/handoff" into integration
* changes: feat(handoff): add support for RESET_TO_BL2 feat(arm): support FW handoff b/w BL1 & BL2 feat(handoff): add TL source files to BL1 feat(handoff): add TE's for BL1 handoff interface refactor(bl1): clean up bl2 layout calculation feat(arm): support FW handoff b/w BL2 & BL31
show more ...
|
| #
a5566f65 |
| 01-Dec-2023 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(arm): support FW handoff b/w BL2 & BL31
Add support for the firmware handoff framework between BL2 and BL31. Create a transfer list in trusted SRAM, leveraging the larger SRAM sizes in recent m
feat(arm): support FW handoff b/w BL2 & BL31
Add support for the firmware handoff framework between BL2 and BL31. Create a transfer list in trusted SRAM, leveraging the larger SRAM sizes in recent models. Load the HW_CONFIG as a TE along with entry point parameters for BL31 execution.
Change-Id: I7c4c6e8353ca978a13520fb3e15fb2803f0f1d0e Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
d3604b35 |
| 16-Apr-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "lto-fixes" into integration
* changes: fix(bl1): add missing `__RW_{START,END}__` symbols fix(fvp): don't check MPIDRs with the power controller in BL1 fix(arm): only
Merge changes from topic "lto-fixes" into integration
* changes: fix(bl1): add missing `__RW_{START,END}__` symbols fix(fvp): don't check MPIDRs with the power controller in BL1 fix(arm): only expose `arm_bl2_dyn_cfg_init` to BL2 fix(cm): hide `cm_init_context_by_index` from BL1 fix(bl1): add missing spinlock dependency
show more ...
|
| #
3b48ca17 |
| 06-Feb-2024 |
Chris Kay <chris.kay@arm.com> |
fix(arm): only expose `arm_bl2_dyn_cfg_init` to BL2
The `arm_bl2_dyn_cfg_init` function is intended exclusively for BL2 - it should not be compiled for any other bootloader image. This change hides
fix(arm): only expose `arm_bl2_dyn_cfg_init` to BL2
The `arm_bl2_dyn_cfg_init` function is intended exclusively for BL2 - it should not be compiled for any other bootloader image. This change hides it for all but BL2.
Change-Id: I9fa95094dcc30f9fa4cc7bc5b3119ceae82df1ea Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| #
e7d14fa8 |
| 07-Mar-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "DPE" into integration
* changes: feat(tc): group components into certificates feat(dice): add cert_id argument to dpe_derive_context() refactor(sds): modify log level
Merge changes from topic "DPE" into integration
* changes: feat(tc): group components into certificates feat(dice): add cert_id argument to dpe_derive_context() refactor(sds): modify log level for region validity feat(tc): add dummy TRNG support to be able to boot pVMs feat(tc): get the parent component provided DPE context_handle feat(tc): share DPE context handle with child component feat(tc): add DPE context handle node to device tree feat(tc): add DPE backend to the measured boot framework feat(auth): add explicit entries for key OIDs feat(dice): add DPE driver to measured boot feat(dice): add client API for DICE Protection Environment feat(dice): add QCBOR library as a dependency of DPE feat(dice): add typedefs from the Open DICE repo docs(changelog): add 'dice' scope refactor(tc): align image identifier string macros refactor(fvp): align image identifier string macros refactor(imx8m): align image identifier string macros refactor(qemu): align image identifier string macros fix(measured-boot): add missing image identifier string refactor(measured-boot): move metadata size macros to a common header refactor(measured-boot): move image identifier strings to a common header
show more ...
|
| #
1f47a713 |
| 12-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): add DPE context handle node to device tree
Child software components are inheriting their first valid DPE context handle from their parent components (who loaded and measured them). The co
feat(tc): add DPE context handle node to device tree
Child software components are inheriting their first valid DPE context handle from their parent components (who loaded and measured them). The context handle is shared through the device tree object the following way: - BL1 -> BL2 via TB_FW_CONFIG - BL2 -> BL33 via NT_FW_CONFIG
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: I9bf7808fb13a310ad7ca1895674a0c7e6725e08b
show more ...
|
| #
28c79e10 |
| 30-Jan-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "plat_gpt_setup" into integration
* changes: feat(arm): move GPT setup to common BL source feat(arm): retrieve GPT related data from platform refactor(arm): rename L0/
Merge changes from topic "plat_gpt_setup" into integration
* changes: feat(arm): move GPT setup to common BL source feat(arm): retrieve GPT related data from platform refactor(arm): rename L0/L1 GPT base macros
show more ...
|
| #
341df6af |
| 21-Jan-2024 |
Rohit Mathew <Rohit.Mathew@arm.com> |
feat(arm): move GPT setup to common BL source
As of now, GPT setup is being handled from BL2 for plat/arm platforms. However, for platforms having a separate entity to load firmware images, it is po
feat(arm): move GPT setup to common BL source
As of now, GPT setup is being handled from BL2 for plat/arm platforms. However, for platforms having a separate entity to load firmware images, it is possible for BL31 to setup the GPT. In order to address this concern, move the GPT setup implementation from arm_bl2_setup.c file to arm_common.c. Additionally, rename the API from arm_bl2_gpt_setup to arm_gpt_setup to make it boot stage agnostic.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Change-Id: I35d17a179c8746945c69db37fd23d763a7774ddc
show more ...
|
| #
86e4859a |
| 20-Dec-2023 |
Rohit Mathew <Rohit.Mathew@arm.com> |
feat(arm): retrieve GPT related data from platform
For RME-enabled platforms, initializing L0 and L1 tables and enabling GPC checks is necessary. For systems using BL2 to load firmware images, the G
feat(arm): retrieve GPT related data from platform
For RME-enabled platforms, initializing L0 and L1 tables and enabling GPC checks is necessary. For systems using BL2 to load firmware images, the GPT initialization has to be done in BL2 prior to the image load. The common Arm platform code currently implements this in the "arm_bl2_plat_gpt_setup" function, relying on the FVP platform's specifications (PAS definitions, GPCCR_PPS, and GPCCR_PGS).
Different Arm platforms may have distinct PAS definitions, GPCCR_PPS, GPCCR_PGS, L0/L1 base, and size. To accommodate these variations, introduce the "plat_arm_get_gpt_info" API. Platforms must implement this API to provide the necessary data for GPT setup on RME-enabled platforms. It is essential to note that these additions are relevant to platforms under the plat/arm hierarchy that will reuse the "arm_bl2_plat_gpt_setup" function.
As a result of these new additions, migrate data related to the FVP platform to its source and header files.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Change-Id: I4f4c8894c1cda0adc1f83e7439eb372e923f6147
show more ...
|
| #
7bcd3cf5 |
| 16-Oct-2023 |
Sandrine Bailleux <sandrine.bailleux@arm.com> |
Merge changes from topic "ecdsa_p384" into integration
* changes: refactor(arm): remove ARM_ROTPK_KEY_LEN comparison fix(st): setting default KEY_SIZE docs(cert-create): add key size options f
Merge changes from topic "ecdsa_p384" into integration
* changes: refactor(arm): remove ARM_ROTPK_KEY_LEN comparison fix(st): setting default KEY_SIZE docs(cert-create): add key size options for ecdsa feat(arm): ecdsa p384/p256 full key support feat(tbbr): update PK_DER_LEN for ECDSA P-384 keys feat(auth): ecdsa p384 key support feat(cert-create): ecdsa p384 key support
show more ...
|