From b4f1ab54b36f7dc273b9a80081c019f7d6618715 Mon Sep 17 00:00:00 2001 From: Patrick Williams Date: Thu, 9 Sep 2010 12:04:57 -0500 Subject: Support modules. --- src/sys/vfs/vfs_main.C | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/sys/vfs') diff --git a/src/sys/vfs/vfs_main.C b/src/sys/vfs/vfs_main.C index 6ba561eb2..481df1101 100644 --- a/src/sys/vfs/vfs_main.C +++ b/src/sys/vfs/vfs_main.C @@ -10,6 +10,8 @@ const char* VFS_ROOT = "/"; const char* VFS_ROOT_BIN = "/bin/"; const char* VFS_ROOT_DATA = "/data/"; const char* VFS_ROOT_MSG = "/msg/"; +VfsSystemModule VFS_MODULES[VFS_MODULE_MAX]; +uint64_t VFS_LAST_ADDRESS; struct VfsPath { @@ -28,13 +30,34 @@ struct VfsEntry VfsEntry* prev; }; +void vfs_module_init() +{ + printk("Initializing modules.\n"); + + VfsSystemModule* module = &VFS_MODULES[0]; + while ('\0' != module->module[0]) + { + printk("\tIniting module %s...", module->module); + (module->init)(NULL); + printk("done.\n"); + + module++; + } + + printk("Modules initialized."); +} + void vfs_main(void* unused) { + // Create message queue, register with kernel. msg_q_t vfsMsgQ = msg_q_create(); msg_q_register(vfsMsgQ, VFS_ROOT); printk("done.\n"); // TODO... barrier with init. + + // Initalize modules. + vfs_module_init(); Util::Locked::List vfsContents; -- cgit v1.2.1