At Tue, 14 Jun 2005 19:15:29 +0200, Marcus Brinkmann@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.
Thanks, Marcus