Capability Passing in OKL4 3.0

4 messages Options
Embed this post
Permalink
Toby Murray

Capability Passing in OKL4 3.0

Reply Threaded More More options
Print post
Permalink
Hi,

I recently came across the OKL4 3.0 release. While reading the
description of (new) the kernel API here
http://wiki.ok-labs.com/downloads/release-3.0/api-slides-3.0.pdf it
truck me that it wasn't clear whether capabilities can be passed during
IPC. Can they? If not, how can capabilities be passed between different
address spaces?

Cheers

Toby


_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Gernot Heiser

Re: Capability Passing in OKL4 3.0

Reply Threaded More More options
Print post
Permalink
Hi Toby,

> it wasn't clear whether capabilities can be passed during IPC. Can
> they? If not, how can capabilities be passed between different
> address spaces?

As you'll have noticed, the OKL4 API is very much in flux. 2.1 was the
first release that introduced caps, but it should be clear that this
is only a first step. 3.0 took it a bit further, but there is still a
fair bit to go.

The present OKL4 system is aimed to support the current market
requirements of the type of embedded-systems customers we are dealing
with. These are generally systems with static configurations of
protection domains. As such, the support for dynamic PDs is limited in
the present kernel.

Specifically, while the kernel does support adding caps to clists, it
doesn't presently provide a way to transfer them by IPC. Hence only
a "privileged" thread that has access to both parties' Clists can
transfer a cap between them.

Stay tuned for increased functionality in forthcoming releases.

Gernot

_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Andrew Reilly

Re: Capability Passing in OKL4 3.0

Reply Threaded More More options
Print post
Permalink
Hi Gernot,

On Fri, 30 Jan 2009 15:14:47 +1100 (EST)
Gernot Heiser <[hidden email]> wrote:

> Specifically, while the kernel does support adding caps to clists, it
> doesn't presently provide a way to transfer them by IPC. Hence only
> a "privileged" thread that has access to both parties' Clists can
> transfer a cap between them.
>
> Stay tuned for increased functionality in forthcoming releases.

I haven't been paying much attention to the addition of
capabilities.  Where is a good place to start reading about
them?  Are they capabilities in the sense of Amoeba, or AS400?

Cheers,

Andrew

-----------------------------------------
This message (including any attachments) may contain confidential
information intended for a specific individual and purpose.  If you
are not the intended recipient, delete this message.  If you are
not the intended recipient, disclosing, copying, distributing, or
taking any action based on this message is strictly prohibited.

_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer
Gernot Heiser

Re: Capability Passing in OKL4 3.0

Reply Threaded More More options
Print post
Permalink
>>>>> On Fri, 30 Jan 2009 15:24:59 +1100, Andrew Reilly <[hidden email]> said:
AR> I haven't been paying much attention to the addition of
AR> capabilities.  Where is a good place to start reading about
AR> them?  Are they capabilities in the sense of Amoeba, or AS400?

They are segregated (kernel-protected) caps, unlike Amoeba (sparse
caps) or AS400 (tagged). More like Eros, KeykOS or (dare I say?) Mach
(without the sucking performance).

The implementation is presently incomplete: caps only control access
to threads (and as such en/disable IPC), and there is no good support
for dynamic protection domains, but that'll all come in the future.

If you have a general understanding of caps, then a good starting
point for learning about OKL4 caps is probably the API overview slides
Toby referred to (see http://wiki.ok-labs.com/Release/3.0).

Gernot

_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer