[Top][All Lists]
[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
patch
Description: Binary data
- Making use of string items in the capability system.,
racin <=