Hi everyone!
I see definitions of BOOT_TFM_SHARED_DATA_* in platform\ext\target\arm\musca_b1\sse_200\partition\region_defs.h but I don't see any real usage of that memory. I have found TF-M dochttps://tf-m-user-guide.trustedfirmware.org/docs/technical_references/design_docs/tfm_fwu_service.html?#additional-shared-data-between-bl2-and-spe that describe usage of shared memory for Firmware Update Service but once again I was not able to find any code that uses that. I would appreciate if someone could point to docs on this or to code that actually uses shared data between BL2 and TF-M SPE.
Best regards,
Bohdan Hunko
Cypress Semiconductor Ukraine Engineer CSUKR CSS ICW SW FW Mobile: +38099 50 19 714 Bohdan.Hunko@infineon.commailto:Bohdan.Hunko@infineon.com
Hi Bohdan,
Assume you are aware that the CODE sharing topic was discussed in Tech forum on Oct 29, 2020. You can find presentation and the records here: https://www.trustedfirmware.org/meetings/tf-m-technical-forum/
Hope that helps, Anton
From: TF-M tf-m-bounces@lists.trustedfirmware.org On Behalf Of Bohdan Hunko via TF-M Sent: Tuesday, September 7, 2021 5:27 PM To: tf-m@lists.trustedfirmware.org Subject: [TF-M] BOOT_TFM_SHARED_DATA_* usage in arm/musca_b1
Hi everyone!
I see definitions of BOOT_TFM_SHARED_DATA_* in platform\ext\target\arm\musca_b1\sse_200\partition\region_defs.h but I don't see any real usage of that memory. I have found TF-M dochttps://tf-m-user-guide.trustedfirmware.org/docs/technical_references/design_docs/tfm_fwu_service.html?#additional-shared-data-between-bl2-and-spe that describe usage of shared memory for Firmware Update Service but once again I was not able to find any code that uses that. I would appreciate if someone could point to docs on this or to code that actually uses shared data between BL2 and TF-M SPE.
Best regards,
Bohdan Hunko
Cypress Semiconductor Ukraine Engineer CSUKR CSS ICW SW FW Mobile: +38099 50 19 714 Bohdan.Hunko@infineon.commailto:Bohdan.Hunko@infineon.com
Hi Bohdan,
@Sherry Zhang is the author of FWU service. She can provide the implementation details.
Just some general information here. This shared boot area is used by boot loader to share some measured/boot data with TF-M services, such as Initial Attestation and FWU.
Regarding FWU, if I understand correctly, FWU leaves the actual shared data fetch and parse work to a bootloader specific "driver" under FWU service. For example, FWU provides a reference implementation of MCUBoot code to access this shared data and acquire image TLV. Please see `secure_fw/partitions/firmware_update/bootloader/mcuboot`
Sherry, please correct me if anything above is inaccurate.
Best regards, Hu Ziji
From: TF-M tf-m-bounces@lists.trustedfirmware.org On Behalf Of Anton Komlev via TF-M Sent: Wednesday, September 8, 2021 1:21 AM To: tf-m@lists.trustedfirmware.org Cc: nd nd@arm.com Subject: Re: [TF-M] BOOT_TFM_SHARED_DATA_* usage in arm/musca_b1
Hi Bohdan,
Assume you are aware that the CODE sharing topic was discussed in Tech forum on Oct 29, 2020. You can find presentation and the records here: https://www.trustedfirmware.org/meetings/tf-m-technical-forum/
Hope that helps, Anton
From: TF-M <tf-m-bounces@lists.trustedfirmware.orgmailto:tf-m-bounces@lists.trustedfirmware.org> On Behalf Of Bohdan Hunko via TF-M Sent: Tuesday, September 7, 2021 5:27 PM To: tf-m@lists.trustedfirmware.orgmailto:tf-m@lists.trustedfirmware.org Subject: [TF-M] BOOT_TFM_SHARED_DATA_* usage in arm/musca_b1
Hi everyone!
I see definitions of BOOT_TFM_SHARED_DATA_* in platform\ext\target\arm\musca_b1\sse_200\partition\region_defs.h but I don't see any real usage of that memory. I have found TF-M dochttps://tf-m-user-guide.trustedfirmware.org/docs/technical_references/design_docs/tfm_fwu_service.html?#additional-shared-data-between-bl2-and-spe that describe usage of shared memory for Firmware Update Service but once again I was not able to find any code that uses that. I would appreciate if someone could point to docs on this or to code that actually uses shared data between BL2 and TF-M SPE.
Best regards,
Bohdan Hunko
Cypress Semiconductor Ukraine Engineer CSUKR CSS ICW SW FW Mobile: +38099 50 19 714 Bohdan.Hunko@infineon.commailto:Bohdan.Hunko@infineon.com
Hi Bohdan,
The BOOT_TFM_SHARED_DATA_ region which ranges from BOOT_TFM_SHARED_DATA_BASE to BOOT_TFM_SHARED_DATA_LIMIT is used for sharing the "information" between BL2 and the SPE(TFM). At the end of the booting up of MCUboot, it writes down the image information to that region. See the code herehttps://github.com/mcu-tools/mcuboot/blob/TF-Mv1.4-integ/boot/bootutil/src/loader.c#L137 and herehttps://github.com/mcu-tools/mcuboot/blob/TF-Mv1.4-integ/boot/bootutil/src/loader.c#L147. The information includes the image version and the boot record which includes the image hash. When MCUboot handles over to TFM and TFM start running, it reads out the image information in that region. For example, at the initialization of the Firmware Update partition, it reads out the image version information which is used by this partition. See the code herehttps://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/tree/secure_fw/partitions/firmware_update/bootloader/mcuboot/tfm_mcuboot_fwu.c#n180.
Regards, Sherry Zhang
From: David Hu David.Hu@arm.com Sent: Wednesday, September 8, 2021 8:36 AM To: Anton Komlev Anton.Komlev@arm.com; tf-m@lists.trustedfirmware.org; Sherry Zhang Sherry.Zhang2@arm.com Cc: nd nd@arm.com Subject: RE: BOOT_TFM_SHARED_DATA_* usage in arm/musca_b1
Hi Bohdan,
@Sherry Zhang is the author of FWU service. She can provide the implementation details.
Just some general information here. This shared boot area is used by boot loader to share some measured/boot data with TF-M services, such as Initial Attestation and FWU.
Regarding FWU, if I understand correctly, FWU leaves the actual shared data fetch and parse work to a bootloader specific "driver" under FWU service. For example, FWU provides a reference implementation of MCUBoot code to access this shared data and acquire image TLV. Please see `secure_fw/partitions/firmware_update/bootloader/mcuboot`
Sherry, please correct me if anything above is inaccurate.
Best regards, Hu Ziji
From: TF-M <tf-m-bounces@lists.trustedfirmware.orgmailto:tf-m-bounces@lists.trustedfirmware.org> On Behalf Of Anton Komlev via TF-M Sent: Wednesday, September 8, 2021 1:21 AM To: tf-m@lists.trustedfirmware.orgmailto:tf-m@lists.trustedfirmware.org Cc: nd <nd@arm.commailto:nd@arm.com> Subject: Re: [TF-M] BOOT_TFM_SHARED_DATA_* usage in arm/musca_b1
Hi Bohdan,
Assume you are aware that the CODE sharing topic was discussed in Tech forum on Oct 29, 2020. You can find presentation and the records here: https://www.trustedfirmware.org/meetings/tf-m-technical-forum/
Hope that helps, Anton
From: TF-M <tf-m-bounces@lists.trustedfirmware.orgmailto:tf-m-bounces@lists.trustedfirmware.org> On Behalf Of Bohdan Hunko via TF-M Sent: Tuesday, September 7, 2021 5:27 PM To: tf-m@lists.trustedfirmware.orgmailto:tf-m@lists.trustedfirmware.org Subject: [TF-M] BOOT_TFM_SHARED_DATA_* usage in arm/musca_b1
Hi everyone!
I see definitions of BOOT_TFM_SHARED_DATA_* in platform\ext\target\arm\musca_b1\sse_200\partition\region_defs.h but I don't see any real usage of that memory. I have found TF-M dochttps://tf-m-user-guide.trustedfirmware.org/docs/technical_references/design_docs/tfm_fwu_service.html?#additional-shared-data-between-bl2-and-spe that describe usage of shared memory for Firmware Update Service but once again I was not able to find any code that uses that. I would appreciate if someone could point to docs on this or to code that actually uses shared data between BL2 and TF-M SPE.
Best regards,
Bohdan Hunko
Cypress Semiconductor Ukraine Engineer CSUKR CSS ICW SW FW Mobile: +38099 50 19 714 Bohdan.Hunko@infineon.commailto:Bohdan.Hunko@infineon.com
tf-m@lists.trustedfirmware.org