Hi,

 

Thanks Jamie for the suggestion of building all platforms in CI. Let’s consider it, but in a way of not blocking the main build by a broken platform.

Any further suggestion on the config: Debug/Release ? Profile? Toolchain? Other build options? The number permutations is huge so need to make choices.

 

Thanks, Xinyu for the CI jobs good summary.

Looks like we are missing such information in the docs.

 

Thanks and regards,

Anton

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org> On Behalf Of Jamie Mccrae via TF-M
Sent: Tuesday, September 28, 2021 8:34 AM
To: Chris.Brand@infineon.com; tf-m@lists.trustedfirmware.org; Xinyu Zhang <Xinyu.Zhang@arm.com>
Cc: nd <nd@arm.com>
Subject: Re: [TF-M] [IMPORTANT: PLATFORM BUILD ISSUE] [REQUIRE PLATFORM ACK] RE: [Request Platform Support] Abstracted MMIO HAL

 

Hi,

Is there any reason that all supported platforms can't be built as part of CI? If someone is pushing a change that breaks a platform, it's a bit late finding that out weeks later.

Thanks,

Jamie

 

On Tue, 2021-09-28 at 02:47 +0000, Xinyu Zhang via TF-M wrote:

EXTERNAL EMAIL: Be careful with attachments and links.

Hi Chris,

 

Hope the following info could help.

  1. Platforms built in  CI

Per-patch Job (triggered from Gerrit patch by Allow CI): AN519, AN521, MUSCA_B1, MUSCA_S1, DIPHDA, PSOC64, STM321562

Nightly Job (triggered everyday based on the latest TF-M codebase): AN519, AN521, AN524, MUSCA_B1, MUSCA_S1, DIPHDA, PSOC64, STM321562

  1. Platforms run in CI

Per-patch Job:AN519 (FVP), AN521 (FVP), STM321562 (physical board)

Nightly Job: AN519 (FVP), AN521 (FVP, QEMU & physical board), MUSCA_B1 (physical board), STM321562 (physical board)

  1. Health of TF-M codebase

Nightly job could tell us about the daily health of TF-M codebase.

  1. Configs covered in CI

Build configs are listed in build_links.html in artifacts.

Test configs and results are listed in the test_summary.html in artifacts.

Per-patch artifacts: https://ci.trustedfirmware.org/view/TF-M/job/tf-m-build-and-test/lastSuccessfulBuild/artifact/

Nightly artifacts: https://ci.trustedfirmware.org/view/TF-M/job/tf-m-nightly/lastSuccessfulBuild/artifact/

 

Best Regards,

Xinyu

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org> On Behalf Of chris.brand--- via TF-M
Sent: Tuesday, September 28, 2021 12:23 AM
To: Anton Komlev <Anton.Komlev@arm.com>; tf-m@lists.trustedfirmware.org
Subject: Re: [TF-M] [IMPORTANT: PLATFORM BUILD ISSUE] [REQUIRE PLATFORM ACK] RE: [Request Platform Support] Abstracted MMIO HAL

 

I’m trying to see what platforms get built in the CI, what platforms get run, and basically how I can tell how healthy the TFM codebase is. The link Anton provided tells me when each CI job last succeeded and failed, but it only lists a single “build-and-test” job, which seems to cover multiple platforms – is there a simple list of what platform builds the CI does, and which are actually tested? This is probably just my lack of familiarity with Jenkins…

 

Thanks,

 

Chris

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org>On Behalf Of Anton Komlev via TF-M
Sent: Sunday, September 26, 2021 4:58 AM
To: tf-m@lists.trustedfirmware.org
Cc: nd <nd@arm.com>
Subject: Re: [TF-M] [IMPORTANT: PLATFORM BUILD ISSUE] [REQUIRE PLATFORM ACK] RE: [Request Platform Support] Abstracted MMIO HAL

 

Caution: This e-mail originated outside Infineon Technologies. Do not click on links or open attachments unless you validate it is safe.

 

Hello,

 

Suppose Chris asked for a build output and artifacts, generated by OpenCI here:  https://ci.trustedfirmware.org/view/TF-M/

 

Hope that helps,

Anton

 

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org>On Behalf Of Summer Qin via TF-M
Sent: Sunday, September 26, 2021 3:12 AM
To: Chris.Brand@infineon.com
Cc: nd <nd@arm.com>; tf-m@lists.trustedfirmware.org
Subject: Re: [TF-M] [IMPORTANT: PLATFORM BUILD ISSUE] [REQUIRE PLATFORM ACK] RE: [Request Platform Support] Abstracted MMIO HAL

 

Hi Chris,

 

You can see the platform build command here. Some platform introduces their special build command in their document. For arm platforms, you can refer to this page.

 

Best Regards,

Summer

 


From: TF-M <tf-m-bounces@lists.trustedfirmware.org> on behalf of chris.brand--- via TF-M <tf-m@lists.trustedfirmware.org>
Sent: Friday, September 24, 2021 11:21 PM
To: Ken Liu <
Ken.Liu@arm.com>;tf-m@lists.trustedfirmware.org <tf-m@lists.trustedfirmware.org>
Cc: nd <
nd@arm.com>
Subject: Re: [TF-M] [IMPORTANT: PLATFORM BUILD ISSUE] [REQUIRE PLATFORM ACK] RE: [Request Platform Support] Abstracted MMIO HAL

 

Where can we see the state of the platform builds? Is that documented somewhere?

 

Thanks,

 

Chris

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org>On Behalf Of Ken Liu via TF-M
Sent: Thursday, September 23, 2021 9:07 PM
To: tf-m@lists.trustedfirmware.org
Cc: nd <nd@arm.com>
Subject: [TF-M] [IMPORTANT: PLATFORM BUILD ISSUE] [REQUIRE PLATFORM ACK] RE: [Request Platform Support] Abstracted MMIO HAL

 

Caution: This e-mail originated outside Infineon Technologies. Do not click on links or open attachments unless you validate it is safe.

 

Hi everyone,

 

Being notified by some platform vendors that platforms build breaks in MASTER branch (releases are working well and not affected) due to not integrate with the latest HAL change:

The reference link: https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/11036

 

And these platforms reported build break:
Nordic

NXP

 

Because of bandwidth issues, we can’t maintain all the platform sources, hence require upstreamed platform owners to take a look at their platform builds and runs ok, and integrate with the updated HAL if it does fail.

 

Please reply to this thread if there are problems and I have created one ticket for tracking this if replying in a thread is more convenient for you:

https://developer.trustedfirmware.org/T967

 

Sorry for the inconvenience made, I should warn all the platform owners in earlier mails – I will validate the build again later in Oct to see if there are still platform breaks and contact the platform code owners to discuss plans.

 

Thanks.

 

/Ken

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org>On Behalf Of Ken Liu via TF-M
Sent: Friday, September 17, 2021 3:06 PM
To: tf-m@lists.trustedfirmware.org
Cc: nd <nd@arm.com>
Subject: Re: [TF-M] [Request Platform Support] Abstracted MMIO HAL

 

The MMIO binding patch set are all merged, assume this will simplify the SPM integration much.

 

Follow up fixups will be created if missing comments reported.

 

Anyway, all platform patches are not blocked anymore, feel free to merge the reviewed and CI passed patches.

 

Thanks.

 

/Ken

 

 

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org>On Behalf Of Ken Liu via TF-M
Sent: Friday, September 3, 2021 1:27 PM
To: tf-m@lists.trustedfirmware.org
Cc: nd <nd@arm.com>
Subject: Re: [TF-M] [Request Platform Support] Abstracted MMIO HAL

 

Hi,

 

Another reminder to mention the MMIO binding patches. Several platforms are changed to pass the CI, please platform owners to review the patches, such as:

 

PSOC: https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/11187

STM: https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/11186

 

Some of other platform patches are created as well.

 

This is a significant change for platform which helps much easier integration. After the first series of patches, the problems not covered by the CI need to be fixed adhoc.

 

Please read the tech forum topic on 2nd Sep for more details or you can just scroll down to check the previous content.

 

Thanks.

 

/Ken

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org>On Behalf Of Ken Liu via TF-M
Sent: Monday, August 30, 2021 5:18 PM
To: tf-m@lists.trustedfirmware.org
Cc: nd <nd@arm.com>
Subject: Re: [TF-M] [Request Platform Support] Abstracted MMIO HAL

 

The patchset has updated and now CI passed okay:

 

https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/11187

 

BR

 

/Ken

 

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org>On Behalf Of Ken Liu via TF-M
Sent: Thursday, August 19, 2021 2:16 PM
To: tf-m@lists.trustedfirmware.org
Cc: nd <nd@arm.com>
Subject: [TF-M] [Request Platform Support] Abstracted MMIO HAL

 

Hi everyone,

 

The existing HAL interface for isolation hardware is not unified, we have to call several  interfaces to setup isolation boundaries.

 

Hence, a deeper abstracted interface are provided. Here are the details:

 

- It assumes the hardware resources usages are decided by system designer. Hence there are couple of listed hardware data in the platform code, now most of them are defined in C sources.

- When a partition is referencing peripheral (represented as MMIO in FFM), the manifest tooling would link specified resources with the data defined in platform. Now it is using a naming pattern, to let the partition found the resources defined above (now it uses linker to do this).

- A HAL API 'tfm_hal_bind_partition' is called when a partition runtime structure is created. This API tells partition info to platform, let platform return an encoded 'p_boundaries' for SPM binding partition with platform.

- When boundaries related operations happen in future, SPM would delivery this 'p_boundaries' back to platform, let platform perform boundary setup and check, such as boundary switch or memory check. SPM won't care about the hardware specific settings any more, such as privilged, non-secure/secure and how many MMIO the partition claimed, even the MPU/MPC/PPC things.

- Resources defined in platform sources but not referenced would be stripped by toolchain flag. Resources not defined but referenced by partition would generate a linker error, as symbol can't be resolved.

 

We created a patch to showcase the usage on AN521:

https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/11036

 

This patch applies a simple encoding for all isolation levels. You can check how the p_boundaries is used under different isolation levels. Platform can use other encoding mechanism if applicable.

 

Now come to the request:

Please review this patch, and port similar HAL API into your platform. We are maintaining the default platforms such as AN521, AN519 and MUSCA_B1, but it need so much effort on port to all the platforms.

 

Current CI cannot pass on this patch (as it contains modification for one platform only), our first goal is to let CI pass build on all checked platforms, and then please platform owner ensures it works on your platform.

 

Any feedbacks are welcome.

Thank you very much!

 

/Ken

 

THIS MESSAGE, ANY ATTACHMENT(S), AND THE INFORMATION CONTAINED HEREIN MAY BE PROPRIETARY TO LAIRD CONNECTIVITY, INC. AND/OR ANOTHER PARTY, AND MAY FURTHER BE INTENDED TO BE KEPT CONFIDENTIAL. IF YOU ARE NOT THE INTENDED RECIPIENT, PLEASE DELETE THE EMAIL AND ANY ATTACHMENTS, AND IMMEDIATELY NOTIFY THE SENDER BY RETURN EMAIL. THIS MESSAGE AND ITS CONTENTS ARE THE PROPERTY OF LAIRD CONNECTIVITY, INC. AND MAY NOT BE REPRODUCED OR USED WITHOUT THE EXPRESS WRITTEN CONSENT OF LAIRD CONNECTIVITY, INC.