Hi Yinhua,
It depends what you refer to as a Trusted Applications. Traditionally a TA is a user space application (hence running at S-EL0) running above a TEE (running at S-EL1).
Hafnium provides isolation between S-EL1 components (hence TEEs or bare metal partitions). Strictly speaking you'd need a Trusted OS (e.g. OP-TEE) to handle TAs at S-EL0.
There are other models though. You may consider somehow a secure service in a bare metal S-EL1 partition as a "Trusted Application". Later on, we may add support for "S-EL0 services" on top of Hafnium without relying on a specific TEE (though work in progress).
I suggest you also have a look at the Trusted Services effort (https://trusted-services.readthedocs.io/en/integration/)
Regards, Olivier.
________________________________________ From: 胤桦 陈 yinhua_chen@outlook.com Sent: 08 March 2021 04:13 To: Olivier Deprez; hafnium@lists.trustedfirmware.org Subject: Re: Test setup handling multiple bare metal SPs
Hi Oliver,
I have already booted the multiple-SP model successfully.
However, it seems that there does not exist any Trusted Applications (TAs) in the Secure Partitions (SPs).
Have you ever tested TAs in the SPs before? If not, I will implement trusted applications and test them by myself.
Looking forward to your reply.
Regards, Yinhua
________________________________ From: Olivier Deprez Olivier.Deprez@arm.com Sent: Thursday, March 4, 2021 16:10 To: hafnium@lists.trustedfirmware.org hafnium@lists.trustedfirmware.org; yinhua_chen@outlook.com yinhua_chen@outlook.com Subject: Re: Test setup handling multiple bare metal SPs
Hi Yinhua,
Sorry for the delay.
Assuming Hafnium, TF-A and TF-a-tests are cloned in the same workspace directory. Instructions below permit launching a simulation with TFTF payload at NS-EL2, Hafnium at S-EL2 and three "cactus" bare metal partitions at S-EL1. TFTF runs a number of FF-A related tests demonstrating NWd<=>SWd protocols, including sending messages back and forth to the three partitions and exercising memory sharing.
Hafnium: master make PROJECT=reference
TF-A-tests: master make CROSS_COMPILE=aarch64-none-elf- PLAT=fvp DEBUG=1 TESTS=spm -j8
TF-A: master make CROSS_COMPILE=aarch64-none-elf- SPD=spmd CTX_INCLUDE_EL2_REGS=1 ARM_ARCH_MINOR=4 PLAT=fvp DEBUG=1 BL33=../tf-a-tests/build/fvp/debug/tftf.bin BL32=../hafnium/out/reference/secure_aem_v8a_fvp_clang/hafnium.bin SP_LAYOUT_FILE=../tf-a-tests/build/fvp/debug/sp_layout.json all fip
run the FVP with:
<path-to-fvp>/FVP_Base_RevC-2xAEMv8A -C pctl.startup=0.0.0.0 -C cluster0.NUM_CORES=4 -C cluster1.NUM_CORES=4 -C bp.secure_memory=1 -C bp.secureflashloader.fname=trusted-firmware-a/build/fvp/debug/bl1.bin -C bp.flashloader0.fname=trusted-firmware-a/build/fvp/debug/fip.bin -C cluster0.has_arm_v8-4=1 -C cluster1.has_arm_v8-4=1
Regards, Olivier.
________________________________________ From: Hafnium hafnium-bounces@lists.trustedfirmware.org on behalf of yinhua_chen--- via Hafnium hafnium@lists.trustedfirmware.org Sent: 04 March 2021 07:36 To: hafnium@lists.trustedfirmware.org Subject: [Hafnium] Test setup handling multiple bare metal SPs
Hi all,
Can anyone please provide with a test setup handling multiple bare metal SPs (TF-A-tests framework) ?
This is the part I am most interested in, but it is very hard for myself to build the multiple-SPs-model from the documents and source code.
Sincerely, Yinhua -- Hafnium mailing list Hafnium@lists.trustedfirmware.org https://lists.trustedfirmware.org/mailman/listinfo/hafnium