summaryrefslogtreecommitdiff
path: root/src/sys/os/os_omar.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sys/os/os_omar.c')
-rw-r--r--src/sys/os/os_omar.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/sys/os/os_omar.c b/src/sys/os/os_omar.c
index 63493b0..186ca57 100644
--- a/src/sys/os/os_omar.c
+++ b/src/sys/os/os_omar.c
@@ -32,6 +32,7 @@
#include <sys/errno.h>
#include <sys/bootvars.h>
#include <sys/cdefs.h>
+#include <sys/mount.h>
#include <sys/panic.h>
#include <sys/syslog.h>
#include <os/omar.h>
@@ -143,7 +144,7 @@ initrd_get_file(const char *path, struct initrd_node *res)
* Initialize the initrd
*/
static int
-initrd_init(void)
+initrd_init(struct fs_info *fip)
{
struct bootvars bootvars;
struct bootvar_io *bvio = NULL;
@@ -187,13 +188,6 @@ initrd_open(const char *path, char **res)
return -ENOENT;
}
- if (__initrd_root == NULL) {
- error = initrd_init();
- if (error < 0) {
- panic("initrd: failed to setup initrd\n");
- }
- }
-
error = initrd_get_file(path, &node);
if (error < 0) {
printf("initrd: failed to open '%s'\n", path);
@@ -203,3 +197,7 @@ initrd_open(const char *path, char **res)
*res = node.data;
return node.size;
}
+
+struct vfsops g_omar_vfsops = {
+ .init = initrd_init
+};