Hi Ken,

Nordic brought this to my attention last week, but I think part of the problem here is that the right people aren't being made aware when there are breaking changes to platforms or APIs that require platfom updates. Changes to the build platform have also caused issues when updating, if we weren't aware of the changes until the last minute.

Ideally, any breaking platform or build system change should tag appropriate people from Nordic, NXP, IAR, Linaro, etc., since everyone has limited bandwidth can can't monitor every change request to TF-M.

Kevin Townsend

On Fri, 24 Sept 2021 at 06:07, Ken Liu via TF-M <tf-m@lists.trustedfirmware.org> wrote:

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

--
TF-M mailing list
TF-M@lists.trustedfirmware.org
https://lists.trustedfirmware.org/mailman/listinfo/tf-m

--
TF-M mailing list
TF-M@lists.trustedfirmware.org
https://lists.trustedfirmware.org/mailman/listinfo/tf-m