Re: domain tool/domain nodes Bill Frantz (frantz@netcom.com)
Wed, 13 Sep 1995 22:36:25 -0800

At 0:17 9/14/95 -0400, Jonathan Shapiro wrote:
>I'm confused about the domain tool. Does it get handed one node key
>or three? I thought it was three.

It gets handed one node (the root node) see below.

>If three, I would assume that all three are severed. If so, several
>assertions can be made:

The 370 kernel makes no assumptions about the holder of the domain tool. (I think that if you could make the asumptions below, then you could reduce some kernel code paths, but the 370 kernel was coded assuming that the domain tool holder was buggy or malicious. In the full 68K implementation, it was assumed that a domain would consist of 2 nodes and a page (to hold the floating point state). There might have been a no-floating-point option which didn't include the page.

>
> o It is not possible for any node to take part in more than one
> domain at a time.

There was some kernel code to unprepare a domain so one of the nodes could be used as e.g. a meter.

>
> o If the domain tool initializes the slots, it is not possible for
> the general registers node to ever contain anything that is not a
> number key.

This was checked and there was a specific error code for violation.

>
> o It is not possible for these nodes to be prepared as anything
> other than.

domain preperation is unitary. If one node is parpared as root, then the other nodes will also be prepared as the spec says they are. If any of the nodes must be unprepared, then all of them will be.

>Have I missed something? Doing it this way probably requires that
>there be a domain service key order for dismantling a domain so that
>the components can be sold back, but it seems to me that this
>simplifies the kernel code for preparing a node as a domain root.

The domain tool has the "identify" operation. If the domain tool holder holds a copy of the key that is in slot x (the brander slot) of the domain root, then the domain tool, given a domain key and the key in slot x will return a node key to the domain root. This is sufficent to tear the domain apart and return the nodes to the space bank.

Bill