[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;
   }