X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Fx86_64%2Fmain.c;h=c154870610a74eb697a26a458e718b1f33cf8921;hb=e9d9b80381037589fd59209ad66e79008ef2e9f6;hp=af231eeaa342466859bcdffe0d2e0d28af30ccf2;hpb=dec96d539a700885bace43218e26f684934a1a01;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/main.c b/Kernel/arch/x86_64/main.c index af231eea..c1548706 100644 --- a/Kernel/arch/x86_64/main.c +++ b/Kernel/arch/x86_64/main.c @@ -25,11 +25,14 @@ char *gsBootCmdLine = NULL; void kmain(Uint MbMagic, void *MbInfoPtr) { tMBoot_Info *mbInfo; + + LogF("Acess2 x86_65 v"EXPAND_STR(KERNEL_VERSION)"\n"); + LogF(" Build %i, Git Hash %s\n", BUILD_NUM, gsGitHash); Desctab_Init(); - + MM_InitVirt(); - *(Uint16*)(0xB8000) = 0x1F00|'C'; + *(Uint16*)(KERNEL_BASE|0xB8000) = 0x1F00|'C'; switch(MbMagic) { @@ -38,8 +41,6 @@ void kmain(Uint MbMagic, void *MbInfoPtr) // Adjust Multiboot structure address mbInfo = (void*)( (Uint)MbInfoPtr + KERNEL_BASE ); gsBootCmdLine = (char*)( (Uint)mbInfo->CommandLine + KERNEL_BASE); - Log("gsBootCmdLine = '%s'", gsBootCmdLine); - MM_InitPhys_Multiboot( mbInfo ); // Set up physical memory manager break; default: @@ -50,24 +51,20 @@ void kmain(Uint MbMagic, void *MbInfoPtr) Log("gsBootCmdLine = '%s'", gsBootCmdLine); - *(Uint16*)(0xB8000) = 0x1F00|'D'; + *(Uint16*)(KERNEL_BASE|0xB8000) = 0x1F00|'D'; Heap_Install(); - *(Uint16*)(0xB8000) = 0x1F00|'E'; - Log_Log("Arch", "Starting threading..."); + *(Uint16*)(KERNEL_BASE|0xB8000) = 0x1F00|'E'; Threads_Init(); Time_Setup(); - *(Uint16*)(0xB8000) = 0x1F00|'F'; + *(Uint16*)(KERNEL_BASE|0xB8000) = 0x1F00|'F'; - Log_Log("Arch", "Starting VFS..."); // Load Virtual Filesystem + Log_Log("Arch", "Starting VFS..."); VFS_Init(); - *(Uint16*)(0xB8000) = 0x1F00|'Z'; - *(Uint16*)(0xB8002) = 0x1F00|'Z'; - *(Uint16*)(0xB8004) = 0x1F00|'Z'; - *(Uint16*)(0xB8006) = 0x1F00|'Z'; + *(Uint16*)(KERNEL_BASE|0xB8000) = 0x1F00|'Z'; // Pass on to Independent Loader Log_Log("Arch", "Starting system");