Hi,
While porting OP-TEE to Xilinx zynq-7000 ( 702 dev board ) I've hit a couple of issues which I'm hoping you might be able to help with.
Issue 1 : If I have OP-TEE OS using both cores and core synchronisation at start-up, core 1 writes SEM_CPU_READY to sem_cpu_sync + 4, but core 0 reads 0 from sem_cpu_sync + 4.
Issue 2: When OP-TEE OS for using only 1 core when it gets to the "rfefd sp!" in sm_smc_entry, it is not returning to the address specified in the mon_lr field of the sm_nsec_ctx structure for the core, which does match the address written to "lr" by the Xilinx FSBL before branching to OP-TEE for its initialisation.
Regards Andy Bridges.
________________________________ Consider the environment before printing this mail.
Thales UK Limited is incorporated in England and Wales with company registration number 00868273. Its registered office is located at 2 Dashwood Lang Road, The Bourne Business Park, Addlestone, Nr. Weybridge, Surrey KT15 2NX.
The information contained in this e-mail is confidential. It may also be privileged. It is intended only for the stated addressee(s) and access to it by any other person is unauthorised. If you are not an addressee or the intended addressee, you must not disclose, copy, circulate or in any other way use or rely on the information contained in this e-mail. Such unauthorised use may be unlawful. If you have received this e-mail in error, please inform us immediately on +44 (0)1844 201800 and delete it and all copies from your system. Commercial matters detailed or referred to in this e-mail are subject to a written contract signed for and on behalf of Thales UK Limited.
Hi Andy
On Thu, Jun 9, 2016 at 6:08 PM, Bridges, Andy Andy.Bridges@thales-esecurity.com wrote:
Hi,
While porting OP-TEE to Xilinx zynq-7000 ( 702 dev board )
I’ve hit a couple of issues which I’m hoping you might be able to help with.
Issue 1 :
If I have OP-TEE OS using both cores and core synchronisation at start-up, core 1 writes SEM_CPU_READY to sem_cpu_sync + 4, but core 0 reads 0 from sem_cpu_sync + 4.
Yes, that's a cache coherency issue. I've been trying to debug it remotely on another MP board, but with no success. To be honest I suspect that the synchronization design is slightly broken.
Issue 2:
When OP-TEE OS for using only 1 core when it gets to the “rfefd sp!” in sm_smc_entry, it is not returning to the address specified in the mon_lr field of the sm_nsec_ctx structure for the core, which does match the address written to “lr” by the Xilinx FSBL before branching to OP-TEE for its initialisation.
This could be due to a call to init_sec_mon() which writes what was in lr when OP-TEE was initially entered.
Regards, Jens