[eros-cvs] cvs commit: eros/src/doc/www/devel/ObRef/primary Node.html
shap@eros.cs.jhu.edu
shap@eros.cs.jhu.edu
Wed, 29 Aug 2001 09:38:56 -0400
shap 01/08/29 09:38:56
Modified: src/base/domain/destroy triv_destroy.i486.S
src/base/sys/eros NodeKey.h
src/base/sys/key pk_NodeKey.cxx
src/base/sys/libkey lk_ndcopy.c
src/doc/www/devel/ObRef/primary Node.html
Log:
Converted "node copy" to place slot in data register 1
Revision Changes Path
1.22 +2 -1 eros/src/base/domain/destroy/triv_destroy.i486.S
Index: triv_destroy.i486.S
===================================================================
RCS file: /cvs/eros/src/base/domain/destroy/triv_destroy.i486.S,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- triv_destroy.i486.S 2001/05/25 23:49:47 1.21
+++ triv_destroy.i486.S 2001/08/29 13:38:56 1.22
@@ -95,7 +95,8 @@
decl %esi
js return_node /* test sign bit for negative number */
- movl $OC_Node_Copy(0),%OC
+ movl $OC_Node_xCopy,%OC
+ movl $0,%ebx
addl %esi,%OC
/* retrieve the key... */
CALL_OC(KR_SEGNODE, KR_NULL, KR_SCRATCH);
1.34 +1 -1 eros/src/base/sys/eros/NodeKey.h
Index: NodeKey.h
===================================================================
RCS file: /cvs/eros/src/base/sys/eros/NodeKey.h,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- NodeKey.h 2001/08/29 12:27:44 1.33
+++ NodeKey.h 2001/08/29 13:38:56 1.34
@@ -35,7 +35,7 @@
/* ORDER and RESULT code values: */
-#define OC_Node_Copy(k) (0+(k))
+#define OC_Node_xCopy 0
#define OC_Node_Swap(k) (32+(k)) /* for parallel w/ dom key */
#define OC_Node_WriteNumber 96
1.84 +9 -35 eros/src/base/sys/key/pk_NodeKey.cxx
Index: pk_NodeKey.cxx
===================================================================
RCS file: /cvs/eros/src/base/sys/key/pk_NodeKey.cxx,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- pk_NodeKey.cxx 2001/08/29 12:27:44 1.83
+++ pk_NodeKey.cxx 2001/08/29 13:38:56 1.84
@@ -123,46 +123,20 @@
return;
}
- case OC_Node_Copy(0):
- case OC_Node_Copy(1):
- case OC_Node_Copy(2):
- case OC_Node_Copy(3):
- case OC_Node_Copy(4): /* brand copy not permitted */
- case OC_Node_Copy(5):
- case OC_Node_Copy(6):
- case OC_Node_Copy(7):
- case OC_Node_Copy(8):
- case OC_Node_Copy(9):
- case OC_Node_Copy(10):
- case OC_Node_Copy(11):
- case OC_Node_Copy(12):
- case OC_Node_Copy(13):
- case OC_Node_Copy(14):
- case OC_Node_Copy(15):
- case OC_Node_Copy(16):
- case OC_Node_Copy(17):
- case OC_Node_Copy(18):
- case OC_Node_Copy(19):
- case OC_Node_Copy(20):
- case OC_Node_Copy(21):
- case OC_Node_Copy(22):
- case OC_Node_Copy(23):
- case OC_Node_Copy(24):
- case OC_Node_Copy(25):
- case OC_Node_Copy(26):
- case OC_Node_Copy(27):
- case OC_Node_Copy(28):
- case OC_Node_Copy(29):
- case OC_Node_Copy(30):
- case OC_Node_Copy(31):
+ case OC_Node_xCopy:
{
- uint32_t slot = inv.entry.code - OC_Node_Copy(0);
+ uint32_t slot = inv.entry.w1;
+ COMMIT_POINT();
+
+ if (slot >= EROS_NODE_SIZE) {
+ inv.exit.code = RC_RequestError;
+ return;
+ }
+
/* All of these complete ok. */
inv.exit.code = RC_OK;
- COMMIT_POINT();
-
if ( (*theNode)[slot].IsRdHazard() )
theNode->ClearHazard(slot);
1.17 +2 -2 eros/src/base/sys/libkey/lk_ndcopy.c
Index: lk_ndcopy.c
===================================================================
RCS file: /cvs/eros/src/base/sys/libkey/lk_ndcopy.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- lk_ndcopy.c 2001/05/24 04:37:59 1.16
+++ lk_ndcopy.c 2001/08/29 13:38:56 1.17
@@ -28,7 +28,7 @@
{
Message msg;
- msg.snd_w1 = 0;
+ msg.snd_w1 = slot;
msg.snd_w2 = 0;
msg.snd_w3 = 0;
@@ -45,7 +45,7 @@
msg.rcv_len = 0; /* no data returned */
msg.snd_invKey = krNode;
- msg.snd_code = OC_Node_Copy(slot);
+ msg.snd_code = OC_Node_xCopy;
return CALL(&msg);
}
1.36 +13 -2 eros/src/doc/www/devel/ObRef/primary/Node.html
Index: Node.html
===================================================================
RCS file: /cvs/eros/src/doc/www/devel/ObRef/primary/Node.html,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- Node.html 2001/08/29 12:27:44 1.35
+++ Node.html 2001/08/29 13:38:56 1.36
@@ -129,11 +129,22 @@
</tr>
</table>
<p>
- <dt> <strong>Copy Key N</strong> (OC = <em>N</em>)
+ <dt> <strong>Copy Key N</strong> (OC = 0)
<dd>
- <p> Copies the key in slot N (0 <= N <= 31) of the Node
+ <p> Copies the key in slot N (0 <= N <= 31) of the Node
to the key register named in key slot 0 (RK0).
<table>
+ <tr valign=top>
+ <td>
+ <strong>Request</strong>
+ </td>
+ <td align=right>
+ R0
+ </td>
+ <td>
+ The node slot to be copied.
+ </td>
+ </tr>
<tr valign=top>
<td>
<strong>Reply</strong>