Increase IPC-Stream size

ba_f ba_f at rbg.informatik.tu-darmstadt.de
Wed May 27 22:35:41 CEST 2015


Am 2015-05-27 00:11, schrieb Adam Lackorzynski:
> Hi ba_f,
> 
> On Wed May 20, 2015 at 11:40:27 +0200, ba_f wrote:
>> i decided not to use libshmc and do it "manually" with Dataspace and 
>> IRQ,
>> because i think this comes closest to the communication between 
>> TrustZone
>> worlds.
>> It's the best starting point before pushing the project to TrustZone 
>> (ie.
>> Normal world Client and Secure Server), isn't it?
> 
> Indeed, that really comes closer to that.
> 
>> Anyway, i need some more help.
>> 
>> First, get_cap<L4Re::Dataspace>("shmds") leads to a kernel warning.
>> >KERNEL: Warning: nothing mapped: (Obj_space)
>> i guess, i dont understand that capability stuff entirely. What causes 
>> this
>> warning?
> 
> Generally this warning is printed when trying to pass a capability (or
> memory) around but the source is empty. This is typically a programming
> error. Secondly I think the warning does not come from the get_cap 
> call.
> That call just gets the cap from the environment where the program
> startup has already stored it. "shmds" must be a cap that has been
> specified in the "caps" table of your program in the lua script.
> 
> Adam


Ok, works now.
(The Warning appeared because i did commented out 'server.loop()' and 
main() did exit with 'return 0').

Anyway, i still have some question about that IRQ, and i would be 
grateful if u could answer them, too.

I found two examples with IRQ: 'l4/pkg/examples/sys/map_irq' and 
'l4/pkg/examples/libs/l4re/c++/shared_ds'.
I guess i could easily adapt them.

What makes we wonder, is that both examples make use of 
'L4::Ipc::Iostream'. Actually, i dont see any difference between IRQ & 
IPC, since both are registered servers using 
L4.default_loader:new_channel().
I guess, IPC is build upon IRQ?

However, you said that IPC is not possible between TrustZone worlds, 
because each world has a separate microkernel instance. I reason there 
is no L4.default_loader:new_channel() possible between worlds?
Do u have an example design for TZ communication?


Thanks alot,
ba_f







More information about the l4-hackers mailing list