Xen Ring Buffers
[akaros.git] / lib / libmain.c
index 1996c78..3f02cb4 100644 (file)
@@ -2,11 +2,13 @@
 // entry.S already took care of defining envs, pages, vpd, and vpt.
 
 #include <inc/lib.h>
 // entry.S already took care of defining envs, pages, vpd, and vpt.
 
 #include <inc/lib.h>
+#include <inc/syscall.h>
 
 extern void umain(int argc, char **argv);
 
 volatile env_t *env;
 char *binaryname = "(PROGRAM NAME UNKNOWN)";
 
 extern void umain(int argc, char **argv);
 
 volatile env_t *env;
 char *binaryname = "(PROGRAM NAME UNKNOWN)";
+syscall_front_ring_t sysfrontring;
 
 void
 libmain(int argc, char **argv)
 
 void
 libmain(int argc, char **argv)
@@ -16,6 +18,9 @@ libmain(int argc, char **argv)
        // procinfo.  When we figure out what we want there, change this.
        env = (env_t*)procinfo;
 
        // procinfo.  When we figure out what we want there, change this.
        env = (env_t*)procinfo;
 
+       // Set up the front ring for the general syscall ring
+       FRONT_RING_INIT(&sysfrontring, (syscall_sring_t*)procdata, PGSIZE);     
+
        // save the name of the program so that panic() can use it
        if (argc > 0)
                binaryname = argv[0];
        // save the name of the program so that panic() can use it
        if (argc > 0)
                binaryname = argv[0];