int vfs_mount(char *dev, char *point, char *fs, char *flags) { /* create the root node */ struct vfs_node_p *root = NULL; if(_strcmp(fs, "tarfs") == 0) root = tarfs_mount(dev, flags); if(root == NULL) return 0; /* create mp */ mountpoint_t *mp = (mountpoint_t *) mm_alloc(sizeof(mountpoint_t)); mp->next = mountlist; mp->root = root; _strcpy(mp->path, point); mountlist = mp; return 1; }
void pcnet32_test_run() { xprintf("PCNET32 TEST\n"); xprintf("root fnode %p\n", process_current()->root); xprintf("root filesystem name %s\n", process_current()->root->mounted->filesystem->name); xprintf("file id %d\n", process_current()->root->file_id); pci_init(); // ide_init(); ether_init(); ip_init(); pcnet32_init(); //pcnet32 // mounting devfs devfs_mount(); // registering devfs driver_register_devfs(); // mounting tarfs at standard boot location tarfs_mount(multiboot_get_module(0), "/System/Startup"); shell_run(); xprintf("pcnet32_test end\n"); }