Hi, I have an i.MX53 QSB and have been adapting the tz_vmm example for my needs.
As said in previous posts I have a system call which is responsible for the SMC between the normal world and tz_vmm. I can successfully allocate memory in the normal world and access it in the secure world. Thus I can send images to the secure world (which is what I want). Then in the secure world I have a new component which uses the libpng port to process images.
TZ_VMM and the libpng component talk using the inter-component RPC. In order to access the image inside the libpng component I send Genode::addr_t in the RPC function call argument. This Genode::addr_t has the physicall address of the image which was loaded to memory from Linux.
I can verify that the addr_t variable has the correct value inside the libpng component, but when I try to access it this is the output:
[init -> tz_vmm] image addr: 816ac000 [init -> tz_vmm] RPC call: png_sig_cmp [init -> libpng_server] image addr: 816ac000 no RM attachment (faulter 27213c with IP 700101d4 attempts to read from address 816ac000) init -> libpng_server -> ep: unresolved pagefault at ip=700101d4 sp=e01fee30 fault address=816ac000 core -> pager_ep: cannot submit unknown signal context
Since this is a memory block which was allocated by Linux, and since I can manipulate it fine when inside tz_vmm, shouldn't I be able to manipulate this same memory region without problems?
Thanks a lot! Tiago