X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Fmain.c;h=af231eeaa342466859bcdffe0d2e0d28af30ccf2;hb=dec96d539a700885bace43218e26f684934a1a01;hp=6388d1bf8e308bb80f4ce25995c81e0027176e67;hpb=d8b11d2074b48f17f999d44c75b1f76fdffd970b;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/main.c b/Kernel/arch/x86_64/main.c index 6388d1bf..af231eea 100644 --- a/Kernel/arch/x86_64/main.c +++ b/Kernel/arch/x86_64/main.c @@ -3,18 +3,20 @@ */ #include #include +#include // === IMPORTS === extern void Desctab_Init(void); extern void MM_InitVirt(void); extern void Heap_Install(void); extern void Threads_Init(void); -//extern void Time_Setup(void); +extern int Time_Setup(void); extern void System_Init(char *Commandline); extern void MM_InitPhys_Multiboot(tMBoot_Info *MBoot); // === PROTOTYPES === +void kmain(Uint MbMagic, void *MbInfoPtr); // === GLOBALS == char *gsBootCmdLine = NULL; @@ -35,7 +37,8 @@ void kmain(Uint MbMagic, void *MbInfoPtr) case MULTIBOOT_MAGIC: // Adjust Multiboot structure address mbInfo = (void*)( (Uint)MbInfoPtr + KERNEL_BASE ); - gsBootCmdLine = (char*)(mbInfo->CommandLine + KERNEL_BASE); + gsBootCmdLine = (char*)( (Uint)mbInfo->CommandLine + KERNEL_BASE); + Log("gsBootCmdLine = '%s'", gsBootCmdLine); MM_InitPhys_Multiboot( mbInfo ); // Set up physical memory manager break; @@ -45,6 +48,8 @@ void kmain(Uint MbMagic, void *MbInfoPtr) return ; } + Log("gsBootCmdLine = '%s'", gsBootCmdLine); + *(Uint16*)(0xB8000) = 0x1F00|'D'; Heap_Install(); @@ -52,14 +57,17 @@ void kmain(Uint MbMagic, void *MbInfoPtr) Log_Log("Arch", "Starting threading..."); Threads_Init(); - //Time_Setup(); + Time_Setup(); *(Uint16*)(0xB8000) = 0x1F00|'F'; Log_Log("Arch", "Starting VFS..."); // Load Virtual Filesystem VFS_Init(); - *(Uint16*)(0xB8000) = 0x1F00|'G'; + *(Uint16*)(0xB8000) = 0x1F00|'Z'; + *(Uint16*)(0xB8002) = 0x1F00|'Z'; + *(Uint16*)(0xB8004) = 0x1F00|'Z'; + *(Uint16*)(0xB8006) = 0x1F00|'Z'; // Pass on to Independent Loader Log_Log("Arch", "Starting system"); @@ -75,7 +83,7 @@ void Arch_LoadBootModules(void) } -void StartupPrint(char *String) +void StartupPrint(const char *String) { }