l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Making use of string items in the capability system.


From: racin
Subject: Making use of string items in the capability system.
Date: Thu, 03 Feb 2005 15:16:41 +0100
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (gnu/linux)

Hi,

Here is the patch which enables our capability system to use strings
to pass messages.

What this patch does is:
-adding an argument to bucket create for creating buffers to receive the string 
items
-allocate these items, and free them at the end.
-Modifying the message to transmit it from the manager thread to the receiver.

Currently some things could be changed:

-The user-defined functions must currently access the buffers by
 reading the buffer registers. As buffer registers are "permanent"
 (i.e. not read-once) registers, this is not a big problem, but they
 are likely to be erased and that can be a source of bug.

So other solutions are:
-Modifying the msg field in the hurd_rpc_context so that it points to
the good buffers,
-Having an array of these pointers in the hurd_rpc_context structure.

I don't know which of the three solutions we should adopt.

-MAX_STRING_ITEMS should maybe be defined in libl4/l4/ipc.h

-I've included the changes I made to the string item buffers (those who
are not integrated yet because of aliasing problems), because they are
used by this patch. 

-You have to use the Pistachio patch which ignores timeout for local pagefaults.

Here's the Changelog entry:

in libhurd-cap-server:

2005-02-03  Matthieu Lemerre  <address@hidden>

        * cap-server-intern.h (struct _hurd_cap_bucket): Added
        string_item_sizes field.
        * bucket-create.c (hurd_cap_bucket_create): Added
        string_item_sizes argument.
        * cap-server.h: Modified hurd_cap_bucket_create declaration.


in task, physmem, deva:

2005-02-03  Matthieu Lemerre  <address@hidden>

        * task.c (main): Added the second argument to bucket-create


in libl4:

2005-02-03  Matthieu Lemerre  <address@hidden>

        * l4/ipc.h (_L4_msg_translate): New function.
        * l4/ipc.h (_L4_msg_translate_keep_structure): Likewise.
        * l4/gnu/ipc.h (l4_msg_update): Likewise.

Thanks,
Matthieu


Attachment: patch
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]