Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Merge branch 'devel' of ssh://palacios@newskysaw/home/palacios/palacios into devel
[palacios.git] / test / geekos_test_vm / src / geekos / bget.c
index cccbe16..d13c3e0 100644 (file)
@@ -525,10 +525,9 @@ struct bfhead {
 };
 #define BFH(p) ((struct bfhead *) (p))
 
-static struct bfhead freelist = {     /* List of free buffers */
-    {0, 0},
-    {&freelist, &freelist}
-};
+static struct bfhead freelist;     /* List of free buffers */
+
+
 
 
 #ifdef BufStats
@@ -1017,6 +1016,14 @@ void bpool(buf, len)
 
     assert(len - sizeof(struct bhead) <= -((bufsize) ESent + 1));
 
+    /* Initialize Free list since compile time static initializations appear to be broken */
+    freelist.bh.prevfree = 0;
+    freelist.bh.bsize = 0;
+    freelist.ql.flink = &freelist;
+    freelist.ql.blink = &freelist;
+
+
+
     /* Clear  the  backpointer at  the start of the block to indicate that
        there  is  no  free  block  prior  to  this   one.    That   blocks
        recombination when the first block in memory is released. */