[AMD Official Use Only - AMD Internal Distribution Only]
Hi Team,
I am working on a Trusted Service running under OP-TEE SPMC (FF-A based setup) on ARMv8. We are implementing a block storage service that reads data from OSPI flash using a DMA engine.
Currently, the Trusted Service allocates a buffer and passes it to the DMA engine, but the read operation returns all zeros. I suspect this is because the buffer is a virtual address, while the DMA expects a physical address.
My questions:
1. Is there a supported way for a Trusted Service to obtain the physical address of a buffer?
2. If not, what is the recommended approach for handling DMA in this context? Should this be done outside the Trusted Service using shared memory?
Any guidance would be appreciated.
Regards,
Prasad.