e5c3bf44150631ed2ab7776502aafb6e3420a080
[akaros.git] / lib / libmain.c
1 // Called from entry.S to get us going.
2 // entry.S already took care of defining envs, pages, vpd, and vpt.
3
4 #include <inc/lib.h>
5
6 extern void umain(int argc, char **argv);
7
8 volatile struct Env *env;
9 char *binaryname = "(PROGRAM NAME UNKNOWN)";
10
11 void
12 libmain(int argc, char **argv)
13 {
14         // set env to point at our env structure in envs[].
15         // LAB 3: Your code here.
16         env = 0;
17
18         // save the name of the program so that panic() can use it
19         if (argc > 0)
20                 binaryname = argv[0];
21
22         // call user main routine
23         umain(argc, argv);
24
25         // exit gracefully
26         exit();
27 }
28