Page MenuHomePhabricator

Trusted Firmware AProject
ActivePublic

Recent Activity

Wed, Jun 22

soby-mathew added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hi Okash,
Olivier is on holiday and once he is back next week, we can arrange something to discuss.

Wed, Jun 22, 9:02 AM · Trusted Firmware A

Mon, Jun 20

okash added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Thanks. It seems like we are converging. Would it make sense to set up a meeting to thrash out details? Any time this week will be preferable. Let me know what works for you. Arve and Peter are in Pacific time zone. Rest of us are based in UK I guess?

Mon, Jun 20, 5:44 PM · Trusted Firmware A

Mon, Jun 13

soby-mathew added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

That is not what I meant. The NS SVE/FP access trap is needed to avoid saving and restoring the state when the SVE/FP registers are actively used by the secure world.

Mon, Jun 13, 10:27 AM · Trusted Firmware A

Fri, Jun 10

arve-android added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hi Arve

S-EL2 cannot lazily save and restore the non secure register state though since it cannot trap accesses by the normal world. I have not thought much about how to optimize a lazy save and restore mechanism where a lower exception level also uses lazy save and restore, but I don't think the secure world is fundamentally different from the normal world here.

S-EL2 does not need to trap access by Normal world to do a lazy save and restore. The sequence that I have in mind would be something like below:

  1. EL3 switches to the S-EL2 on receipt of a FF-A call from Non Secure. SPM schedules the right S-EL1 partition with the SVE and FP trap enabled. Note that the NS FPU/SVE is still present in the registers at this point in time.
  2. S-EL1 SP now tries to access FP/SVE and takes a trap to SPM in S-EL2. SPM now saves the NS FPU/SVE context and restores the S-EL1 SP FP/SVE context and disables the trap. It reenters the S-EL1 partition.
  3. The partition is now able to use SVE/FP and completes its work. Returns back to SPM.
  4. SPM now saves the SP FP/SVE context and restores the NS SVE/FP context. Return back to NS caller via EL3.

As can be seen, The SPM does not need to trap NS SVE/FP accesses.

That is not what I meant. The NS SVE/FP access trap is needed to avoid saving and restoring the state when the SVE/FP registers are actively used by the secure world, but not by the normal world. In the sequence you describe the lazy save and restore is only lazy when the secure world does not use the SVE/FP registers.

Fri, Jun 10, 9:43 PM · Trusted Firmware A
odeprez added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hi,

on systems that don't support S-EL2, SPMC functionality mostly, if not all, resides in EL3

This is an implementation choice. E.g. OP-TEE implements an S-EL1 SPMC without needing SPMC logic at EL3 (beyond the SPMD as FF-A relayer).
If you consider the EL3 FF-A SPMC just recently added, yes most of the SPMC logic resides at EL3.

Fri, Jun 10, 6:33 AM · Trusted Firmware A

Thu, Jun 9

okash added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hey Soby and Olivier, on systems that don't support S-EL2, SPMC functionality mostly, if not all, resides in EL3 right? Going by that convention, would it make sense to have SVE save and restore in EL3? We can make it part of SPMC code in EL3. For additional space we can make use of DDR carveout as Soby mentioned above. Moreover, if we make that context save and restore part enablement configurable at compile time, then platform can choose whether they want the functionality. Would it then be acceptable?

Thu, Jun 9, 10:25 PM · Trusted Firmware A

May 24 2022

odeprez added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hi,
Today SEL2 unconditionally saves/restores FP/SIMD/SVE NS context on any SEL2 entry/exit.
I believe it could be optimized the way Soby is describing it by bullets 1,2,3,4.
It is worth noting that when SEL2 is not present (e.g. using the EL3 FF-A SPMC and a SEL1 TOS), the same lazy NS and TA contexts save/restore mechanism can be used by a SEL1 TOS and EL3 doesn't have to bother.

May 24 2022, 8:53 AM · Trusted Firmware A
soby-mathew added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hi Arve

May 24 2022, 8:39 AM · Trusted Firmware A

May 23 2022

arve-android added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

When you have a S-EL2 based system with possibly multiple S-EL1 partitions, it would be complex to implement a scheme where in EL3 will restore the right S-EL1 context on taking a trap during lazy save mechanism. In such systems, it is easier for S-EL2 to implement such a scheme since it is the manager for S-EL1 contexts.

S-EL2 cannot lazily save and restore the non secure register state though since it cannot trap accesses by the normal world. I have not thought much about how to optimize a lazy save and restore mechanism where a lower exception level also uses lazy save and restore, but I don't think the secure world is fundamentally different from the normal world here. You can have lazy save and restore in NS-EL1, NS-EL2, S-EL1, S-EL2 and EL3. I think it is worthwhile to see how this can be optimized to avoid saving and restoring register states that will not be used, but I would like to see a solution that does not leak data between execution environments that are supposed to be isolated.

May 23 2022, 8:05 PM · Trusted Firmware A

May 20 2022

bipinravi-arm added a comment to T991: Compiling atf for iMX8 using gcc-12..1 fails.

TF-A works on a 6 month release cadence and we typically update the gcc toolchain to the latest released version along with the TF-A release. gcc versions we use are downloaded from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/downloads.
Currently we don't update the toolchain to any versions newer than the one released here. We used the version 10.3-2021.07 with TF-A v2.6 release and will be updating to version 11.2-2022.02 with our upcoming v2.7 release which is planned for the end of May, 2022.

May 20 2022, 10:11 PM · Trusted Firmware A, TF-A Bug
soby-mathew added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

When you have a S-EL2 based system with possibly multiple S-EL1 partitions, it would be complex to implement a scheme where in EL3 will restore the right S-EL1 context on taking a trap during lazy save mechanism. In such systems, it is easier for S-EL2 to implement such a scheme since it is the manager for S-EL1 contexts.

May 20 2022, 7:10 PM · Trusted Firmware A
okash added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hey Olivier,

May 20 2022, 6:32 PM · Trusted Firmware A
madhukar-Arm added a comment to T991: Compiling atf for iMX8 using gcc-12..1 fails.

A similar issue was reported in the ticket https://developer.trustedfirmware.org/T984
Can you confirm if this issue is due to a bug in the toolchain itself?

May 20 2022, 4:33 PM · Trusted Firmware A, TF-A Bug

May 11 2022

heitbaum added a comment to T991: Compiling atf for iMX8 using gcc-12..1 fails.

Reported bug in gcc 12.1.0

May 11 2022, 11:54 AM · Trusted Firmware A, TF-A Bug
Yann-lms added a comment to T984: GCC12 build problem - PLAT=a80x0_mcbin.

The issue is related to this GCC ticket:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99578
Which is corrected in the official GCC 12.1 version.

May 11 2022, 8:52 AM · TF-A Bug, Trusted Firmware A

May 7 2022

heitbaum added projects to T984: GCC12 build problem - PLAT=a80x0_mcbin: Trusted Firmware A, TF-A Bug.
May 7 2022, 1:28 PM · TF-A Bug, Trusted Firmware A
heitbaum added a project to T991: Compiling atf for iMX8 using gcc-12..1 fails: Trusted Firmware A.
May 7 2022, 1:27 PM · Trusted Firmware A, TF-A Bug

Apr 27 2022

odeprez added a comment to T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.

Hi Peter,
So far this has been a deliberate design choice to avoid saving/restoring SVE state from EL3 mainly for BL31 footprint reasons (and performance if unconditionally done on each and every world switch). The vector register file ranges from 2KB to 8KB with 8 cores, and linearly scales to as many cores in the system (which can be hundreds in a server chipset). Apart from specific cases under discussion (SPM-MM or EL3 FF-A SPM), it is preferable to do this at lower EL e.g. a TOS at SEL1 (or Hafnium at SEL2). Do you have specific reasons why it cannot be done at lower EL?
You may also want to take a look at those options: ENABLE_SVE_FOR_NS and ENABLE_SVE_FOR_SWD
https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/tree/docs/getting_started/build-options.rst#n409
Regards,
Olivier.

Apr 27 2022, 7:22 AM · Trusted Firmware A

Apr 26 2022

pcc created T989: Support SVE in non-secure world with CTX_INCLUDE_FPREGS=1.
Apr 26 2022, 11:09 PM · Trusted Firmware A

Apr 20 2022

odeprez updated the task description for T987: TF-A to permit bundling more than 8 secure partitions.
Apr 20 2022, 6:58 AM · Trusted Firmware A
odeprez updated the task description for T987: TF-A to permit bundling more than 8 secure partitions.
Apr 20 2022, 6:57 AM · Trusted Firmware A
odeprez created T987: TF-A to permit bundling more than 8 secure partitions.
Apr 20 2022, 6:55 AM · Trusted Firmware A

Mar 31 2022

Yann-lms closed T661: BL32/SP_min cannot use arg3 from BL2 in AARCH32 as Resolved.
Mar 31 2022, 3:58 PM · Trusted Firmware A, TF-A Bug

Mar 28 2022

soby-mathew added a comment to T986: workaround for CVE-2022-23960.

Hi Yuezhiran,
We are following this up internally. Could you please let us know what revision of Helios you have and whether you run linux? (Linux doesn't work around any Helios errata currently)

Mar 28 2022, 2:32 PM · Trusted Firmware A

Mar 21 2022

joannafarley-arm added a comment to T986: workaround for CVE-2022-23960.

As I understand it from the white paper (v1.6) from developer.arm.com there is research ongoing for the mitigation sequence for the Cortex- A65. Once known I believe TF-A reference mitigation patches will be developed.

Mar 21 2022, 4:49 PM · Trusted Firmware A
yuezhiran added a comment to T986: workaround for CVE-2022-23960.

I notice that relevant patches have been merged into the mainline branch except A65. will it be uploaded recently ?

Mar 21 2022, 10:02 AM · Trusted Firmware A
yuezhiran closed T982: get psci states without check in fuinc ‘’psci_do_state_coordination‘’ as Resolved.
Mar 21 2022, 9:50 AM · Trusted Firmware A
joannafarley-arm closed T986: workaround for CVE-2022-23960 as Resolved.
Mar 21 2022, 8:53 AM · Trusted Firmware A
joannafarley-arm added a comment to T986: workaround for CVE-2022-23960.

Reference implementations of mitigations in TF-A for vulnerabilities in various CPU's were initially made available for public review in Gerrit. These have now after the opportunity for feedback been merged into the mainline branch.

Mar 21 2022, 8:30 AM · Trusted Firmware A
yuezhiran created T986: workaround for CVE-2022-23960.
Mar 21 2022, 4:12 AM · Trusted Firmware A

Feb 16 2022

sieumunt added a member for Trusted Firmware A: sieumunt.
Feb 16 2022, 9:24 AM

Feb 14 2022

SamuelMila added a comment to T762: RK3399_BAUDRATE default value.
Feb 14 2022, 6:58 PM · Trusted Firmware A, TF-A Bug

Jan 17 2022

CJKay added a comment to T983: BL2 Image Load.

Hi @yuezhiran, I believe it's valid for this function to return 0. The bl1_plat_handle_post_image_load function is overridable by the platform, but we do not provide a mechanism for the platform to communicate the "acceptable" image IDs to the caller. We cannot therefore return an error if we receive an image ID that has no post-load process, because it may be called for any image (the FWU process does this here).

Jan 17 2022, 1:45 PM · Trusted Firmware A
yuezhiran created T983: BL2 Image Load.
Jan 17 2022, 12:18 PM · Trusted Firmware A
yuezhiran added a comment to T982: get psci states without check in fuinc ‘’psci_do_state_coordination‘’.

Ok, thanks a lot.

Jan 17 2022, 12:04 PM · Trusted Firmware A

Dec 30 2021

joannafarley-arm added a comment to T554: Build can fail on systems with stack protection enabled by default.

Have you tried a more recent release? v2.6 is our latest tagged release or try tip of tree?

Dec 30 2021, 12:10 PM · Trusted Firmware A

Dec 29 2021

benrogmans added a comment to T554: Build can fail on systems with stack protection enabled by default.
Dec 29 2021, 6:02 PM · Trusted Firmware A

Dec 28 2021

Sourabh1107 added a comment to T554: Build can fail on systems with stack protection enabled by default.

I am using Avenger96 and Buildroot and ran into similar issue.

Dec 28 2021, 7:55 PM · Trusted Firmware A

Dec 25 2021

yuezhiran reassigned T981: default attributes of (E)SPIs for gicv3 from AlexeiFedorov to madhukar-Arm.
Dec 25 2021, 6:47 AM · Trusted Firmware A

Dec 13 2021

madhukar-Arm added a comment to T982: get psci states without check in fuinc ‘’psci_do_state_coordination‘’.

Hi
As you mentioned, req_states will be NULL only if pwrlvl is not valid. However, in my opinion, many checks have been done earlier to the invocation of the function to make sure pwrlvl is valid. See lines 246 and 428 in lib/psci/psci_common.c file. Can you tell if you have noticed any issue in your platform with PSCI library?

Dec 13 2021, 8:29 PM · Trusted Firmware A

Dec 9 2021

yuezhiran created T982: get psci states without check in fuinc ‘’psci_do_state_coordination‘’.
Dec 9 2021, 1:55 PM · Trusted Firmware A
yuezhiran closed T949: TF-A Module Testcase as Resolved.

Thanks a lot.

Dec 9 2021, 1:38 PM · Trusted Firmware A
joannafarley-arm added a comment to T949: TF-A Module Testcase.

A code coverage solution has been developed and is being tested before being rolled out in the production CI.

Dec 9 2021, 9:12 AM · Trusted Firmware A
yuezhiran added a comment to T949: TF-A Module Testcase.

Thanks for your reply. So is there any way to calculate the coverage of TF-A(functions or codes)?

Dec 9 2021, 6:11 AM · Trusted Firmware A
yuezhiran triaged T981: default attributes of (E)SPIs for gicv3 as Normal priority.
Dec 9 2021, 6:04 AM · Trusted Firmware A

Jul 14 2021

joannafarley-arm added a comment to T949: TF-A Module Testcase.

The TF-A project uses the OpenCI project https://www.trustedfirmware.org/projects/open-ci/ to provide "Daily" and "Gerrit patch review" testing through a Jenkins infrastructure system with jobs visible here https://ci.trustedfirmware.org and these make use of tests defined in the TF-A Tests repository and from other reposititories. Please refer to the OpenCI documentation for more information https://tf-ci-users-guide.readthedocs.io/en/latest/

Jul 14 2021, 8:46 AM · Trusted Firmware A
yuezhiran triaged T949: TF-A Module Testcase as Normal priority.
Jul 14 2021, 6:32 AM · Trusted Firmware A

Jul 2 2021

abhishek-pandit added a member for Trusted Firmware A: abhishek-pandit.
Jul 2 2021, 7:13 PM
abhishek-pandit added a member for Trusted Firmware A: garymorrison-arm.
Jul 2 2021, 7:12 PM

Jun 24 2021

pgeorgi added a comment to T925: ATF v2.5-rc0 fails to build rk3399 support with gcc11.

Given that there's no activity to get the submission rule issues in 9990 resolved, I followed CJKay's and jwerner's instructions and made https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/10415, hopefully more ready for inclusion.

Jun 24 2021, 4:40 PM · Trusted Firmware A