diff options
Diffstat (limited to 'Source/Kernel/Map.txt')
-rw-r--r-- | Source/Kernel/Map.txt | 770 |
1 files changed, 637 insertions, 133 deletions
diff --git a/Source/Kernel/Map.txt b/Source/Kernel/Map.txt index fec07b3..2ad862b 100644 --- a/Source/Kernel/Map.txt +++ b/Source/Kernel/Map.txt @@ -7,6 +7,10 @@ Discarded input sections .group 0x00000000 0x0 Core/kmain.wtf.o .group 0x00000000 0x0 Core/kmain.wtf.o .group 0x00000000 0x0 Core/kmain.wtf.o + .group 0x00000000 0x0 Core/kmain.wtf.o + .group 0x00000000 0x0 Core/kmain.wtf.o + .group 0x00000000 0x0 Core/kmain.wtf.o + .group 0x00000000 0x0 Core/kmain.wtf.o .group 0x00000000 0x0 Core/Sys.ns.o .group 0x00000000 0x0 Core/Sys.ns.o .group 0x00000000 0x0 Core/Sys.ns.o @@ -15,8 +19,64 @@ Discarded input sections 0x00000000 0x0 Core/Sys.ns.o .text._ZN15VirtualTerminallsEi 0x00000000 0x0 Core/Sys.ns.o + .group 0x00000000 0x0 MemoryManager/PhysMem.ns.o + .group 0x00000000 0x0 MemoryManager/PhysMem.ns.o + .text._Znwj 0x00000000 0x0 MemoryManager/PhysMem.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .group 0x00000000 0x0 DeviceManager/Dev.ns.o + .text._ZnwjPv 0x00000000 0x0 DeviceManager/Dev.ns.o .group 0x00000000 0x0 VTManager/VirtualTerminal.class.o + .group 0x00000000 0x0 VTManager/VirtualTerminal.class.o + .text._ZdaPv 0x00000000 0x0 VTManager/VirtualTerminal.class.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 VTManager/VT.ns.o + .text._ZnwjPv 0x00000000 0x0 VTManager/VT.ns.o + .text._ZdaPv 0x00000000 0x0 VTManager/VT.ns.o + .group 0x00000000 0x0 Library/String.class.o + .group 0x00000000 0x0 Library/String.class.o + .group 0x00000000 0x0 Library/String.class.o + .group 0x00000000 0x0 Library/String.class.o + .text._ZnwjPv 0x00000000 0x0 Library/String.class.o + .group 0x00000000 0x0 SyscallManager/IDT.ns.o + .group 0x00000000 0x0 SyscallManager/IDT.ns.o + .group 0x00000000 0x0 SyscallManager/IDT.ns.o + .group 0x00000000 0x0 SyscallManager/IDT.ns.o + .text._Znwj 0x00000000 0x0 SyscallManager/IDT.ns.o + .text._ZN15VirtualTerminallsEPc + 0x00000000 0x0 SyscallManager/IDT.ns.o + .text._ZN15VirtualTerminallsEi + 0x00000000 0x0 SyscallManager/IDT.ns.o + .text._ZN15VirtualTerminallsEj + 0x00000000 0x0 SyscallManager/IDT.ns.o + .group 0x00000000 0x0 Devices/Display/VGATextOutput.class.o .group 0x00000000 0x0 Devices/Display/VGATextOutput.class.o + .text._ZN6Device9handleIRQEP11registers_ti + 0x00000000 0x0 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x0 Devices/Timer.class.o + .group 0x00000000 0x0 Devices/Timer.class.o + .group 0x00000000 0x0 Devices/Timer.class.o + .group 0x00000000 0x0 Devices/Timer.class.o + .text._ZN6Device9handleIRQEP11registers_ti + 0x00000000 0x0 Devices/Timer.class.o + .text._ZN6DeviceC2Ev + 0x00000000 0x0 Devices/Timer.class.o + .rodata._ZTV6Device + 0x00000000 0x0 Devices/Timer.class.o Memory Configuration @@ -32,120 +92,445 @@ Linker script and memory map .setup 0x00100000 0x1e Core/loader.wtf.o 0xc010001e . = (. + 0xc0000000) -.text 0xc0100020 0x1277 load address 0x00100020 +.text 0xc0100020 0x4c2d load address 0x00100020 *(.text) - .text 0xc0100020 0x1f0 Core/kmain.wtf.o + .text 0xc0100020 0x500 Core/kmain.wtf.o 0xc0100020 kmain - .text 0xc0100210 0x75 Core/loader.wtf.o - 0xc010021c loader - *fill* 0xc0100285 0x3 00 - .text 0xc0100288 0xf Core/cppsupport.wtf.o - 0xc0100288 __cxa_pure_virtual - 0xc010028d __cxa_atexit - *fill* 0xc0100297 0x1 00 - .text 0xc0100298 0x3b0 Core/Sys.ns.o - 0xc01002f2 Sys::bochs_output(char*, char*, unsigned int) - 0xc01002b6 Sys::inb(unsigned short) - 0xc01002d3 Sys::inw(unsigned short) - 0xc01003ec Sys::panic(char*, char*, unsigned int) - 0xc010062c Sys::reboot() - 0xc0100298 Sys::outb(unsigned short, unsigned char) - 0xc010050c Sys::panic_assert(char*, unsigned int, char*) - .text 0xc0100648 0xd5 Core/CMem.ns.o - 0xc010067e CMem::memset(unsigned char*, unsigned char, int) - 0xc01006b5 CMem::memsetw(unsigned short*, unsigned short, int) - 0xc01006f0 CMem::strlen(char const*) - 0xc0100648 CMem::memcpy(unsigned char*, unsigned char const*, int) - *fill* 0xc010071d 0x3 00 - .text 0xc0100720 0x8e MemoryManager/Mem.ns.o - 0xc0100778 Mem::kalloc(unsigned int, bool) - 0xc0100720 Mem::kallocInternal(unsigned int, bool) - *fill* 0xc01007ae 0x2 00 - .text 0xc01007b0 0x167 DisplayManager/Disp.ns.o - 0xc01007ba Disp::textRows() - 0xc01008a6 Disp::clear() - 0xc01007b0 Disp::textCols() - 0xc01008c4 Disp::setDisplay(Display*) - 0xc0100845 Disp::moveCursor(unsigned short, unsigned short) - 0xc01007c4 Disp::putChar(unsigned short, unsigned short, char, unsigned char) - *fill* 0xc0100917 0x1 00 - .text 0xc0100918 0x84d VTManager/VirtualTerminal.class.o - 0xc0100b7e VirtualTerminal::map(int, int) - 0xc0100bec VirtualTerminal::unmap() - 0xc0100e26 VirtualTerminal::put(char, bool) - 0xc0100dee VirtualTerminal::setCursorLine(unsigned int) - 0xc0100a18 VirtualTerminal::setColor(unsigned char, unsigned char) - 0xc0100e0a VirtualTerminal::setCursorCol(unsigned int) - 0xc0100998 VirtualTerminal::VirtualTerminal(unsigned int, unsigned int, unsigned char, unsigned char) - 0xc0100d8c VirtualTerminal::updateCursor() - 0xc0100f74 VirtualTerminal::write(char*, bool) - 0xc0100fc8 VirtualTerminal::writeDec(int, bool) - 0xc0100bf8 VirtualTerminal::redraw() - 0xc0100a66 VirtualTerminal::putChar(unsigned int, unsigned int, char) - 0xc01010ca VirtualTerminal::writeHex(unsigned int, bool) - 0xc0100cd2 VirtualTerminal::scroll() - 0xc0100918 VirtualTerminal::VirtualTerminal(unsigned int, unsigned int, unsigned char, unsigned char) - 0xc0100b14 VirtualTerminal::clear() - 0xc0100dc8 VirtualTerminal::moveCursor(unsigned int, unsigned int) - *fill* 0xc0101165 0x3 00 - .text 0xc0101168 0x12f Devices/Display/VGATextOutput.class.o - 0xc0101168 VGATextOutput::textCols() - 0xc0101260 VGATextOutput::clear() - 0xc01011da VGATextOutput::moveCursor(unsigned short, unsigned short) - 0xc010117c VGATextOutput::putChar(unsigned short, unsigned short, char, unsigned char) - 0xc0101172 VGATextOutput::textRows() - -.text._Znwj 0xc0101297 0x1b load address 0x00101297 - .text._Znwj 0xc0101297 0x1b Core/kmain.wtf.o - 0xc0101297 operator new(unsigned int) + .text 0xc0100520 0x75 Core/loader.wtf.o + 0xc010052c loader + *fill* 0xc0100595 0x3 00 + .text 0xc0100598 0xf Core/cppsupport.wtf.o + 0xc0100598 __cxa_pure_virtual + 0xc010059d __cxa_atexit + *fill* 0xc01005a7 0x1 00 + .text 0xc01005a8 0x41a Core/Sys.ns.o + 0xc0100602 Sys::bochs_output(char*, char*, unsigned int) + 0xc01005c6 Sys::inb(unsigned short) + 0xc01005e3 Sys::inw(unsigned short) + 0xc0100786 Sys::panic(char*, char*, unsigned int) + 0xc01009a6 Sys::reboot() + 0xc01005a8 Sys::outb(unsigned short, unsigned char) + 0xc01006fc Sys::bochs_output_hex(unsigned int) + 0xc0100896 Sys::panic_assert(char*, unsigned int, char*) + *fill* 0xc01009c2 0x2 00 + .text 0xc01009c4 0xd5 Core/CMem.ns.o + 0xc01009fa CMem::memset(unsigned char*, unsigned char, int) + 0xc0100a31 CMem::memsetw(unsigned short*, unsigned short, int) + 0xc0100a6c CMem::strlen(char const*) + 0xc01009c4 CMem::memcpy(unsigned char*, unsigned char const*, int) + *fill* 0xc0100a99 0x3 00 + .text 0xc0100a9c 0x8b4 MemoryManager/Mem.ns.o + 0xc0100f4f Mem::contractHeap() + 0xc0100b56 Mem::insertIntoHeapIndex(Mem::heap_header_t*) + 0xc0100cfa Mem::removeFromHeapIndex(Mem::heap_header_t*) + 0xc0100cb1 Mem::removeFromHeapIndex(unsigned int) + 0xc0100d21 Mem::createHeap() + 0xc0100e2f Mem::expandHeap(unsigned int) + 0xc01011ee Mem::kfree(void*) + 0xc010105f Mem::kalloc(unsigned int, bool) + 0xc0100c6f Mem::heapIndexFindEntry(Mem::heap_header_t*) + 0xc0100a9c Mem::kallocInternal(unsigned int, bool) + .text 0xc0101350 0x35c MemoryManager/PhysMem.ns.o + 0xc01016a2 PhysMem::total() + 0xc01014f2 PhysMem::removeTemporaryPages() + 0xc010162d PhysMem::freeFrame(page_t*) + 0xc010167c PhysMem::free() + 0xc0101546 PhysMem::allocFrame(page_t*, bool, bool) + 0xc0101350 PhysMem::initPaging(unsigned int) + *fill* 0xc01016ac 0x4 00 + .text 0xc01016b0 0x1d MemoryManager/GDT.wtf.o + 0xc01016b0 gdt_flush + *fill* 0xc01016cd 0x3 00 + .text 0xc01016d0 0x193 MemoryManager/GDT.ns.o + 0xc010175f GDT::init() + 0xc01016d0 GDT::setGate(int, unsigned int, unsigned int, unsigned char, unsigned char) + *fill* 0xc0101863 0x1 00 + .text 0xc0101864 0x2db MemoryManager/PageDirectory.class.o + 0xc01019cc PageDirectory::getPage(unsigned int, bool) + 0xc0101864 PageDirectory::PageDirectory() + 0xc010197a PageDirectory::~PageDirectory() + 0xc0101928 PageDirectory::~PageDirectory() + 0xc0101ade PageDirectory::freeFrame(unsigned int) + 0xc01018c6 PageDirectory::PageDirectory() + 0xc0101a8c PageDirectory::allocFrame(unsigned int, bool, bool) + 0xc0101b18 PageDirectory::switchTo() + *fill* 0xc0101b3f 0x1 00 + .text 0xc0101b40 0x239 MemoryManager/PageAlloc.ns.o + 0xc0101d5d PageAlloc::free(void*) + 0xc0101b94 PageAlloc::alloc(unsigned int*) + 0xc0101b40 PageAlloc::init() + *fill* 0xc0101d79 0x3 00 + .text 0xc0101d7c 0x16a DeviceManager/Disp.ns.o + 0xc0101d86 Disp::textRows() + 0xc0101e72 Disp::clear() + 0xc0101d7c Disp::textCols() + 0xc0101e90 Disp::setDisplay(Display*) + 0xc0101e11 Disp::moveCursor(unsigned short, unsigned short) + 0xc0101d90 Disp::putChar(unsigned short, unsigned short, char, unsigned char) + *fill* 0xc0101ee6 0x2 00 + .text 0xc0101ee8 0x310 DeviceManager/Dev.ns.o + 0xc0101f2c Dev::registerDevice(Device*) + 0xc0102000 Dev::findDevice(String) + 0xc0101f52 Dev::unregisterDevice(Device*) + 0xc0101fd4 Dev::requestIRQ(Device*, int) + 0xc0101ee8 Dev::handleIRQ(registers_t*, int) + .text 0xc01021f8 0x37 DeviceManager/Time.ns.o + 0xc01021f8 Time::setTimer(Timer*) + 0xc010221a Time::time() + 0xc0102205 Time::uptime() + *fill* 0xc010222f 0x1 00 + .text 0xc0102230 0x941 VTManager/VirtualTerminal.class.o + 0xc0102522 VirtualTerminal::map(int, int) + 0xc010259c VirtualTerminal::unmap() + 0xc010282a VirtualTerminal::put(char, bool) + 0xc01027f2 VirtualTerminal::setCursorLine(unsigned int) + 0xc0102398 VirtualTerminal::setColor(unsigned char, unsigned char) + 0xc0102330 VirtualTerminal::~VirtualTerminal() + 0xc010280e VirtualTerminal::setCursorCol(unsigned int) + 0xc01022b0 VirtualTerminal::VirtualTerminal(unsigned int, unsigned int, unsigned char, unsigned char) + 0xc0102790 VirtualTerminal::updateCursor() + 0xc0102980 VirtualTerminal::write(char*, bool) + 0xc01029d4 VirtualTerminal::writeDec(int, bool) + 0xc0102364 VirtualTerminal::~VirtualTerminal() + 0xc01025b6 VirtualTerminal::redraw() + 0xc01023e6 VirtualTerminal::putChar(unsigned int, unsigned int, char) + 0xc0102ad6 VirtualTerminal::writeHex(unsigned int, bool) + 0xc0102690 VirtualTerminal::scroll() + 0xc0102230 VirtualTerminal::VirtualTerminal(unsigned int, unsigned int, unsigned char, unsigned char) + 0xc01024b8 VirtualTerminal::clear() + 0xc01027cc VirtualTerminal::moveCursor(unsigned int, unsigned int) + *fill* 0xc0102b71 0x3 00 + .text 0xc0102b74 0x156 VTManager/VT.ns.o + 0xc0102b9a VT::unmap(VirtualTerminal*) + 0xc0102c21 VT::redrawScreen() + 0xc0102b74 VT::map(VirtualTerminal*) + *fill* 0xc0102cca 0x2 00 + .text 0xc0102ccc 0x2f1 Library/Bitset.class.o + 0xc0102fb2 Bitset::usedBits() + 0xc0102ccc Bitset::Bitset() + 0xc0102ed4 Bitset::testBit(unsigned int) + 0xc0102d9a Bitset::~Bitset() + 0xc0102e6c Bitset::clearBit(unsigned int) + 0xc0102db0 Bitset::init(unsigned int, unsigned int*) + 0xc0102cd8 Bitset::Bitset(unsigned int) + 0xc0102cd2 Bitset::Bitset() + 0xc0102d0c Bitset::Bitset(unsigned int) + 0xc0102e06 Bitset::setBit(unsigned int) + 0xc0102d84 Bitset::~Bitset() + 0xc0102d62 Bitset::Bitset(unsigned int, unsigned int*) + 0xc0102d40 Bitset::Bitset(unsigned int, unsigned int*) + 0xc0102f1c Bitset::firstFreeBit() + *fill* 0xc0102fbd 0x3 00 + .text 0xc0102fc0 0xd2c Library/String.class.o + 0xc0102fc0 String::hex(unsigned int) + 0xc01035e4 String::operator==(char*) + 0xc01039b6 String::toInt() + 0xc01033ac String::String(String const&) + 0xc0103208 String::String() + 0xc0103220 String::String() + 0xc0103b32 String::size() + 0xc0103074 String::number(int) + 0xc0103582 String::operator==(String&) + 0xc0103914 String::operator+(char*) + 0xc0103442 String::~String() + 0xc0103334 String::String(String const&) + 0xc010399c String::operator char*() + 0xc0103424 String::~String() + 0xc0103460 String::operator=(String const&) + 0xc0103238 String::String(char*) + 0xc0103656 String::operator+=(String&) + 0xc0103b22 String::operator[](int) + 0xc0103b3e String::clear() + 0xc0103b66 String::empty() + 0xc0103824 String::operator+=(char) + 0xc0103b76 String::split(char) + 0xc0103a6a String::toInt16() + 0xc0103c50 String::substr(int, int) + 0xc0103954 String::operator+(char) + 0xc01032b6 String::String(char*) + 0xc0103732 String::operator+=(char*) + 0xc01034ee String::operator=(char*) + 0xc01038d4 String::operator+(String&) + .text 0xc0103cec 0x9b8 SyscallManager/IDT.ns.o + 0xc0104591 IDT::handleException(registers_t*, int) + 0xc0103d94 IDT::init() + 0xc0103d2d IDT::setGate(unsigned char, unsigned int, unsigned short, unsigned char) + 0xc0103cec interrupt_handler + *fill* 0xc01046a4 0xc 00 + .text 0xc01046b0 0x204 SyscallManager/IDT.wtf.o + 0xc01046e0 isr4 + 0xc01047ba isr27 + 0xc0104732 isr13 + 0xc0104864 irq12 + 0xc0104788 isr22 + 0xc0104742 isr15 + 0xc0104850 irq10 + 0xc0104878 irq14 + 0xc0104710 isr9 + 0xc010483c irq8 + 0xc0104792 isr23 + 0xc01047ce isr29 + 0xc01047e2 isr31 + 0xc010477e isr21 + 0xc010485a irq11 + 0xc01047c4 isr28 + 0xc0104708 isr8 + 0xc010481e irq5 + 0xc0104774 isr20 + 0xc010473a isr14 + 0xc01046ea isr5 + 0xc0104828 irq6 + 0xc01047f6 irq1 + 0xc01046c2 isr1 + 0xc0104846 irq9 + 0xc01047b0 isr26 + 0xc0104722 isr11 + 0xc010486e irq13 + 0xc010472a isr12 + 0xc01046b8 isr0 + 0xc0104800 irq2 + 0xc010479c isr24 + 0xc010474c isr16 + 0xc01046d6 isr3 + 0xc01046f4 isr6 + 0xc0104832 irq7 + 0xc0104760 isr18 + 0xc01047ec irq0 + 0xc010471a isr10 + 0xc0104756 isr17 + 0xc01046cc isr2 + 0xc010476a isr19 + 0xc01046b0 idt_flush + 0xc01047d8 isr30 + 0xc0104882 irq15 + 0xc01046fe isr7 + 0xc01047a6 isr25 + 0xc0104814 irq4 + 0xc010480a irq3 + .text 0xc01048b4 0x17f Devices/Display/VGATextOutput.class.o + 0xc01048dc VGATextOutput::getName() + 0xc0104904 VGATextOutput::textCols() + 0xc01049fc VGATextOutput::clear() + 0xc01048b4 VGATextOutput::getClass() + 0xc0104976 VGATextOutput::moveCursor(unsigned short, unsigned short) + 0xc0104918 VGATextOutput::putChar(unsigned short, unsigned short, char, unsigned char) + 0xc010490e VGATextOutput::textRows() + *fill* 0xc0104a33 0x1 00 + .text 0xc0104a34 0x219 Devices/Timer.class.o + 0xc0104b4c Timer::setFrequency(unsigned char) + 0xc0104a34 Timer::Timer(unsigned char) + 0xc0104afc Timer::getClass() + 0xc0104b24 Timer::getName() + 0xc0104bd0 Timer::time() + 0xc0104c0a Timer::handleIRQ(registers_t, int) + 0xc0104bc4 Timer::uptime() + 0xc0104a98 Timer::Timer(unsigned char) + +.text._Znwj 0xc0104c4d 0x1b load address 0x00104c4d + .text._Znwj 0xc0104c4d 0x1b Core/kmain.wtf.o + 0xc0104c4d operator new(unsigned int) + +.text._ZN6Device9handleIRQEP11registers_ti + 0xc0104c68 0x5 load address 0x00104c68 + .text._ZN6Device9handleIRQEP11registers_ti + 0xc0104c68 0x5 Core/kmain.wtf.o + 0xc0104c68 Device::handleIRQ(registers_t*, int) .text._ZN15VirtualTerminallsEPc - 0xc01012b2 0x25 load address 0x001012b2 + 0xc0104c6e 0x25 load address 0x00104c6e .text._ZN15VirtualTerminallsEPc - 0xc01012b2 0x25 Core/kmain.wtf.o - 0xc01012b2 VirtualTerminal::operator<<(char*) + 0xc0104c6e 0x25 Core/kmain.wtf.o + 0xc0104c6e VirtualTerminal::operator<<(char*) .text._ZN15VirtualTerminallsEi - 0xc01012d8 0x25 load address 0x001012d8 + 0xc0104c94 0x25 load address 0x00104c94 .text._ZN15VirtualTerminallsEi - 0xc01012d8 0x25 Core/kmain.wtf.o - 0xc01012d8 VirtualTerminal::operator<<(int) + 0xc0104c94 0x25 Core/kmain.wtf.o + 0xc0104c94 VirtualTerminal::operator<<(int) + +.text._ZN15VirtualTerminallsEj + 0xc0104cba 0x25 load address 0x00104cba + .text._ZN15VirtualTerminallsEj + 0xc0104cba 0x25 Core/kmain.wtf.o + 0xc0104cba VirtualTerminal::operator<<(unsigned int) + +.text._ZN6DeviceC2Ev + 0xc0104ce0 0xe load address 0x00104ce0 + .text._ZN6DeviceC2Ev + 0xc0104ce0 0xe Core/kmain.wtf.o + 0xc0104ce0 Device::Device() .text._ZN7DisplayC2Ev - 0xc01012fe 0xe load address 0x001012fe + 0xc0104cee 0x1c load address 0x00104cee .text._ZN7DisplayC2Ev - 0xc01012fe 0xe Core/kmain.wtf.o - 0xc01012fe Display::Display() + 0xc0104cee 0x1c Core/kmain.wtf.o + 0xc0104cee Display::Display() .text._ZN13VGATextOutputC1Ev - 0xc010130c 0x1c load address 0x0010130c + 0xc0104d0a 0x1c load address 0x00104d0a .text._ZN13VGATextOutputC1Ev - 0xc010130c 0x1c Core/kmain.wtf.o - 0xc010130c VGATextOutput::VGATextOutput() + 0xc0104d0a 0x1c Core/kmain.wtf.o + 0xc0104d0a VGATextOutput::VGATextOutput() + +.text._ZnwjPv 0xc0104d26 0x8 load address 0x00104d26 + .text._ZnwjPv 0xc0104d26 0x8 MemoryManager/PhysMem.ns.o + 0xc0104d26 operator new(unsigned int, void*) + +.text._ZdaPv 0xc0104d2e 0x13 load address 0x00104d2e + .text._ZdaPv 0xc0104d2e 0x13 DeviceManager/Dev.ns.o + 0xc0104d2e operator delete[](void*) + +.text._ZN6VectorIP6DeviceEC1Ev + 0xc0104d42 0x18 load address 0x00104d42 + .text._ZN6VectorIP6DeviceEC1Ev + 0xc0104d42 0x18 DeviceManager/Dev.ns.o + 0xc0104d42 Vector<Device*>::Vector() + +.text._ZN6VectorIP6DeviceE4pushES1_ + 0xc0104d5a 0x91 load address 0x00104d5a + .text._ZN6VectorIP6DeviceE4pushES1_ + 0xc0104d5a 0x91 DeviceManager/Dev.ns.o + 0xc0104d5a Vector<Device*>::push(Device*) + +.text._ZN6VectorIP6DeviceE4sizeEv + 0xc0104dec 0xb load address 0x00104dec + .text._ZN6VectorIP6DeviceE4sizeEv + 0xc0104dec 0xb DeviceManager/Dev.ns.o + 0xc0104dec Vector<Device*>::size() + +.text._ZN6VectorIP6DeviceEixEj + 0xc0104df8 0x12 load address 0x00104df8 + .text._ZN6VectorIP6DeviceEixEj + 0xc0104df8 0x12 DeviceManager/Dev.ns.o + 0xc0104df8 Vector<Device*>::operator[](unsigned int) + +.text._ZN6VectorIP6DeviceE4backEv + 0xc0104e0a 0x19 load address 0x00104e0a + .text._ZN6VectorIP6DeviceE4backEv + 0xc0104e0a 0x19 DeviceManager/Dev.ns.o + 0xc0104e0a Vector<Device*>::back() + +.text._ZN6VectorIP6DeviceE3popEv + 0xc0104e24 0x6d load address 0x00104e24 + .text._ZN6VectorIP6DeviceE3popEv + 0xc0104e24 0x6d DeviceManager/Dev.ns.o + 0xc0104e24 Vector<Device*>::pop() + +.text._ZN6VectorIP6DeviceEC1ERKS2_ + 0xc0104e92 0x7f load address 0x00104e92 + .text._ZN6VectorIP6DeviceEC1ERKS2_ + 0xc0104e92 0x7f DeviceManager/Dev.ns.o + 0xc0104e92 Vector<Device*>::Vector(Vector<Device*> const&) + +.text._ZN6VectorIP6DeviceED1Ev + 0xc0104f12 0x27 load address 0x00104f12 + .text._ZN6VectorIP6DeviceED1Ev + 0xc0104f12 0x27 DeviceManager/Dev.ns.o + 0xc0104f12 Vector<Device*>::~Vector() + +.text._Znaj 0xc0104f39 0x1b load address 0x00104f39 + .text._Znaj 0xc0104f39 0x1b VTManager/VirtualTerminal.class.o + 0xc0104f39 operator new[](unsigned int) + +.text._ZN6VectorIP15VirtualTerminalEC1Ev + 0xc0104f54 0x18 load address 0x00104f54 + .text._ZN6VectorIP15VirtualTerminalEC1Ev + 0xc0104f54 0x18 VTManager/VT.ns.o + 0xc0104f54 Vector<VirtualTerminal*>::Vector() + +.text._ZN6VectorIP15VirtualTerminalE4pushES1_ + 0xc0104f6c 0x91 load address 0x00104f6c + .text._ZN6VectorIP15VirtualTerminalE4pushES1_ + 0xc0104f6c 0x91 VTManager/VT.ns.o + 0xc0104f6c Vector<VirtualTerminal*>::push(VirtualTerminal*) + +.text._ZN6VectorIP15VirtualTerminalE4sizeEv + 0xc0104ffe 0xb load address 0x00104ffe + .text._ZN6VectorIP15VirtualTerminalE4sizeEv + 0xc0104ffe 0xb VTManager/VT.ns.o + 0xc0104ffe Vector<VirtualTerminal*>::size() + +.text._ZN6VectorIP15VirtualTerminalEixEj + 0xc010500a 0x12 load address 0x0010500a + .text._ZN6VectorIP15VirtualTerminalEixEj + 0xc010500a 0x12 VTManager/VT.ns.o + 0xc010500a Vector<VirtualTerminal*>::operator[](unsigned int) + +.text._ZN6VectorIP15VirtualTerminalE4backEv + 0xc010501c 0x19 load address 0x0010501c + .text._ZN6VectorIP15VirtualTerminalE4backEv + 0xc010501c 0x19 VTManager/VT.ns.o + 0xc010501c Vector<VirtualTerminal*>::back() -.text._Znaj 0xc0101328 0x1b load address 0x00101328 - .text._Znaj 0xc0101328 0x1b VTManager/VirtualTerminal.class.o - 0xc0101328 operator new[](unsigned int) +.text._ZN6VectorIP15VirtualTerminalE3popEv + 0xc0105036 0x6d load address 0x00105036 + .text._ZN6VectorIP15VirtualTerminalE3popEv + 0xc0105036 0x6d VTManager/VT.ns.o + 0xc0105036 Vector<VirtualTerminal*>::pop() -.rodata 0xc0102000 0x293 load address 0x00102000 +.text._ZN6VectorIP15VirtualTerminalED1Ev + 0xc01050a4 0x27 load address 0x001050a4 + .text._ZN6VectorIP15VirtualTerminalED1Ev + 0xc01050a4 0x27 VTManager/VT.ns.o + 0xc01050a4 Vector<VirtualTerminal*>::~Vector() + +.text._ZN6VectorI6StringEC1Ev + 0xc01050cc 0x18 load address 0x001050cc + .text._ZN6VectorI6StringEC1Ev + 0xc01050cc 0x18 Library/String.class.o + 0xc01050cc Vector<String>::Vector() + +.text._ZN6VectorI6StringE4pushES0_ + 0xc01050e4 0x9b load address 0x001050e4 + .text._ZN6VectorI6StringE4pushES0_ + 0xc01050e4 0x9b Library/String.class.o + 0xc01050e4 Vector<String>::push(String) + +.text._ZN6VectorI6StringE4backEv + 0xc0105180 0x19 load address 0x00105180 + .text._ZN6VectorI6StringE4backEv + 0xc0105180 0x19 Library/String.class.o + 0xc0105180 Vector<String>::back() + +.rodata 0xc0106000 0x6f3 load address 0x00106000 *(.rodata) - .rodata 0xc0102000 0x23f Core/kmain.wtf.o - .rodata 0xc010223f 0x51 Core/Sys.ns.o - .rodata 0xc0102290 0x3 VTManager/VirtualTerminal.class.o + .rodata 0xc0106000 0x353 Core/kmain.wtf.o + .rodata 0xc0106353 0x4f Core/Sys.ns.o + .rodata 0xc01063a2 0x5c MemoryManager/PhysMem.ns.o + *fill* 0xc01063fe 0x2 00 + .rodata 0xc0106400 0x6f MemoryManager/PageAlloc.ns.o + .rodata 0xc010646f 0x3 VTManager/VirtualTerminal.class.o + .rodata 0xc0106472 0x5 Library/String.class.o + *fill* 0xc0106477 0x9 00 + .rodata 0xc0106480 0x220 SyscallManager/IDT.ns.o + .rodata 0xc01066a0 0x30 Devices/Display/VGATextOutput.class.o + .rodata 0xc01066d0 0x23 Devices/Timer.class.o .rodata._ZTV7Display - 0xc0102298 0x1c load address 0x00102298 + 0xc0106700 0x28 load address 0x00106700 .rodata._ZTV7Display - 0xc0102298 0x1c Core/kmain.wtf.o - 0xc0102298 vtable for Display + 0xc0106700 0x28 Core/kmain.wtf.o + 0xc0106700 vtable for Display + +.rodata._ZTV6Device + 0xc0106728 0x14 load address 0x00106728 + .rodata._ZTV6Device + 0xc0106728 0x14 Core/kmain.wtf.o + 0xc0106728 vtable for Device .rodata._ZTV13VGATextOutput - 0xc01022b8 0x1c load address 0x001022b8 + 0xc0106740 0x28 load address 0x00106740 .rodata._ZTV13VGATextOutput - 0xc01022b8 0x1c Devices/Display/VGATextOutput.class.o - 0xc01022b8 vtable for VGATextOutput + 0xc0106740 0x28 Devices/Display/VGATextOutput.class.o + 0xc0106740 vtable for VGATextOutput + +.rodata._ZTV5Timer + 0xc0106768 0x14 load address 0x00106768 + .rodata._ZTV5Timer + 0xc0106768 0x14 Devices/Timer.class.o + 0xc0106768 vtable for Timer -.rel.dyn 0xc01022d4 0x0 load address 0x001022d4 +.rel.dyn 0xc010677c 0x0 load address 0x0010677c .rel.text 0x00000000 0x0 Core/kmain.wtf.o .rel.text._Znwj 0x00000000 0x0 Core/kmain.wtf.o @@ -153,76 +538,173 @@ Linker script and memory map 0x00000000 0x0 Core/kmain.wtf.o .rel.text._ZN15VirtualTerminallsEi 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN15VirtualTerminallsEj + 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN6DeviceC2Ev + 0x00000000 0x0 Core/kmain.wtf.o .rel.text._ZN7DisplayC2Ev 0x00000000 0x0 Core/kmain.wtf.o .rel.text._ZN13VGATextOutputC1Ev 0x00000000 0x0 Core/kmain.wtf.o .rel.rodata._ZTV7Display 0x00000000 0x0 Core/kmain.wtf.o + .rel.rodata._ZTV6Device + 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN6VectorIP6DeviceE4pushES1_ + 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN6VectorIP6DeviceEC1ERKS2_ + 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN6VectorIP6DeviceED1Ev + 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN6VectorIP15VirtualTerminalE4pushES1_ + 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN6VectorIP15VirtualTerminalED1Ev + 0x00000000 0x0 Core/kmain.wtf.o + .rel.text._ZN6VectorI6StringE4pushES0_ + 0x00000000 0x0 Core/kmain.wtf.o + .rel.rodata._ZTV13VGATextOutput + 0x00000000 0x0 Core/kmain.wtf.o + .rel.rodata._ZTV5Timer + 0x00000000 0x0 Core/kmain.wtf.o -.data 0xc0103000 0x24 load address 0x00103000 - 0xc0103000 start_ctors = . +.data 0xc0107000 0x2c load address 0x00107000 + 0xc0107000 start_ctors = . *(.ctor*) - 0xc0103000 end_ctors = . - 0xc0103000 start_dtors = . + .ctors 0xc0107000 0x4 DeviceManager/Dev.ns.o + .ctors 0xc0107004 0x4 VTManager/VT.ns.o + 0xc0107008 end_ctors = . + 0xc0107008 start_dtors = . *(.dtor*) - 0xc0103000 end_dtors = . + 0xc0107008 end_dtors = . *(.data) - .data 0xc0103000 0x24 Core/kmain.wtf.o - 0xc0103020 melonLogoCols - 0xc0103000 melonLogo - 0xc010301c melonLogoLines - .data 0xc0103024 0x0 Core/cppsupport.wtf.o - .data 0xc0103024 0x0 Core/Sys.ns.o - .data 0xc0103024 0x0 Core/CMem.ns.o - .data 0xc0103024 0x0 MemoryManager/Mem.ns.o - .data 0xc0103024 0x0 DisplayManager/Disp.ns.o - .data 0xc0103024 0x0 VTManager/VirtualTerminal.class.o - .data 0xc0103024 0x0 Devices/Display/VGATextOutput.class.o - -.bss 0xc0103024 0x401c load address 0x00103024 - 0xc0103024 sbss = . + .data 0xc0107008 0x24 Core/kmain.wtf.o + 0xc0107028 melonLogoCols + 0xc0107008 melonLogo + 0xc0107024 melonLogoLines + .data 0xc010702c 0x0 Core/cppsupport.wtf.o + .data 0xc010702c 0x0 Core/Sys.ns.o + .data 0xc010702c 0x0 Core/CMem.ns.o + .data 0xc010702c 0x0 MemoryManager/Mem.ns.o + .data 0xc010702c 0x0 MemoryManager/PhysMem.ns.o + .data 0xc010702c 0x0 MemoryManager/GDT.ns.o + .data 0xc010702c 0x0 MemoryManager/PageDirectory.class.o + .data 0xc010702c 0x0 MemoryManager/PageAlloc.ns.o + .data 0xc010702c 0x0 DeviceManager/Disp.ns.o + .data 0xc010702c 0x0 DeviceManager/Dev.ns.o + .data 0xc010702c 0x0 DeviceManager/Time.ns.o + .data 0xc010702c 0x0 VTManager/VirtualTerminal.class.o + .data 0xc010702c 0x0 VTManager/VT.ns.o + .data 0xc010702c 0x0 Library/Bitset.class.o + .data 0xc010702c 0x0 Library/String.class.o + .data 0xc010702c 0x0 SyscallManager/IDT.ns.o + .data 0xc010702c 0x0 Devices/Display/VGATextOutput.class.o + .data 0xc010702c 0x0 Devices/Timer.class.o + +.bss 0xc0107040 0x4928 load address 0x00107040 + 0xc0107040 sbss = . *(COMMON) *(.bss) - .bss 0xc0103024 0x0 Core/kmain.wtf.o - .bss 0xc0103024 0x4000 Core/loader.wtf.o - .bss 0xc0107024 0x4 Core/cppsupport.wtf.o - 0xc0107024 __dso_handle - .bss 0xc0107028 0x0 Core/Sys.ns.o - .bss 0xc0107028 0x0 Core/CMem.ns.o - .bss 0xc0107028 0xc MemoryManager/Mem.ns.o - 0xc0107030 Mem::kheapFree - 0xc0107028 Mem::kheapUsable - 0xc010702c Mem::placementAddress - .bss 0xc0107034 0xc DisplayManager/Disp.ns.o - 0xc0107034 Disp::mode - .bss 0xc0107040 0x0 VTManager/VirtualTerminal.class.o - .bss 0xc0107040 0x0 Devices/Display/VGATextOutput.class.o - 0xc0107040 ebss = . - 0xc0107040 end = . - 0xc0107040 _end = . - 0xc0107040 __end = . + .bss 0xc0107040 0x0 Core/kmain.wtf.o + .bss 0xc0107040 0x4000 Core/loader.wtf.o + .bss 0xc010b040 0x4 Core/cppsupport.wtf.o + 0xc010b040 __dso_handle + .bss 0xc010b044 0x0 Core/Sys.ns.o + .bss 0xc010b044 0x0 Core/CMem.ns.o + .bss 0xc010b044 0x1c MemoryManager/Mem.ns.o + 0xc010b058 Mem::heapStart + 0xc010b045 Mem::pagingEnabled + 0xc010b04c Mem::kheapFree + 0xc010b05c Mem::heapEnd + 0xc010b044 Mem::kheapUsable + 0xc010b048 Mem::placementAddress + 0xc010b050 Mem::heapIndex + .bss 0xc010b060 0xc MemoryManager/PhysMem.ns.o + 0xc010b060 kernelPageDirectory + 0xc010b068 PhysMem::frames + 0xc010b064 PhysMem::nframes + *fill* 0xc010b06c 0x14 00 + .bss 0xc010b080 0x2e MemoryManager/GDT.ns.o + 0xc010b0a8 GDT::gdt_ptr + 0xc010b080 GDT::gdt_entries + *fill* 0xc010b0ae 0x2 00 + .bss 0xc010b0b0 0x0 MemoryManager/PageDirectory.class.o + .bss 0xc010b0b0 0x12 MemoryManager/PageAlloc.ns.o + 0xc010b0c0 PageAlloc::usable + 0xc010b0b0 PageAlloc::freePage + 0xc010b0bc PageAlloc::freec + 0xc010b0c1 PageAlloc::locked + *fill* 0xc010b0c2 0x2 00 + .bss 0xc010b0c4 0xc DeviceManager/Disp.ns.o + 0xc010b0c4 Disp::mode + *fill* 0xc010b0d0 0x10 00 + .bss 0xc010b0e0 0x60 DeviceManager/Dev.ns.o + 0xc010b0e0 Dev::devices + 0xc010b100 Dev::irqHandler + .bss 0xc010b140 0x4 DeviceManager/Time.ns.o + 0xc010b140 Time::timer + .bss 0xc010b144 0x0 VTManager/VirtualTerminal.class.o + .bss 0xc010b144 0x8 VTManager/VT.ns.o + 0xc010b144 VT::mappedVTs + .bss 0xc010b14c 0x0 Library/Bitset.class.o + .bss 0xc010b14c 0x0 Library/String.class.o + *fill* 0xc010b14c 0x14 00 + .bss 0xc010b160 0x806 SyscallManager/IDT.ns.o + 0xc010b160 IDT::idt_entries + 0xc010b960 IDT::idt_ptr + *fill* 0xc010b966 0x2 00 + .bss 0xc010b968 0x0 Devices/Display/VGATextOutput.class.o + .bss 0xc010b968 0x0 Devices/Timer.class.o + 0xc010b968 ebss = . + 0xc010b968 end = . + 0xc010b968 _end = . + 0xc010b968 __end = . LOAD Core/kmain.wtf.o LOAD Core/loader.wtf.o LOAD Core/cppsupport.wtf.o LOAD Core/Sys.ns.o LOAD Core/CMem.ns.o LOAD MemoryManager/Mem.ns.o -LOAD DisplayManager/Disp.ns.o +LOAD MemoryManager/PhysMem.ns.o +LOAD MemoryManager/GDT.wtf.o +LOAD MemoryManager/GDT.ns.o +LOAD MemoryManager/PageDirectory.class.o +LOAD MemoryManager/PageAlloc.ns.o +LOAD DeviceManager/Disp.ns.o +LOAD DeviceManager/Dev.ns.o +LOAD DeviceManager/Time.ns.o LOAD VTManager/VirtualTerminal.class.o +LOAD VTManager/VT.ns.o +LOAD Library/Bitset.class.o +LOAD Library/String.class.o +LOAD SyscallManager/IDT.ns.o +LOAD SyscallManager/IDT.wtf.o LOAD Devices/Display/VGATextOutput.class.o +LOAD Devices/Timer.class.o OUTPUT(Melon.ke elf32-i386) -.comment 0x00000000 0xaf +.comment 0x00000000 0x1b3 .comment 0x00000000 0x12 Core/kmain.wtf.o .comment 0x00000012 0x1f Core/loader.wtf.o .comment 0x00000031 0x12 Core/cppsupport.wtf.o .comment 0x00000043 0x12 Core/Sys.ns.o .comment 0x00000055 0x12 Core/CMem.ns.o .comment 0x00000067 0x12 MemoryManager/Mem.ns.o - .comment 0x00000079 0x12 DisplayManager/Disp.ns.o - .comment 0x0000008b 0x12 VTManager/VirtualTerminal.class.o - .comment 0x0000009d 0x12 Devices/Display/VGATextOutput.class.o + .comment 0x00000079 0x12 MemoryManager/PhysMem.ns.o + .comment 0x0000008b 0x1f MemoryManager/GDT.wtf.o + .comment 0x000000aa 0x12 MemoryManager/GDT.ns.o + .comment 0x000000bc 0x12 MemoryManager/PageDirectory.class.o + .comment 0x000000ce 0x12 MemoryManager/PageAlloc.ns.o + .comment 0x000000e0 0x12 DeviceManager/Disp.ns.o + .comment 0x000000f2 0x12 DeviceManager/Dev.ns.o + .comment 0x00000104 0x12 DeviceManager/Time.ns.o + .comment 0x00000116 0x12 VTManager/VirtualTerminal.class.o + .comment 0x00000128 0x12 VTManager/VT.ns.o + .comment 0x0000013a 0x12 Library/Bitset.class.o + .comment 0x0000014c 0x12 Library/String.class.o + .comment 0x0000015e 0x12 SyscallManager/IDT.ns.o + .comment 0x00000170 0x1f SyscallManager/IDT.wtf.o + .comment 0x0000018f 0x12 Devices/Display/VGATextOutput.class.o + .comment 0x000001a1 0x12 Devices/Timer.class.o .note.GNU-stack 0x00000000 0x0 @@ -237,8 +719,30 @@ OUTPUT(Melon.ke elf32-i386) .note.GNU-stack 0x00000000 0x0 MemoryManager/Mem.ns.o .note.GNU-stack - 0x00000000 0x0 DisplayManager/Disp.ns.o + 0x00000000 0x0 MemoryManager/PhysMem.ns.o + .note.GNU-stack + 0x00000000 0x0 MemoryManager/GDT.ns.o + .note.GNU-stack + 0x00000000 0x0 MemoryManager/PageDirectory.class.o + .note.GNU-stack + 0x00000000 0x0 MemoryManager/PageAlloc.ns.o + .note.GNU-stack + 0x00000000 0x0 DeviceManager/Disp.ns.o + .note.GNU-stack + 0x00000000 0x0 DeviceManager/Dev.ns.o + .note.GNU-stack + 0x00000000 0x0 DeviceManager/Time.ns.o .note.GNU-stack 0x00000000 0x0 VTManager/VirtualTerminal.class.o .note.GNU-stack + 0x00000000 0x0 VTManager/VT.ns.o + .note.GNU-stack + 0x00000000 0x0 Library/Bitset.class.o + .note.GNU-stack + 0x00000000 0x0 Library/String.class.o + .note.GNU-stack + 0x00000000 0x0 SyscallManager/IDT.ns.o + .note.GNU-stack 0x00000000 0x0 Devices/Display/VGATextOutput.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/Timer.class.o |