Re: Fwd: l4shmnet and its structure
cem akpolat <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CAMm5Yqo0aRao8eUyqHhdVxjcvKNjfj8uVVwC8B4UUExwPkNAzQ@mail.gmail.com> |
Dear Adam, First of all, thanks again for the response. The problem is now solved. I tried to use a .lua file in which functions such as setConsole, setRamdisk, etc. were defined, that was a lua file that I have found while googling. This method led to a page fault error while creating a ttyLv0 console for the second client. I removed the function and used "console=ttyLv0" instead. I also defined the second shm device driver as shm1 for the server side, but as shm0 for the second client. Now it works fine. I still wonder why I got this page fault error, though. However, there exists another problem that I want to ask you about. Do we actually need a server while using l4shmnet? My final question, does fiasco has more than one console screen, for instance for each l4linux can we use a separate log screen? Thanks for all, Cem Cem Akpolat On Tue, Jun 17, 2014 at 11:21 PM, Adam Lackorzynski < [email protected]> wrote: > On Mon Jun 16, 2014 at 20:49:12 +0200, cem akpolat wrote: > > "So I understand that you configured one L4Linux with two l4shmnet > > network interfaces and one of those two did not work? Hard to tell for > > me what's wrong without more info." > > > > I added printf lines to shmc.c file and the output I get the following > > output while a connection is created btw. the server and the first > client. > > > > //*************************************// > > client1 | l4shmc_create : starting > > client1 | l4shmc_create : l4re_ns_register_obj_srv returned error > > client1 | l4shmc_attach_to : starting > > client1 | l4shmc_attach_to : no problem, returning L4_OK > > client1 | l4shmc_add_chunk : starting > > client1 | l4shmc_add_chunk : executing chunk_get > > client1 | l4shmc_add_chunk : in the else side due to offs > > client1 | l4shmc_add_chunk : returning L4_OK > > client1 | l4shmc_add_signal : starting > > client1 | l4shmc_add_signal : returning L4_EOK > > client1 | l4shmc_get_chunk_to :starting > > server | l4shmc_get_chunk_to :starting > > > > net shm0: shm0: L4ShmNet established, with 54:42:00:00:ff:01, IRQ 66 > > client1 net shm0: shm0: L4ShmNet established, with 54:42:00:00:ff:02, > IRQ > > 65 > > > > > > And the following output between the server and the second client: > > > > //*************************************// > > client2 | l4shmc_create : starting > > client2 | l4shmc_create : l4re_ns_register_obj_srv returned error > > client2 | l4shmc_attach_to : starting > > client2 | l4shmc_attach_to : no problem, returning L4_OK > > client2 | l4shmc_add_chunk : starting > > client2 | l4shmc_add_chunk : executing chunk_get > > client2 | l4shmc_add_chunk : in the else side due to offs > > client2 | l4shmc_add_chunk : returning L4_OK > > client2 | l4shmc_add_signal : starting > > client2 | l4shmc_add_signal : returning L4_EOK > > client2 | l4shmc_get_chunk_to :starting > > server | l4shmc_get_chunk_to :starting > > net shm1: shm1: L4ShmNet established, with 54:42:00:00:ff:04, IRQ 67 > > //*************************************// > > > > As you can see, the second client does not respond after the connection > > established message from the server. I have two questions regarding this > > problem: > > > > 1) Is the message "l4re_ns_register_obj_srv returned error" the source of > > the problem? If so, then what might be the reason for this error? And > also, > > why does the connection work properly between the first server and the > > client if that is the source of the problem? > > The source tells me that EEXISTS is ok as a return code. Is it this one? > > > 2) Could it be the case that the second client obtains the same IRQ > number > > with the first client(IRQ 65) or the server (IRQ66 or 67), and therefore > > the trigger signal is not received by the second client? > > No. Those interrupts are virtual ones that are local to the Linux, thus > IRQ65 is a different one in each Linux. > > > How can I detect > > this problem? Which function is responsible for the IRQ numbering? > > The IRQ number allocation for virtual IRQs is in arch/l4/kernel/irq.c. > > > Does client2+shm1 work if you do not configure client1+shm0? > > > > > Adam > -- > Adam [email protected] > Lackorzynski http://os.inf.tu-dresden.de/~adam/ > > _______________________________________________ > l4-hackers mailing list > [email protected] > http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers > _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers