Introducing a cmp() operation
marcus.brinkmann at ruhr-uni-bochum.de
Wed Jun 15 17:12:23 CEST 2005
At Tue, 14 Jun 2005 19:15:29 +0200,
Marcus Brinkmann at ruhr-uni-bochum de wrote:
> > Beside the need for a cmp() we found in the discussion that this operation
> > needs to be limited.
> > Bounding this "cmp()-right" to the
> > receive right of an endpoint seems feasible.
> I explained why it is not sufficient in my earlier mails.
Bernhard and me had a short discussion on IRC (thanks a lot,
Bernhard!) and quickly found out where I went wrong: I was assuming,
incorrectly, that a receive right is bound to a thread. This is true,
AFAIK, for the upcoming L4 design in Karlsruhe, but not for L4.sec in
Dresden, where receive rights can be mapped to multiple threads.
The difference matters, because if receive rights can be mapped, then
yes, indeed, they can be used in the same way as the ID objects Espen
was talking about, and they could be created in the global object
server and mapped to the individual servers just like them.
So, the functionality the cmp() operation would provide seems to be
sufficient. There may be some further factors that require
consideration, for example how convenient it is to use, and what the
performance impact is. ID objects seem to be simpler and faster for
my use case. But that is a different discussion.
So, yes, cmp() in L4.sec seems to deliver the functionality I need.
More information about the l4-hackers