extern int Modules_LoadBuiltins();
extern int PCI_Install();
extern void DMA_Install();
+extern void Debug_SetKTerminal(char *File);
+extern void StartupPrint(char *Str);
// === PROTOTYPES ===
void System_Init(char *ArgString);
void System_Init(char *ArgString)
{
// - Start Builtin Drivers & Filesystems
+ StartupPrint("Scanning PCI Bus...");
PCI_Install();
+ StartupPrint("Loading DMA...");
DMA_Install();
+ StartupPrint("Loading staticly compiled modules...");
Modules_LoadBuiltins();
+ // Set the debug to be echoed to the terminal
+ StartupPrint("Kernel now echoes to VT6 (Ctrl-Alt-F7)");
+ Debug_SetKTerminal("/Devices/VTerm/6");
+
// - Parse Kernel's Command Line
System_ParseCommandLine(ArgString);
}
// - Load Module
else if(strncmp("module ", fData+i, 6) == 0) {
+ //char *tmp;
i += 7;
i += System_Int_GetString(fData+i, &sArg1);
if(!sArg1) goto read2eol;
- //Log("[CFG ] Load Module '%s'\n", sArg1);
Module_LoadFile(sArg1, ""); //!\todo Use the rest of the line as the argument string
}
// - Load Module
i += 7;
i += System_Int_GetString(fData+i, &sArg1);
if(!sArg1) goto read2eol;
- Log("[CFG ] Load EDI Module '%s'\n", sArg1);
+ Log("[CFG ] Load EDI Module '%s'", sArg1);
Module_LoadFile(sArg1, "");
}
// - Symlink
if(!sArg1) goto read2eol;
i += System_Int_GetString(fData+i, &sArg2);
if(!sArg2) goto read2eol;
- Log("[CFG ] Symlink '%s' pointing to '%s'\n", sArg1, sArg2);
+ Log("[CFG ] Symlink '%s' pointing to '%s'", sArg1, sArg2);
VFS_Symlink(sArg1, sArg2);
}
// - New Directory
i += 6;
i += System_Int_GetString(fData+i, &sArg1);
if(!sArg1) goto read2eol;
- Log("[CFG ] New Directory '%s'\n", sArg1);
+ Log("[CFG ] New Directory '%s'", sArg1);
VFS_MkDir(sArg1);
}
// - Spawn a task
i += 6;
i += System_Int_GetString(fData+i, &sArg1);
if(!sArg1) goto read2eol;
- Log("[CFG ] Starting '%s' as a new task\n", sArg1);
+ Log("[CFG ] Starting '%s' as a new task", sArg1);
Proc_Spawn(sArg1);
}
else {