IPC between Tasks
Tobias Fink
tobias.fink at stud.h-da.de
Wed Jun 13 16:13:12 CEST 2012
Right now I'm examining the example included in L4Re:
http://os.inf.tu-dresden.de/L4Re/doc/examples_2libs_2shmc_2prodcons_8c-example.html
This exists at this point:
if (l4shmc_create("testshm", 8192))
return 1;
I'm testing on an IGEPv2 Board with a DM3730 ARM Cortex-A8 processor.
What am I missing?
Here is the output from the Boot process:
SIGMA0: Hello!
KIP @ 80002000
allocated 4KB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[0:80000000;80000fff]
[0:8005d000;8008ffff]
[0:8009f000;8013ffff]
[4:80140000;80171fff]
[0:80172000;80177fff]
[4:80178000;8018efff]
[0:8018f000;8100efff]
[4:8100f000;8100ffff]
[0:81010000;8118ffff]
[4:81190000;8134afff]
[0:8134b000;86ffffff]
IOMEM:----------------------
[0:0;7fffffff]
[0:88000000;ffffffff]
MOE: Hello world
MOE: found 112192 KByte free memory
MOE: found RAM from 80000000 to 87000000
MOE: allocated 112 KByte for the page array @0x8005d000
MOE: virtual user address space [0-bfffffff]
MOE: rom name space cap -> [C:501000]
2012/6/12 Tobias Fink <tobias.fink at stud.h-da.de>:
> Hi Björn,
>
> that helps to understand it a lot yes. The background of this is, that
> I want to show what low level communication possibilities there would
> be for two instances of l4linux for example without having to use
> sockets or similar technologies. If this would be in principle
> possible due to the fact that everything is a thread, then the example
> that Vasily linked to is enough for me.
> Thank you!
>
> Tobi
>
>
> 2012/6/12 Björn Döbel <doebel at os.inf.tu-dresden.de>:
>> On 12.06.2012 14:41, Tobias Fink wrote:
>>> Hi,
>>>
>>> I'm planning on building a small example of a producer/consumer build
>>> on top of L4Re. From the documentation I know about the shared memory
>>> inteface which will help to pass information from the producer to the
>>> consumer but I am a bit clueless on how I notify the consumer that
>>> there is something new to read. The semaphore is only to be used in
>>> between threads so there is no way to use them for IPC between Tasks?!
>>> Is there another possibility to make this work other than to use
>>> polling?
>>
>> There is no communication between tasks, because tasks in terms of L4 /
>> Fiasco.OC are only address spaces (plus some other state, such as the
>> capability index table). The units of execution are always threads and
>> hence communication always happens between those. Does that help you?
>>
>> Bjoern
>> --
>> Dipl.-Inf. Bjoern Doebel Mail: doebel at tudos.org
>> TU Dresden, OS Chair Phone: +49 351 463 38 799
>> Noethnitzer Str. 46 Fax: +49 351 463 38 284
>> 01187 Dresden, Germany WWW: http://www.tudos.org/~doebel
>> --
>> "Futbol no es en simple juego. Es una arma de la revolucion!"
>>
>> _______________________________________________
>> l4-hackers mailing list
>> l4-hackers at os.inf.tu-dresden.de
>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
More information about the l4-hackers
mailing list