[eros-cvs] cvs commit: eros/src/base/domain/spacebank ObjSpace.c spacebank.c
shap@eros.cs.jhu.edu
shap@eros.cs.jhu.edu
Sat, 20 Jan 2001 16:13:51 -0500
shap 01/01/20 16:13:51
Modified: src/base/domain/spacebank ObjSpace.c spacebank.c
Log:
In removing the spacebank support for capability pages, Charlie did a
bit of a slash and burn change, which resulted in a space bank that
didn't initialize due to a divide by zero fault. I have temporarily
done a partial restoration. The spacebank still will not allocate
capability pages in it's current form, but it continues to initialize
the internal data structures to do so.
Capability pages will go away somewhere over Nova Scotia, but right
now I need a quick patch so that I can get a test case working for Ben Laurie.
Revision Changes Path
1.41 +2 -0 eros/src/base/domain/spacebank/ObjSpace.c
Index: ObjSpace.c
===================================================================
RCS file: /cvs/eros/src/base/domain/spacebank/ObjSpace.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- ObjSpace.c 1999/10/13 22:37:12 1.40
+++ ObjSpace.c 2001/01/20 21:13:51 1.41
@@ -188,6 +188,8 @@
mark_allocated_frames(&RangeTable[0]);
+ DEBUG(init) kdprintf(KR_OSTREAM, "Allocated frames are marked\n");
+
#if 0
init_cache();
#endif
1.34 +5 -0 eros/src/base/domain/spacebank/spacebank.c
Index: spacebank.c
===================================================================
RCS file: /cvs/eros/src/base/domain/spacebank/spacebank.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- spacebank.c 2000/12/16 22:04:32 1.33
+++ spacebank.c 2001/01/20 21:13:51 1.34
@@ -103,6 +103,8 @@
an unrunnable system! */
InitSpaceBank();
+ DEBUG(init) kdprintf(KR_OSTREAM, "spacebank: accepting requests()\n");
+
for(;;) {
#ifdef TIMESTAMPS
uint64_t timestamp_before;
@@ -501,6 +503,7 @@
}
SETUP_TYPE(DataPage, 1u);
+ SETUP_TYPE(CapPage, 1u);
SETUP_TYPE(Node, EROS_NODES_PER_FRAME);
#ifdef EROS_PROCS_PER_FRAME
SETUP_TYPE(Process, EROS_PROCS_PER_FRAME);
@@ -531,6 +534,7 @@
{
switch (t) {
case OT_DataPage:
+ case OT_CapPage:
case OT_Node:
#ifdef EROS_PROCS_PER_FRAME
case OT_Process:
@@ -551,6 +555,7 @@
case OT_Process:
#endif
return true;
+ case OT_CapPage:
default:
return false;
}