X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Farch%2Fx86%2Fmain.c;h=8b85d06324715ade865b439bd9c29da092a22d31;hb=6b5fe5c5491e925bb1dd0d0650eeafd363538b1a;hp=3abf54820e94a8be7f422f92b657ef166974a8ec;hpb=a8759b69a7dddfeff55bdfde62a9a0765ccc7eee;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86/main.c b/KernelLand/Kernel/arch/x86/main.c index 3abf5482..8b85d063 100644 --- a/KernelLand/Kernel/arch/x86/main.c +++ b/KernelLand/Kernel/arch/x86/main.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #define VGA_ERRORS 0 @@ -19,7 +18,6 @@ // === IMPORTS === extern char gKernelEnd[]; -extern void Heap_Install(void); extern void MM_PreinitVirtual(void); extern void MM_Install(int NPMemRanges, tPMemMapEnt *PMemRanges); extern void MM_InstallVirtual(void); @@ -109,27 +107,29 @@ int kmain(Uint MbMagic, void *MbInfoPtr) void Arch_LoadBootModules(void) { - int i, j, numPages; - for( i = 0; i < giArch_NumBootModules; i ++ ) + for( int i = 0; i < giArch_NumBootModules; i ++ ) { - Log_Log("Arch", "Loading '%s'", gaArch_BootModules[i].ArgString); + const tBootModule *mod = &gaArch_BootModules[i]; + Log_Log("Arch", "Loading (%p[%P]+%x) '%s'", + mod->Base, mod->PBase, mod->Size, + mod->ArgString); - if( !Module_LoadMem( gaArch_BootModules[i].Base, - gaArch_BootModules[i].Size, gaArch_BootModules[i].ArgString - ) ) - { + if( !Module_LoadMem( mod->Base, mod->Size, mod->ArgString) ) { Log_Warning("Arch", "Unable to load module"); + continue ; } + #if 0 // Unmap and free - numPages = (gaArch_BootModules[i].Size + ((Uint)gaArch_BootModules[i].Base&0xFFF) + 0xFFF) >> 12; + int numPages = (mod->Size + ((tVAddr)mod->Base&0xFFF) + 0xFFF) >> 12; MM_UnmapHWPages( (tVAddr)gaArch_BootModules[i].Base, numPages ); - for( j = 0; j < numPages; j++ ) - MM_DerefPhys( gaArch_BootModules[i].PBase + (j << 12) ); + //for( int j = 0; j < numPages; j++ ) + // MM_DerefPhys( mod->PBase + (j << 12) ); - if( (tVAddr) gaArch_BootModules[i].ArgString > MAX_ARGSTR_POS ) - MM_UnmapHWPages( (tVAddr)gaArch_BootModules[i].ArgString, 2 ); + if( (tVAddr) mod->ArgString > MAX_ARGSTR_POS ) + MM_UnmapHWPages( (tVAddr)mod->ArgString, 2 ); + #endif } Log_Log("Arch", "Boot modules loaded"); if( gaArch_BootModules )