Sun, 17 May 1998 16:32:45 -0700 (PDT)
On Fri, 15 May 1998, firstname.lastname@example.org wrote:
>Here is a curious question:
>If I hold a page key to a data page, does the key give me authority to
>that page, or does it in some way convey authority over the disk page
>frame that the page occupies?
>In particular, if I hold a data page key should I be entitled to
>demand that the page object convert itself into an initially zero
>capability page (and vice versa)?
First, I'm not sure what the semantics of this call would be. I see two
1- All keys that point to the page become capability page keys.
2- All keys to the page are rescinded, and a new capability page key to
the page is returned.
If the answer is #2, then don't do it -- This is exactly what returning
the page to the space bank and allocating a new capability page key does.
So lets look at option #1. There are a few problems with this:
A- The semantics of the "use" of the key have just changed out from under
every key holder.
B- This is a large change from the standard way of changing how a key
acts in EROS -- If I change a key, it usually creates a *new* key, with
only that new key having the effects.
C- It exposes an implementation detail, namely that capability pages and
pages come from the same name-space.
D- I see no useful additional utility that the call gives any user. If I
want to change a page from a data page to a capability page for a number
of people, I hand them a segment and put it in there.
I think that only the Range key should allow chaging a Data Page to a