l4-hackers Digest, Vol 59, Issue 14
muhammad saufy
msaufy at yahoo.co.uk
Fri Mar 21 05:12:57 CET 2008
im using register based IPC operation to transfer
string of more than two double word. (32 bit x 2). how
IPC handle this? it's the register copy is loop twice
to transfer the data or fiasco automatically copy that
data to memory and send to the receiver?
-saufy
--- l4-hackers-request at os.inf.tu-dresden.de wrote:
> Send l4-hackers mailing list submissions to
> l4-hackers at os.inf.tu-dresden.de
>
> To subscribe or unsubscribe via the World Wide Web,
> visit
>
>
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
> or, via email, send a message with subject or body
> 'help' to
> l4-hackers-request at os.inf.tu-dresden.de
>
> You can reach the person managing the list at
> l4-hackers-owner at os.inf.tu-dresden.de
>
> When replying, please edit your Subject line so it
> is more specific
> than "Re: Contents of l4-hackers digest..."
>
>
> Today's Topics:
>
> 1. Re: Failed to create a new task (Adam
> Lackorzynski)
> 2. Re: porting L4linux on minix3. (Adam
> Lackorzynski)
> 3. Re: Compiling Fiasco UX problems under Fedora
> 8
> (Adam Lackorzynski)
> 4. Re: Compiling Fiasco UX problems under Fedora
> 8
> (Olivier Landemarre)
>
>
>
----------------------------------------------------------------------
>
> Message: 1
> Date: Sun, 16 Mar 2008 22:37:39 +0100
> From: Adam Lackorzynski <adam at os.inf.tu-dresden.de>
> Subject: Re: Failed to create a new task
> To: l4-hackers at os.inf.tu-dresden.de
> Message-ID:
> <20080316213739.GB5636 at os.inf.tu-dresden.de>
> Content-Type: text/plain; charset=iso-8859-1
>
> Hi,
>
> Here's a diff of your program against a version that
> works, with
> comments:
>
>
> --- x.c 2008-03-16 22:30:26.000000000 +0100
> +++ x.c 2008-03-16 22:30:26.000000000 +0100
> @@ -3,6 +3,7 @@
> #include <l4/sys/ipc.h>
> #include <l4/rmgr/librmgr.h>
> #include <l4/sigma0/sigma0.h>
> +#include <l4/util/util.h>
>
> #include <stdio.h>
>
> @@ -41,14 +42,13 @@
> l4_addr_t map_area = 0x60000000;
> l4_addr_t base;
> l4_umword_t rcv_fpage;
> - l4_umword_t snd_fpage;
>
> res = l4_ipc_call(SIGMA0_ID,
> // thread id
> L4_IPC_SHORT_MSG,
> // send descriptor
> SIGMA0_REQ_FPAGE_ANY,
> // snd_dword0
> - snd_fpage,
> // snd_dword1
> + l4_fpage(0,
> L4_LOG2_PAGESIZE, 0, 0).fpage, //
> snd_dword1
> L4_IPC_MAPMSG(map_area,
> L4_WHOLE_ADDRESS_SPACE),// rcv_desc
> - base,
> // *rcv_dword0
> + &base,
> // *rcv_dword0
> &rcv_fpage,
> // *rcv_dword1
> timeout,
> &result);
>
> Please fix compiler warnings, gcc is not issueing
> them just for fun.
> You've been giving an uninitialized value as an
> address to l4_ipc_call,
> so no wonder strange things happen.
>
>
> @@ -75,26 +75,17 @@
> enter_kdebug("FAILED in l4_ipc_wait:
> %d\n");
> }
>
> + while(1) {
> l4_umword_t fault_addr = rcv_dword0 &~
> 0x00000003; //rcv_dword0 & 0xFFFFFFFC
>
> // mask lower bits for
> (write/grant) flags?
> l4_umword_t rw_addr = fault_addr |
> 0x00000002; // mask the 2 nd lower bits to
> set write flags
>
> - while(1) {
> -
> - l4_snd_fpage_t fpage;
> -
> - fpage.snd_base = rw_addr; // do wee need to
> left shift the address???
> -
> - //we can also use the function
> l4_fpage(address, size, write, grant)
> - fpage.fpage.fp.grant = 0;
> - fpage.fpage.fp.write = 1;
> - fpage.fpage.fp.page = rw_addr;
> - fpage.fpage.fp.size = L4_LOG2_PAGESIZE;
> //12
> + l4_touch_rw((void *)rw_addr, 1);
>
> Just to make sure the memory is really available.
>
> res = l4_ipc_reply_and_wait(src_id,
> //dest_id
>
> L4_IPC_SHORT_FPAGE, //send descriptor
> -
> fpage.snd_base, //snd_dword0
> -
> fpage.fpage.fpage, //snd_dword1 - might change
> later to .fp
> + rw_addr
> & L4_PAGEMASK, //snd_dword0
> +
> l4_fpage(rw_addr & L4_PAGEMASK, L4_LOG2_PAGESIZE,
> L4_FPAGE_RW, L4_FPAGE_MAP).fpage,
>
> &src_id, //src_id
>
> L4_IPC_SHORT_MSG, //rcv descriptor
>
> &rcv_dword0, //rcv_dword0
>
> I just aggregated the l4_fpage to the one line, more
> compact.
>
>
> Adam
> --
> Adam adam at os.inf.tu-dresden.de
> Lackorzynski
> http://os.inf.tu-dresden.de/~adam/
>
>
>
> ------------------------------
>
> Message: 2
> Date: Sun, 16 Mar 2008 22:54:59 +0100
> From: Adam Lackorzynski <adam at os.inf.tu-dresden.de>
> Subject: Re: porting L4linux on minix3.
> To: l4-hackers at os.inf.tu-dresden.de
> Message-ID:
> <20080316215459.GC5636 at os.inf.tu-dresden.de>
> Content-Type: text/plain; charset=iso-8859-1
>
>
> On Thu Mar 13, 2008 at 11:26:52 +0530, Pravin wrote:
> > Adam Lackorzynski <adam at os.inf.tu-dresden.de>
> wrote:
> > > Hi,
> > >
> > >
> > > On Mon Mar 10, 2008 at 19:52:53 +0530, Pravin
> wrote:
> > > > I wanted to ask a question regarding the
> procedure followed in porting
> > > > linux on L4 (L4Linux).
> > > > I am exploring the possibility of porting
> Linux on Minix3 on similar lines.
> > >
> > > I'd find it more interesting to see Minix on
> L4.
> > Well, I had not considered that possibility much
> yet.
> > I wanted to port Linux on minix to see if minix
> can work as a virtualizer
> > I am not very clear about the advantages of
> porting minix of L4,
> > can you put more light on it ?
>
> I think that L4 is much more of a virtualizer than
> minix but that's just
> my opinion.
>
=== message truncated ===
___________________________________________________________
Rise to the challenge for Sport Relief with Yahoo! For Good
http://uk.promotions.yahoo.com/forgood/
More information about the l4-hackers
mailing list