summaryrefslogtreecommitdiff
path: root/Source/Kernel/Map.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Kernel/Map.txt')
-rw-r--r--Source/Kernel/Map.txt770
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