| db5fe4f4 | 08-Oct-2024 |
Boyan Karatotev <boyan.karatotev@arm.com> |
chore(docs): drop the "wfi" from `pwr_domain_pwr_down_wfi`
To allow for generic handling of a wakeup, this hook is no longer expected to call wfi itself. Update the name everywhere to reflect this e
chore(docs): drop the "wfi" from `pwr_domain_pwr_down_wfi`
To allow for generic handling of a wakeup, this hook is no longer expected to call wfi itself. Update the name everywhere to reflect this expectation so that future platform implementers don't get misled.
Change-Id: Ic33f0b6da74592ad6778fd802c2f0b85223af614 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 648d2d8e | 31-Jan-2025 |
Kun Qin <kuqin@microsoft.com> |
feat(qemu): add hob support for qemu platforms
This change introduces the hob support for both qemu platforms (virt and sbsa).
As the hob list feature relies on transfer list, the transfer list sup
feat(qemu): add hob support for qemu platforms
This change introduces the hob support for both qemu platforms (virt and sbsa).
As the hob list feature relies on transfer list, the transfer list support is promoted to common qemu build configuration. The platforms specific definitions are updated accordingly.
Change-Id: I473d83388fe95408d34515bf7bcbdd64ce4e777d Signed-off-by: Kun Qin <kuqin@microsoft.com>
show more ...
|
| ea7bffdb | 09-Jan-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "handoff_tpm_event_log" into integration
* changes: feat(qemu): hand off TPM event log via TL feat(handoff): common API for TPM event log handoff feat(handoff): transf
Merge changes from topic "handoff_tpm_event_log" into integration
* changes: feat(qemu): hand off TPM event log via TL feat(handoff): common API for TPM event log handoff feat(handoff): transfer entry ID for TPM event log fix(qemu): fix register convention in BL31 for qemu fix(handoff): fix register convention in opteed
show more ...
|
| d08dca42 | 20-Nov-2024 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
fix(qemu): fix RMM manifest checksum calculation
Commit 71c4443886ff ("fix(lib/rmm_el3_ifc): add console name to checksum calculation") on TF-RMM updated the checksum calcualtion of the RMM manifest
fix(qemu): fix RMM manifest checksum calculation
Commit 71c4443886ff ("fix(lib/rmm_el3_ifc): add console name to checksum calculation") on TF-RMM updated the checksum calcualtion of the RMM manifest to include the console names.
Include console names in the QEMU manifest to remain compatible with RMM, just like commit aa99881d3011 ("fix(rme): add console name to checksum calculation") did for FVP.
Checksum calculation is done by adding together 64-bit values. Add a helper that does this.
Change-Id: Ica6cab628160593830270bef1acdeb475d1c0c36 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| 696ed168 | 03-Jan-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
fix(build): include platform mk earlier
Move platform.mk inclusion in top level Makefile to permit a platform specifying BRANCH_PROTECTION option.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.
fix(build): include platform mk earlier
Move platform.mk inclusion in top level Makefile to permit a platform specifying BRANCH_PROTECTION option.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com> Change-Id: I1f662f82cd949eedfdbb61b9f66de15c46fb3106
show more ...
|
| cc58f08f | 27-Dec-2024 |
Raymond Mao <raymond.mao@linaro.org> |
feat(qemu): hand off TPM event log via TL
If TRANSFER_LIST is enabled, hand off TPM event log via TL instead of DT; otherwise fallback to legacy way if TRANSFER_LIST is off or errors observed.
More
feat(qemu): hand off TPM event log via TL
If TRANSFER_LIST is enabled, hand off TPM event log via TL instead of DT; otherwise fallback to legacy way if TRANSFER_LIST is off or errors observed.
Moreover, for updating the TL from secure to non-secure memory before existing EL3, replace memcpy with function transfer_list_relocate() for more accuracy.
Change-Id: I1d6bcf573f91efe99380bc89195198a8583b1def Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| 7ad6775b | 27-Dec-2024 |
Raymond Mao <raymond.mao@linaro.org> |
fix(qemu): fix register convention in BL31 for qemu
The commit with Change-Id:Ie417e054a7a4c192024a2679419e99efeded1705 updated the register convention r1/x1 values but missing necessary changes in
fix(qemu): fix register convention in BL31 for qemu
The commit with Change-Id:Ie417e054a7a4c192024a2679419e99efeded1705 updated the register convention r1/x1 values but missing necessary changes in BL31. As a result, a system panic observed during setup for BL32 when TRANSFER_LIST is enabled due to unexpected arguments. This patch is to fix this issue for qemu.
Change-Id: I42e581c5026f0f66d3b114204b4dff167a9bc6ae Signed-off-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| acb09373 | 10-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
feat(qemu-sbsa): add support for RME on SBSA machine
Add the necessary foundation to support Arm's RME extension on the SBSA reference architecture.
Change-Id: If5a63ed0015cb33fcae367ff2cded811bbdc
feat(qemu-sbsa): add support for RME on SBSA machine
Add the necessary foundation to support Arm's RME extension on the SBSA reference architecture.
Change-Id: If5a63ed0015cb33fcae367ff2cded811bbdc1e54 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| fb4edc35 | 07-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
feat(qemu-sbsa): configure RMM manifest based on system RAM
The RMM manifest needs to reflect the amount of RAM available on the system. Since system RAM is based on user input and reflected in the
feat(qemu-sbsa): configure RMM manifest based on system RAM
The RMM manifest needs to reflect the amount of RAM available on the system. Since system RAM is based on user input and reflected in the device tree, get the information from there rather than using hard coded values.
Change-Id: I63f090c1c04d9addfcd7a349450735728fa88ed0 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| d079d65d | 16-Aug-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
feat(qemu-sbsa): configure GPT based on system RAM
The amount of memory supported by the SBSA platform is dynamic and dependent on user input. Since the configuration of the GPT needs to reflect th
feat(qemu-sbsa): configure GPT based on system RAM
The amount of memory supported by the SBSA platform is dynamic and dependent on user input. Since the configuration of the GPT needs to reflect the system memory, QEMU_PAS_NS0 needs to be set based on the information found in the device tree.
Change-Id: I5d1411ac00020b7b38a652ba2904c8a70fa64d18 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| 99bc6cf5 | 10-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
feat(qemu-sbsa): adjust DT memory start address when supporting RME
When RME is enabled on SBSA, the RMM is located at the start of the NS RAM and the device tree after it. This patch adjust the DT
feat(qemu-sbsa): adjust DT memory start address when supporting RME
When RME is enabled on SBSA, the RMM is located at the start of the NS RAM and the device tree after it. This patch adjust the DT memory start address so that anyone reading it has an accurate view of the system configuration.
Change-Id: I32ca63a78d68831faf2c65ad60a45c841b7cbada Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
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 ...
|
| 26da60e2 | 10-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
feat(qemu-sbsa): dissociate QEMU NS start address and NS_DRAM0_BASE
When RME is enabled the RMM is placed at the bottom of the NS RAM, meaning that NS_DRAM0_BASE has to be located after that.
This
feat(qemu-sbsa): dissociate QEMU NS start address and NS_DRAM0_BASE
When RME is enabled the RMM is placed at the bottom of the NS RAM, meaning that NS_DRAM0_BASE has to be located after that.
This patch disscociates the base of the NS RAM as defined by QEMU by introducing a new define, PLAT_QEMU_DRAM0_BASE. An offset can be added to that new define when the software's view of the base memory need to differ from QEMU.
No change in functionality.
Change-Id: I887f9993d5a61896352cfff17e0d92e2c2b9030a Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| 122dbc2c | 11-Apr-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
feat(qemu-sbsa): increase maximum FIP size
Following what was done for:
f465ac221001 ("fix(qemu): increase max FIP size")
increase the size of the FIP image to take up the remaining space in FLASH
feat(qemu-sbsa): increase maximum FIP size
Following what was done for:
f465ac221001 ("fix(qemu): increase max FIP size")
increase the size of the FIP image to take up the remaining space in FLASH0. That way the RMM image can also be added to the FIP.
Change-Id: I89bba36f751468e99241f1c20b51c48fe06d8229 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| ecadac7c | 17-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
refactor(qemu-sbsa): move all DT related functions to sbsa_platform.c
Move all DT related functions to file sbsa_platform_dt.c so that clients other than SIP SVC can use the funtionality. At the sa
refactor(qemu-sbsa): move all DT related functions to sbsa_platform.c
Move all DT related functions to file sbsa_platform_dt.c so that clients other than SIP SVC can use the funtionality. At the same time, make all functions that don't need outside visibility static.
No change in functionality.
Change-Id: I9bce730c8f9e2b827937466f4432ecfa74c35675 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| d564e084 | 27-Sep-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
refactor(qemu-sbsa): create accessor functions for platform info
Creating accessor functions to access information held by struct qemu_platform_info. That way the code that is relevant to fetching i
refactor(qemu-sbsa): create accessor functions for platform info
Creating accessor functions to access information held by struct qemu_platform_info. That way the code that is relevant to fetching information from the device tree can be taken out of sbsa_sip_svc.c and placed in a file where other client can use the information it provides.
No change in functionality.
Change-Id: I989952ee6d15e1436549002dd7c7767c745ea297 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| 6d59413b | 27-Sep-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
refactor(qemu-sbsa): rename function sip_svc_init() to something more meaningful
There is no relation between the name of function sip_svc_init() and what it does. As such rename it to something mo
refactor(qemu-sbsa): rename function sip_svc_init() to something more meaningful
There is no relation between the name of function sip_svc_init() and what it does. As such rename it to something more appropriate and move it to a header that make sense.
No change in functionality.
Change-Id: I7bd78b1fe70e2930c395ef0a097bfad3b1e55d3a Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| b386c6e6 | 26-Sep-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
refactor(qemu-sbsa): move DT related structures to their own header
Move structure declaration related to the DT to their own header. That way they can be reused by other files. At the same time,
refactor(qemu-sbsa): move DT related structures to their own header
Move structure declaration related to the DT to their own header. That way they can be reused by other files. At the same time, typedefs are removed and structure names prepended with "platform_" to avoid clashing with other structure declarations available in the system.
No change in functionality.
Change-Id: If67a141cc7441b0636af774d7edfe51cf8034a11 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| 5ad3c97a | 17-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
refactor(qemu-sbsa): rename struct dynamic_platform_info
Rename struct dynamic_platform_info to qemu_platform_info and properly declare a variable name "dynamic_platform_info". That way structures
refactor(qemu-sbsa): rename struct dynamic_platform_info
Rename struct dynamic_platform_info to qemu_platform_info and properly declare a variable name "dynamic_platform_info". That way structures related to the device tree can be moved out of sbsa_sip_svc.c.
No change in functionality.
Change-Id: I1af39047af96ae02f3b8eecda6cb67508f14d37a Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| 7b015e12 | 03-Jun-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
refactor(qemu): make L0GPT size configurable
Add a new parameter to make the size of the L0GPT configurable based on the amount of memory available on a platform. That way platform with a wider phys
refactor(qemu): make L0GPT size configurable
Add a new parameter to make the size of the L0GPT configurable based on the amount of memory available on a platform. That way platform with a wider physical address range can be supported.
No change in functionality.
Change-Id: I5b7b4968636d61929ad6ebdc05c389291cf510b1 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 ...
|
| 33ac6f99 | 31-Oct-2024 |
Mathieu Poirier <mathieu.poirier@linaro.org> |
fix(qemu-sbsa): fix compilation error when accessing DT functions
When building SBSA, using DT functions from fdt_wrappers.c produces a linker error. Adding:
BL2_SOURCES += ${FDT_WRAPPERS_SOURCES}
fix(qemu-sbsa): fix compilation error when accessing DT functions
When building SBSA, using DT functions from fdt_wrappers.c produces a linker error. Adding:
BL2_SOURCES += ${FDT_WRAPPERS_SOURCES}
fixes the problem. Since the same inclusion would be present in both qemu/platform.mk and qemu_sbsa/platform.mk, do the changes in qemu/common/common.mk.
Change-Id: I775b06c1741f6618813c5e1d2c64cdc1888d8519 Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
show more ...
|
| 78a91582 | 01-Nov-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
feat(qemu): increase size of bl31
Increase BL31 size to have room to spare for debugging with EL3 SPMC.
Change-Id: I6e260a284ed2aa5d515b45be90ee2cdeded9c6a9 Signed-off-by: Jens Wiklander <jens.wikl
feat(qemu): increase size of bl31
Increase BL31 size to have room to spare for debugging with EL3 SPMC.
Change-Id: I6e260a284ed2aa5d515b45be90ee2cdeded9c6a9 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| eee52dac | 01-Nov-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
fix(qemu): fix EL3-SPMC data store alignment
With PLAT=qemu, the EL3-SPMC data store is provided as an array of uint8_t and implicitly with a 1 byte alignment. But the way the data store is used it
fix(qemu): fix EL3-SPMC data store alignment
With PLAT=qemu, the EL3-SPMC data store is provided as an array of uint8_t and implicitly with a 1 byte alignment. But the way the data store is used it must have a larger alignment, so change to double-word alignment for maximum compatibility.
Change-Id: I4e9b901889078fee4b87f8333257bdc076386572 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1b1b40a9 | 31-Oct-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
fix(qemu): fix build error with spmd
Currently when building with PLAT=qemu SPD=spmd SPMC_AT_EL3=1 SPMD_SPM_AT_SEL2=0, there is a build error since plat_spmd_handle_group0_interrupt() is called irre
fix(qemu): fix build error with spmd
Currently when building with PLAT=qemu SPD=spmd SPMC_AT_EL3=1 SPMD_SPM_AT_SEL2=0, there is a build error since plat_spmd_handle_group0_interrupt() is called irrespective of SPMC_AT_EL3. Fix this by making plat_spmd_handle_group0_interrupt() available if SPD_spmd is defined only.
Change-Id: If5f650d2bd3675cbb4b509e9e3743d3865d7c812 Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|