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.
Cheers Norman