no swplo
[unix-history] / usr / src / sys / kern / init_main.c
index 480b613..78338a3 100644 (file)
@@ -1,4 +1,4 @@
-/*     init_main.c     3.1     %H%     */
+/*     init_main.c     3.6     %G%     */
 
 #include "../h/param.h"
 #include "../h/systm.h"
 
 #include "../h/param.h"
 #include "../h/systm.h"
@@ -66,6 +66,7 @@ main(firstaddr)
         */
 
        ihinit();
         */
 
        ihinit();
+       bhinit();
        cinit();
        binit();
        bswinit();
        cinit();
        binit();
        bswinit();
@@ -104,7 +105,7 @@ main(firstaddr)
        proc[0].p_szpt = CLSIZE;
        if (newproc(0)) {
                expand(clrnd((int)btoc(szicode)), P0BR);
        proc[0].p_szpt = CLSIZE;
        if (newproc(0)) {
                expand(clrnd((int)btoc(szicode)), P0BR);
-               VOID copyout((caddr_t)icode, (caddr_t)0, (unsigned)szicode);
+               (void) copyout((caddr_t)icode, (caddr_t)0, (unsigned)szicode);
                /*
                 * Return goes to loc. 0 of user init
                 * code just copied out.
                /*
                 * Return goes to loc. 0 of user init
                 * code just copied out.
@@ -164,7 +165,7 @@ iinit()
  * I/O to be done-- e.g. swap headers swbuf[] for
  * swapping.
  */
  * I/O to be done-- e.g. swap headers swbuf[] for
  * swapping.
  */
-char   buffers[NBUF][BSIZE+BSLOP];
+char   buffers[NBUF][BSIZE];
 
 /*
  * Initialize the buffer I/O system by freeing
 
 /*
  * Initialize the buffer I/O system by freeing
@@ -178,6 +179,7 @@ binit()
        register struct buf *dp;
        register int i;
        struct bdevsw *bdp;
        register struct buf *dp;
        register int i;
        struct bdevsw *bdp;
+       struct swdevt *swp;
 
        bfreelist.b_forw = bfreelist.b_back =
            bfreelist.av_forw = bfreelist.av_back = &bfreelist;
 
        bfreelist.b_forw = bfreelist.b_back =
            bfreelist.av_forw = bfreelist.av_back = &bfreelist;
@@ -200,6 +202,19 @@ binit()
                }
                nblkdev++;
        }
                }
                nblkdev++;
        }
+       /*
+        * Count swap devices, and adjust total swap space available.
+        * Some of this space will not be available until a vswapon()
+        * system is issued, usually when the system goes multi-user.
+        */
+       nswdev = 0;
+       for (swp = swdevt; swp->sw_dev; swp++)
+               nswdev++;
+       if (nswdev == 0)
+               panic("binit");
+       nswap *= nswdev;
+       maxpgio *= nswdev;
+       swfree(0);
 }
 
 /*
 }
 
 /*