synchronization between normal and secure world

Stefan Kalkowski stefan.kalkowski at ...1...
Tue May 5 11:29:19 CEST 2015


On 04/28/2015 02:26 PM, Stefan Brenner wrote:
> Hi,
> just a short question, I am using the TZ VMM example on i.MX53. How can
> I syncronize accesses to a shared memory range between secure world and
> normal world? I would be interested in a mutex that can be acquired both
> from Genode in secure world, as well as from Linux in normal world.

>From the secure world's side, the synchronization is somehow implicitly
available. Whenever the VMM receives a VM exception signal, it knows
that the VM is in pause state and cannot intercept it. Moreover, if the
VMM receives other asynchronous events (e.g. events from some backend
devices etc.) it can call pause() on the VM object. If the pause() call
returns, the VMM can be sure that the VM is not scheduled anymore. By
calling run() after a critical path the VMM makes the VM executable again.

>From the normal world's perspective you might ask the secure world via a
hypercall explicitly when entering or leaving a critical section.

Of course, you can also implement an inter-world capable mutex laying
within a shared memory region that is mapped uncached in both worlds. By
now we did not need such a mutex for our experimental VMM. Therefore,
there is no implementation existent.


> Ciao
> ------------------------------------------------------------------------------
> One dashboard for servers and applications across Physical-Virtual-Cloud 
> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> _______________________________________________
> genode-main mailing list
> genode-main at

Stefan Kalkowski
Genode Labs ยท

More information about the users mailing list