Am 2015-06-02 12:04, schrieb Matthias Lange:
As i want to go for TrustZone, i dont wanna use IPC. Hence, i have to create a virtual IRQ in Ned's script, so that both Tasks know the IRQ namespace?
No, this is not possible. You run an independent kernel and user land on both the secure and non-secure side. The communication between both worlds is more like a system call interface where the non-secure side prepares a request and then issues the 'smc' instruction. This results in a context switch to the secure side where the kernel "sees" the smc instruction in form of an IRQ.
Matthias.
Ok, thank u.
i guess i'm lost without any TrustZone reference design...
Anyway, one last word about my Ned script, please.
Do i really have to transfer my IRQ over IPC (in no TrustZone design)? At least in /pkg/ned/doc/tutorial.lua there is 'Irq' mentioned as a 'useful constant'. So i guess i can define IRQ in Lua, but i miss correct syntax.
If this is any correct, then i miss the right syntax. I tried the following, but failed:
local virtual_smc = L4.Env.Irq:create();
ld:start({ caps = { irq = virtual_smc:svr()},}, "rom/server");
ld:start({ caps = { irq = virtual_smc },}, "rom/client");
Thanks to all of u, ba_f
greets, ba_f