// === IMPORTS ===
extern void Desctab_Init(void);
extern void MM_InitVirt(void);
-extern void Heap_Install(void);
extern int Time_Setup(void);
extern char gKernelEnd[];
// Adjust Multiboot structure address
mbInfo = (void*)( (Uint)MbInfoPtr + KERNEL_BASE );
gsBootCmdLine = (char*)( (Uint)mbInfo->CommandLine + KERNEL_BASE);
- // TODO: ref above?
nPMemMapEnts = Multiboot_LoadMemoryMap(mbInfo, KERNEL_BASE, pmemmap, MAX_PMEMMAP_ENTS,
KERNEL_LOAD, (tVAddr)&gKernelEnd - KERNEL_BASE
);
Log_Log("Arch", "Starting VFS...");
VFS_Init();
+ // Multiboot_InitFramebuffer(mbInfo);
+
gaArch_BootModules = Multiboot_LoadModules(mbInfo, KERNEL_BASE, &giArch_NumBootModules);
*(Uint16*)(KERNEL_BASE|0xB8000) = 0x1F00|'Z';
// Unmap and free
numPages = (gaArch_BootModules[i].Size + ((Uint)gaArch_BootModules[i].Base&0xFFF) + 0xFFF) >> 12;
- MM_UnmapHWPages( (tVAddr)gaArch_BootModules[i].Base, numPages );
+ MM_UnmapHWPages( gaArch_BootModules[i].Base, numPages );
for( j = 0; j < numPages; j++ )
MM_DerefPhys( gaArch_BootModules[i].PBase + (j << 12) );
+ // TODO: What the fuck?
if( (tVAddr) gaArch_BootModules[i].ArgString < KERNEL_BASE )
- MM_UnmapHWPages( (tVAddr)gaArch_BootModules[i].ArgString, 2 );
+ MM_UnmapHWPages( gaArch_BootModules[i].ArgString, 2 );
}
Log_Log("Arch", "Boot modules loaded");
if( gaArch_BootModules )