TrustZone: transfering information cross-world using interrupts

Norman Feske norman.feske at ...1...
Mon Nov 9 11:48:34 CET 2015

Hi David,

On 06.11.2015 15:39, David Goltzsche wrote:
> The basic mechanism works fine, but we need to transfer some meta
> information with the interrupt to the normal world.
> One possible approach would be to write something to a certain location
> in the non-secure memory before triggering the interrupt and reading
> that location from Linux. Of course, a cross-world synchronization
> mechanism is required here to maintain the consistency of the reserved
> memory range.
> Another approach could use Linux's shared interrupts: Additional
> information can be transferred via the dev_id pointer passed to an
> interrupt handler.
> Are both approaches possible in general, which one would you recommend?

I am not knowledgeable with the second approach. But passing additional
information along with the interrupt delivery sounds not natural to me.
The natural and time-tested approach would be to pass the information in
a (virtual) device register, like a real device would do it. This is
essentially your first approach.


Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list