Hi Stefan,

Sorry for interfering in the discussion. Just an idea:

On 12.05.2015 15:14, Stefan Brenner wrote:
> (secure world=Genode, normal world=Linux)
> 1) normal world allocates a buffer in normal world memory
> 2) normal world issues an SMC and transmits the buffer's address to
> secure world where addresses are translated
> 3) secure world stores the address
> 4a) normal world writes something to the shared buffer and modifies some
> meta data structures. Basically, it writes to the metadata "Hey, secure
> world, there is something for you".
> 4b) secure world busy-waits (ugly) until it reads something new from the
> normal world, and starts processing it.

Why don't you tell the secure world via another SMC ID that there's
something in the buffer? The secure monitor then could write replies to
the buffer, reference them inside the corresponding requests, and
continue the guest. AFAIK, there would be no problem with IRQs and no
polling in this solution.

Cheers,
Martin

PS: You don't want to poll at the secure side for a non-secure state, at
least because its against the scheduling priorization between secure and
non-secure world.

------------------------------------------------------------------------------
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.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to