diff --git a/src/Kernel.cc b/src/Kernel.cc index 0a2f382..1c4e7a9 100644 --- a/src/Kernel.cc +++ b/src/Kernel.cc @@ -54,18 +54,6 @@ Kernel::initialize(const StartupInformation& startupInformation) kstd::printFormat("Multiboot: start = 0x%08lX\n", u32(multiboot)); kstd::printFormat("Command line: \"%s\"\n", multiboot->commandLine()); - kstd::printFormat("Memory map:\n"); - kstd::printFormat(" available: lower = %ld KB, upper = %ld KB\n", - multiboot->lowerMemoryKB(), multiboot->upperMemoryKB()); - for (auto it = multiboot->memoryMapBegin(); it != multiboot->memoryMapEnd(); ++it) { - auto begin = (*it).base; - auto end = begin + (*it).length - 1; - kstd::printFormat(" begin = 0x%08lX %08lX, end = 0x%08lX %08lX (%s)\n", - u32(begin >> 32), u32(begin & 0xFFFFFFFF), - u32(end >> 32), u32(end & 0xFFFFFFFF), - (*it).type == 1 ? "available" : "reserved"); - } - mMemoryManager.initialize(startupInformation); } diff --git a/src/memory/Memory.cc b/src/memory/Memory.cc index 1513ba9..b832fbd 100644 --- a/src/memory/Memory.cc +++ b/src/memory/Memory.cc @@ -23,6 +23,20 @@ MemoryManager::MemoryManager() void MemoryManager::initialize(const StartupInformation& startupInformation) { + auto multiboot = startupInformation.multibootInformation; + kstd::printFormat("Memory map:\n"); + kstd::printFormat(" available: lower = %ld KB, upper = %ld KB, total = %ld KB\n", + multiboot->lowerMemoryKB(), multiboot->upperMemoryKB(), + startupInformation.memorySize() / 1024); + for (auto it = multiboot->memoryMapBegin(); it != multiboot->memoryMapEnd(); ++it) { + auto begin = (*it).base; + auto end = begin + (*it).length - 1; + kstd::printFormat(" begin = 0x%08lX %08lX, end = 0x%08lX %08lX (%s)\n", + u32(begin >> 32), u32(begin & 0xFFFFFFFF), + u32(end >> 32), u32(end & 0xFFFFFFFF), + (*it).type == 1 ? "available" : "reserved"); + } + initializeGDT(); mFrameAllocator.initialize(startupInformation); }