| #
02ba6dd3 |
| 16-Sep-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge changes from topic "sbsa2" into integration
* changes: feat(qemu): skip paged image info feat(optee): check paged image size feat(qemu-sbsa): support s-el2 and s-el1 spmc
|
| #
803560de |
| 15-Jul-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
feat(qemu): skip paged image info
In qemu_bl2_handle_post_image_load() when fixing up the arguments for BL32, only pass on paged image base and size if it has been loaded. The paged image is not sup
feat(qemu): skip paged image info
In qemu_bl2_handle_post_image_load() when fixing up the arguments for BL32, only pass on paged image base and size if it has been loaded. The paged image is not supported for SPMC_OPTEE so make sure it's not loaded.
Change-Id: I9c82ef687006e0f882a098de2cc3000038476b17 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| #
d90bb650 |
| 23-Jun-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "build(handoff)!: switch to LibTL submodule" into integration
|
| #
b5d0740e |
| 13-May-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
build(handoff)!: switch to LibTL submodule
Removes in-tree Transfer List implementation and updates all references to use the external LibTL submodule. Updates include paths, Makefile macros, and pl
build(handoff)!: switch to LibTL submodule
Removes in-tree Transfer List implementation and updates all references to use the external LibTL submodule. Updates include paths, Makefile macros, and platform integration logic to link with LibTL as a static library.
If you cloned TF-A without the `--recurse-submodules` flag, you can ensure that this submodule is present by running:
git submodule update --init --recursive
BREAKING-CHANGE: LibTL is now included in TF-A as a submodule. Please run `git submodule update --init --recursive` if you encounter issues after migrating to the latest version of TF-A.
Change-Id: I1fa31f7b730066c27985d968698e553b00b07c38 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
50d1ce3d |
| 19-Jun-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes Ia34bc0f4,I0be3773b,I701e357a,Icdbe1992 into integration
* changes: refactor(versal2): guard handoff logic w/ build flag refactor(qemu): guard handoff logic w/ build flag refacto
Merge changes Ia34bc0f4,I0be3773b,I701e357a,Icdbe1992 into integration
* changes: refactor(versal2): guard handoff logic w/ build flag refactor(qemu): guard handoff logic w/ build flag refactor(optee): guard handoff logic w/ build flag feat(handoff): support libtl submodule builds
show more ...
|
| #
7f9ef161 |
| 27-May-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(qemu): guard handoff logic w/ build flag
Prepare for environments where the Firmware Handoff (LibTL) submodule may not be available. Wrap all Transfer List dependent logic in `#if TRANSFER
refactor(qemu): guard handoff logic w/ build flag
Prepare for environments where the Firmware Handoff (LibTL) submodule may not be available. Wrap all Transfer List dependent logic in `#if TRANSFER_LIST` guards, ensuring QEMU can build and run without the submodule.
This is useful for builds not integrating the firmware handoff mechanism.
Change-Id: I0be3773bf300b02cd3beccf738a021925e3c53c6 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| #
95977c2e |
| 17-Dec-2024 |
Yann Gautier <yann.gautier@st.com> |
Merge changes from topic "gerrit-master-v3" into integration
* changes: feat(qemu-sbsa): add support for RME on SBSA machine feat(qemu-sbsa): configure RMM manifest based on system RAM feat(qe
Merge changes from topic "gerrit-master-v3" into integration
* changes: feat(qemu-sbsa): add support for RME on SBSA machine feat(qemu-sbsa): configure RMM manifest based on system RAM feat(qemu-sbsa): configure GPT based on system RAM feat(qemu-sbsa): adjust DT memory start address when supporting RME feat(qemu-sbsa): relocate DT after the RMM when RME is enabled feat(qemu-sbsa): dissociate QEMU NS start address and NS_DRAM0_BASE feat(qemu-sbsa): increase maximum FIP size refactor(qemu-sbsa): move all DT related functions to sbsa_platform.c refactor(qemu-sbsa): create accessor functions for platform info refactor(qemu-sbsa): rename function sip_svc_init() to something more meaningful refactor(qemu-sbsa): move DT related structures to their own header refactor(qemu-sbsa): rename struct dynamic_platform_info refactor(qemu): make L0GPT size configurable refactor(qemu): move GPT setup to BL31 fix(qemu-sbsa): fix compilation error when accessing DT functions
show more ...
|
| #
17af9597 |
| 10-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
feat(qemu-sbsa): relocate DT after the RMM when RME is enabled
When RME is enabled, (1) the RMM is installed at the base of system RAM, (2) the base of the system RAM is shifted upward, after the RM
feat(qemu-sbsa): relocate DT after the RMM when RME is enabled
When RME is enabled, (1) the RMM is installed at the base of system RAM, (2) the base of the system RAM is shifted upward, after the RMM and (3) the device tree is relocated to the new system RAM base.
This patch relocates the device tree to the new system RAM base before the RMM is installed in RAM. From there, other accesses to the device tree are using the new location.
Change-Id: I0cb4e060ca33a11becd78fe48fab4dc76f0b484b Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| #
72d47829 |
| 16-Aug-2024 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
refactor(qemu): move GPT setup to BL31
Some platforms such as QEMU-SBSA access the device tree located at the bottom of the non-secure RAM from BL31. When GPT checks are enabled at BL2, that access
refactor(qemu): move GPT setup to BL31
Some platforms such as QEMU-SBSA access the device tree located at the bottom of the non-secure RAM from BL31. When GPT checks are enabled at BL2, that access generates a GPT check fault because the device tree area is configure as non-secure RAM and the access is made from secure EL3.
We could change the device tree memory area configuration in a way that it is accessible from BL31, but that would require another configuration of the GPT before going to BL33.
Since BL2 and BL31 are both running at EL3, a better solution is simply move the GPT configuration and enabling to BL31, after the device tree has been probed.
No change in functionality.
Change-Id: Ifa01c50164268b993d563c32e4e42140259c44e2 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> [Added changelog description] Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| #
a3939b1b |
| 24-Jul-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(handoff): fix register convention r1/x1 value on transfer list" into integration
|
| #
7475815f |
| 13-May-2024 |
levi.yun <yeoreum.yun@arm.com> |
feat(handoff): fix register convention r1/x1 value on transfer list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value was chang
feat(handoff): fix register convention r1/x1 value on transfer list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value was changed from 0x40_b10b (3 bytes) to 4a0f_b10b (4 bytes).
As updating of TL's signature, register value of x1/r1 should be:
In aarch32's r1 value should be R1[23:0]: set to the TL signature (4a0f_b10b -> masked range value: 0f_b10b) R1[31:24]: version of the register convention == 1 and In aarch64's x1 value should be X1[31:0]: set to the TL signature (4a0f_b10b) X1[39:32]: version of the register convention == 1 X1[63:40]: MBZ (See the [2] and [3]).
Therefore, it requires to separate mask and shift value for register convention version field when sets each r1/x1.
This patch fix two problems: 1. breaking X1 value with updated specification in aarch64 - change of length of signature field.
2. previous error value set in R1 in arm32. - length of signature should be 24, but it uses 32bit signature.
This change is breaking change. It requires some patch for other softwares (u-boot[4], optee[5]).
Link: https://github.com/FirmwareHandoff/firmware_handoff [1] Link: https://github.com/FirmwareHandoff/firmware_handoff/issues/32 [2] Link: https://github.com/FirmwareHandoff/firmware_handoff/commit/5aa7aa1d3a1db75213e458d392b751f0707de027 [3] Link: https://lists.denx.de/pipermail/u-boot/2024-July/558628.html [4] Link: https://github.com/OP-TEE/optee_os/pull/6933 [5] Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Change-Id: Ie417e054a7a4c192024a2679419e99efeded1705
show more ...
|
| #
5d100699 |
| 03-Jul-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge "fix(qemu): allocate space for GPT bitlock" into integration
|
| #
e9bcbd7b |
| 18-Apr-2024 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
fix(qemu): allocate space for GPT bitlock
Since commit ec0088bbab93 ("feat(gpt): add support for large GPT mappings"), the platform needs to reserve space for the bitlock, immediately after the L0 G
fix(qemu): allocate space for GPT bitlock
Since commit ec0088bbab93 ("feat(gpt): add support for large GPT mappings"), the platform needs to reserve space for the bitlock, immediately after the L0 GPT table. Add two pages to the L0 GPT reserve. This could be optimized later by moving the bitlock somewhere else, because it really only needs (1 << PPS.T) / (512M * 8) = 256 bytes for the QEMU virt platform.
Fix two more comments in qemu_pas_def.h since we're here.
Change-Id: I2b0b8de38f4b5058735ed16f1cdc50e6b2d52ad9 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| #
2a0ca84f |
| 07-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present c
Merge changes from topic "sm/feat_detect" into integration
* changes: refactor(cpufeat): restore functions in detect_arch_features refactor(cpufeat): add macro to simplify is_feat_xx_present chore: simplify the macro names in ENABLE_FEAT mechanism
show more ...
|
| #
aaaf2cc3 |
| 13-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all th
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all the features:
-> is_feat_xx_present(): Does Hardware implement the feature. -> uniformity in naming the function across multiple features. -> improved readability
The is_feat_xx_present() is implemented to check if the hardware implements the feature and does not take into account the ENABLE_FEAT_XXX flag enabled/disabled in software.
- CREATE_FEATURE_PRESENT(name, idreg, shift, mask, idval) The wrapper macro reduces the function to a single line and creates the is_feat_xx_present function that checks the id register based on the shift and mask values and compares this against a determined idvalue.
Change-Id: I7b91d2c9c6fbe55f94c693aa1b2c50be54fb9ecc Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| #
22d79f2c |
| 18-Jan-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "tl_bl31_bl32" into integration
* changes: feat(qemu): enable transfer list to BL31/32 feat(optee): enable transfer list in opteed
|
| #
305825b4 |
| 04-Oct-2023 |
Raymond Mao <raymond.mao@linaro.org> |
feat(qemu): enable transfer list to BL31/32
Enable handoff to BL31 and BL32 using transfer list. Encode TL_TAG_OPTEE_PAGABLE_PART as transfer entry. Fallback to default handoff args when transfer li
feat(qemu): enable transfer list to BL31/32
Enable handoff to BL31 and BL32 using transfer list. Encode TL_TAG_OPTEE_PAGABLE_PART as transfer entry. Fallback to default handoff args when transfer list is disabled or fails to archieve args from transfer entries. Refactor handoff from BL2 to BL33. Minor fixes of comment style.
Change-Id: I55d92ca7f5c4727bacc9725a7216c0ac70d16aec Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| #
2b6f940a |
| 08-Jan-2024 |
Soby Mathew <soby.mathew@arm.com> |
Merge changes from topic "qemu-rme" into integration
* changes: feat(qemu): support TRP for RME feat(qemu): load and run RMM image feat(qemu): setup Granule Protection Table feat(qemu): setu
Merge changes from topic "qemu-rme" into integration
* changes: feat(qemu): support TRP for RME feat(qemu): load and run RMM image feat(qemu): setup Granule Protection Table feat(qemu): setup memory map for RME feat(qemu): update mapping types for RME feat(qemu): use mock attestation functions for RME fix(qemu): increase max FIP size
show more ...
|
| #
6cd113fe |
| 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): setup Granule Protection Table
When RME is enabled, call the GPT library to setup the granule protection tables and partition the physical address space.
Change-Id: Ib466c4579ff55fcff93
feat(qemu): setup Granule Protection Table
When RME is enabled, call the GPT library to setup the granule protection tables and partition the physical address space.
Change-Id: Ib466c4579ff55fcff9307550e6d26d432674779a Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| #
cd75693f |
| 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): setup memory map for RME
Reserve some space in DRAM for RMM, and some space in SRAM for the GPT tables. Create the page table mappings.
Change-Id: I3822e7e505e86eb0fa15b1b5b6298e4122b17
feat(qemu): setup memory map for RME
Reserve some space in DRAM for RMM, and some space in SRAM for the GPT tables. Create the page table mappings.
Change-Id: I3822e7e505e86eb0fa15b1b5b6298e4122b17181 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| #
a5ab1ef7 |
| 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): update mapping types for RME
With RME, mappings for EL3 use MT_ROOT rather than MT_SECURE. Update the mapping types to select the right memory type: EL3_PAS is MT_ROOT when RME is enable
feat(qemu): update mapping types for RME
With RME, mappings for EL3 use MT_ROOT rather than MT_SECURE. Update the mapping types to select the right memory type: EL3_PAS is MT_ROOT when RME is enabled, MT_SECURE otherwise.
Change-Id: I93e287009515b64e833a6f69545766be4c87e473 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| #
a1377a89 |
| 02-Oct-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "rm/handoff" into integration
* changes: feat(qemu): implement firmware handoff on qemu feat(handoff): introduce firmware handoff library
|
| #
322af234 |
| 28-Jun-2023 |
Raymond Mao <raymond.mao@linaro.org> |
feat(qemu): implement firmware handoff on qemu
Implement firmware handoff from BL2 to BL33 on qemu platform compliant to Firmware handoff specification v0.9.
Change-Id: Id8d5206a71ef6ec97cf3c97995d
feat(qemu): implement firmware handoff on qemu
Implement firmware handoff from BL2 to BL33 on qemu platform compliant to Firmware handoff specification v0.9.
Change-Id: Id8d5206a71ef6ec97cf3c97995de328ebf0600cc Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| #
e550fa12 |
| 20-Mar-2023 |
Bipin Ravi <bipin.ravi@arm.com> |
Merge changes from topics "qemu", "qemu_sbsa" into integration
* changes: feat(qemu): add A76/N1 cpu support for virt feat(qemu): add "neoverse-n1" cpu support feat(qemu): make coherent memory
Merge changes from topics "qemu", "qemu_sbsa" into integration
* changes: feat(qemu): add A76/N1 cpu support for virt feat(qemu): add "neoverse-n1" cpu support feat(qemu): make coherent memory section optional refactor(qemu): make use of setup_page_tables()
show more ...
|
| #
af994ae8 |
| 12-Mar-2023 |
Chen Baozi <chenbaozi@phytium.com.cn> |
feat(qemu): make coherent memory section optional
Since CPUs such as cortex-a76 are hardware-assisted coherent, coherent memory section is not required for them and should be an optional section.
S
feat(qemu): make coherent memory section optional
Since CPUs such as cortex-a76 are hardware-assisted coherent, coherent memory section is not required for them and should be an optional section.
Signed-off-by: Chen Baozi <chenbaozi@phytium.com.cn> Change-Id: I03c8e9148ca1780b8af92024359698f4452f7129
show more ...
|