[eros-cvs] cvs commit: eros/src/base/domain/vcsk vcs.map

shap@eros.cs.jhu.edu shap@eros.cs.jhu.edu
Wed, 14 Nov 2001 23:18:06 -0500


shap        01/11/14 23:18:06

  Modified:    src/base/domain/constructor metacon.map
               src/base/domain/directory directory.map
               src/base/domain/evtqueue evtqueue.map
               src/base/domain/file file.map
               src/base/domain/keyset keyset.map
               src/base/domain/linedisc linedisc.map
               src/base/domain/mutex mutex.map
               src/base/domain/pipe pipe.map
               src/base/domain/sigmux sigmux.map
               src/base/domain/supernode supernode.map
               src/base/domain/vcsk vcs.map
  Log:
  This is a debugging support change.
  
  I have revised the BOOT_CONSTRUCTOR macro to take two separate names:
  the name of the constructor and the name of the yield. This is because
  I learned in the course of tracking down the Great Anshumal Page Fault
  Bug that the names were getting set in a very misleading way.

Revision  Changes    Path
1.27      +23 -23    eros/src/base/domain/constructor/metacon.map

Index: metacon.map
===================================================================
RCS file: /cvs/eros/src/base/domain/constructor/metacon.map,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- metacon.map	2001/10/07 15:45:54	1.26
+++ metacon.map	2001/11/15 04:18:05	1.27
@@ -138,29 +138,29 @@
    also that a boot factory gets pre-built child constituent nodes in
    constit slots 14, 15, and it's actual yield proccre in place of
    DCC. */
-#define BOOT_CONSTRUCTOR(name) \
-   BOOT_DOMCRE(name); \
-   name##_process = new process; \
-   name##_process pc = constructor.pc; \
-   name##_process space = constructor.seg; \
-   name##_process schedule = sched(8); \
-   name##_process brand = constructor_brand; \
-   name##_process symtab = number("cons " #name); \
-   name##_process key reg KR_CONSTIT = clone con_constit; \
-   name##_process key reg KR_SELF = name##_process; \
-   name##_process key reg KR_BANK = primebank; \
-   name##_process key reg KR_SCHED = sched(8); \
-   name##_process key reg KR_RTBITS = primordial_runtime_bits; \
-   CONSTIT(name##_process, KC_DISCRIM, 0) = misc Discrim; \
-   CONSTIT(name##_process, KC_RETURNER, 1) = misc Returner; \
-   CONSTIT(name##_process, KC_OSTREAM, 2) = misc Console; \
-   CONSTIT(name##_process, KC_YIELDCRE, 3) = name##_proccre; \
-   CONSTIT(name##_process, KC_PROTOSPACE, 4) = protospace; \
-   CONSTIT(name##_process, KC_PROD_CON0, 14) = new node; \
-   CONSTIT(name##_process, KC_PROD_XCON, 15) = new node; \
-   name##_process[ProcGenKeys][KR_CONSTIT][15][2] = number(#name); \
-   run name##_process; \
-   name = start name##_process 0;
+#define BOOT_CONSTRUCTOR(cname,yieldname) \
+   BOOT_DOMCRE(cname); \
+   cname##_process = new process; \
+   cname##_process pc = constructor.pc; \
+   cname##_process space = constructor.seg; \
+   cname##_process schedule = sched(8); \
+   cname##_process brand = constructor_brand; \
+   cname##_process symtab = number(#cname); \
+   cname##_process key reg KR_CONSTIT = clone con_constit; \
+   cname##_process key reg KR_SELF = cname##_process; \
+   cname##_process key reg KR_BANK = primebank; \
+   cname##_process key reg KR_SCHED = sched(8); \
+   cname##_process key reg KR_RTBITS = primordial_runtime_bits; \
+   CONSTIT(cname##_process, KC_DISCRIM, 0) = misc Discrim; \
+   CONSTIT(cname##_process, KC_RETURNER, 1) = misc Returner; \
+   CONSTIT(cname##_process, KC_OSTREAM, 2) = misc Console; \
+   CONSTIT(cname##_process, KC_YIELDCRE, 3) = cname##_proccre; \
+   CONSTIT(cname##_process, KC_PROTOSPACE, 4) = protospace; \
+   CONSTIT(cname##_process, KC_PROD_CON0, 14) = new node; \
+   CONSTIT(cname##_process, KC_PROD_XCON, 15) = new node; \
+   cname##_process[ProcGenKeys][KR_CONSTIT][15][2] = number(#yieldname); \
+   run cname##_process; \
+   cname = start cname##_process 0;
 
 /* The construct name[ProcGenKeys][1][x][y] traverses the named nodes
    in turn.



1.16      +1 -1      eros/src/base/domain/directory/directory.map

Index: directory.map
===================================================================
RCS file: /cvs/eros/src/base/domain/directory/directory.map,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- directory.map	2001/10/08 17:01:00	1.15
+++ directory.map	2001/11/15 04:18:05	1.16
@@ -28,7 +28,7 @@
  * Set up a directory constructor...
  **********************************************************/
 
-BOOT_CONSTRUCTOR(dir_c);
+BOOT_CONSTRUCTOR(dir_c, dir);
 
 /* mutex requires no special constituents */
 



1.12      +1 -1      eros/src/base/domain/evtqueue/evtqueue.map

Index: evtqueue.map
===================================================================
RCS file: /cvs/eros/src/base/domain/evtqueue/evtqueue.map,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- evtqueue.map	2001/07/06 21:14:12	1.11
+++ evtqueue.map	2001/11/15 04:18:05	1.12
@@ -28,7 +28,7 @@
  * Set up an evtqueue constructor...
  **********************************************************/
 
-BOOT_CONSTRUCTOR(evtqueue_c);
+BOOT_CONSTRUCTOR(evtqueue_c, evtqueue);
 
 PROD_SPACE(evtqueue_c) = small program "/eros/domain/evtqueue";
 PROD_PC(evtqueue_c) = symbol "/eros/domain/evtqueue" _start;



1.17      +1 -1      eros/src/base/domain/file/file.map

Index: file.map
===================================================================
RCS file: /cvs/eros/src/base/domain/file/file.map,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- file.map	2001/07/06 21:14:12	1.16
+++ file.map	2001/11/15 04:18:05	1.17
@@ -23,7 +23,7 @@
  * Set up a file constructor...
  **********************************************************/
 
-BOOT_CONSTRUCTOR(file_c);
+BOOT_CONSTRUCTOR(file_c, file);
 
 /* mutex requires no special constituents */
 



1.20      +1 -1      eros/src/base/domain/keyset/keyset.map

Index: keyset.map
===================================================================
RCS file: /cvs/eros/src/base/domain/keyset/keyset.map,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- keyset.map	2001/10/08 17:01:00	1.19
+++ keyset.map	2001/11/15 04:18:05	1.20
@@ -22,7 +22,7 @@
  * Set up a keyset constructor...
  **********************************************************/
 
-BOOT_CONSTRUCTOR(keyset_c);
+BOOT_CONSTRUCTOR(keyset_c, keyset);
 
 PROD_SPACE(keyset_c) = small program "/eros/domain/keyset";
 PROD_PC(keyset_c) = symbol "/eros/domain/keyset" _start;



1.17      +2 -2      eros/src/base/domain/linedisc/linedisc.map

Index: linedisc.map
===================================================================
RCS file: /cvs/eros/src/base/domain/linedisc/linedisc.map,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- linedisc.map	2001/07/06 21:14:12	1.16
+++ linedisc.map	2001/11/15 04:18:05	1.17
@@ -22,7 +22,7 @@
  * Set up a linedisc_buddy constructor...
  **********************************************************/
 
-BOOT_CONSTRUCTOR(linedisc_buddy_c);
+BOOT_CONSTRUCTOR(linedisc_buddy_c, linedisc_buddy);
 
 PROD_SPACE(linedisc_buddy_c) = small program "/eros/domain/linedisc_buddy";
 PROD_PC(linedisc_buddy_c) = symbol "/eros/domain/linedisc_buddy" _start;
@@ -39,7 +39,7 @@
  * Set up a linedisc constructor...
  **********************************************************/
 
-BOOT_CONSTRUCTOR(linedisc_c);
+BOOT_CONSTRUCTOR(linedisc_c, linedisc);
 
 PROD_SPACE(linedisc_c) = small program "/eros/domain/linedisc";
 PROD_PC(linedisc_c) = symbol "/eros/domain/linedisc" _start;



1.14      +1 -1      eros/src/base/domain/mutex/mutex.map

Index: mutex.map
===================================================================
RCS file: /cvs/eros/src/base/domain/mutex/mutex.map,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- mutex.map	2001/07/06 17:37:59	1.13
+++ mutex.map	2001/11/15 04:18:05	1.14
@@ -25,7 +25,7 @@
  * experiments...
  ********************************************************/
 
-BOOT_CONSTRUCTOR(mutex_c);
+BOOT_CONSTRUCTOR(mutex_c,mutex);
 
 /* mutex requires no special constituents */
 



1.11      +1 -1      eros/src/base/domain/pipe/pipe.map

Index: pipe.map
===================================================================
RCS file: /cvs/eros/src/base/domain/pipe/pipe.map,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- pipe.map	2001/07/06 21:14:12	1.10
+++ pipe.map	2001/11/15 04:18:06	1.11
@@ -24,7 +24,7 @@
  * PIPE OBJECT
  *********************************************/
 
-BOOT_CONSTRUCTOR(pipe_c);
+BOOT_CONSTRUCTOR(pipe_c, pipe);
 
 PROD_SPACE(pipe_c) = small program "/eros/domain/pipe";
 PROD_PC(pipe_c) = symbol "/eros/domain/pipe" _start;



1.13      +1 -1      eros/src/base/domain/sigmux/sigmux.map

Index: sigmux.map
===================================================================
RCS file: /cvs/eros/src/base/domain/sigmux/sigmux.map,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- sigmux.map	2001/07/06 21:14:13	1.12
+++ sigmux.map	2001/11/15 04:18:06	1.13
@@ -24,7 +24,7 @@
  * SIGNAL MULTIPLEXOR
  *********************************************/
 
-BOOT_CONSTRUCTOR(sigmux_c);
+BOOT_CONSTRUCTOR(sigmux_c,sigmux);
 
 PROD_SPACE(sigmux_c) = small program "/eros/domain/sigmux";
 PROD_PC(sigmux_c) = symbol "/eros/domain/sigmux" _start;



1.16      +1 -1      eros/src/base/domain/supernode/supernode.map

Index: supernode.map
===================================================================
RCS file: /cvs/eros/src/base/domain/supernode/supernode.map,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- supernode.map	2001/07/06 21:14:13	1.15
+++ supernode.map	2001/11/15 04:18:06	1.16
@@ -23,7 +23,7 @@
  * SUPERNODE
  *********************************************/
 
-BOOT_CONSTRUCTOR(snode_c);
+BOOT_CONSTRUCTOR(snode_c, snode);
 
 /* mutex requires no special constituents */
 



1.25      +9 -9      eros/src/base/domain/vcsk/vcs.map

Index: vcs.map
===================================================================
RCS file: /cvs/eros/src/base/domain/vcsk/vcs.map,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- vcs.map	2001/07/06 21:14:13	1.24
+++ vcs.map	2001/11/15 04:18:06	1.25
@@ -116,7 +116,7 @@
 vcsk.seg = small program "/eros/domain/vcsk";
 vcsk.pc = symbol "/eros/domain/vcsk" _start;
 
-BOOT_CONSTRUCTOR(zs_c);
+BOOT_CONSTRUCTOR(zs_c, zs);
 
 PROD_CONSTIT(zs_c, KC_OSTREAM, 0) = misc Console;
 PROD_CONSTIT(zs_c, KC_RETURNER, 1) = misc Returner;
@@ -128,14 +128,14 @@
 /* no keeper, no symbol table */
 
 #define MAKE_VIRTUAL_COPIER(name, progfile) \
-   BOOT_CONSTRUCTOR(name); \
-   PROD_CONSTIT(name, KC_OSTREAM, 0) = misc Console; \
-   PROD_CONSTIT(name, KC_RETURNER, 1) = misc Returner; \
-   PROD_CONSTIT(name, KC_ZINDEX, 2) = zindex; \
-   PROD_CONSTIT(name, KC_FROZEN_SEG, 3) = sense program segtree progfile; \
-   PROD_CONSTIT(name, KC_PROTOSPC, 4) = protospace; \
-   PROD_SPACE(name) = vcsk.seg; \
-   PROD_PC(name) = vcsk.pc;
+   BOOT_CONSTRUCTOR(name##_c, name); \
+   PROD_CONSTIT(name##_c, KC_OSTREAM, 0) = misc Console; \
+   PROD_CONSTIT(name##_c, KC_RETURNER, 1) = misc Returner; \
+   PROD_CONSTIT(name##_c, KC_ZINDEX, 2) = zindex; \
+   PROD_CONSTIT(name##_c, KC_FROZEN_SEG, 3) = sense program segtree progfile; \
+   PROD_CONSTIT(name##_c, KC_PROTOSPC, 4) = protospace; \
+   PROD_SPACE(name##_c) = vcsk.seg; \
+   PROD_PC(name##_c) = vcsk.pc;
 
 /* hide vcsk.seg; */
 /* hide vcsk.pc; */