From e2d5d79bbc90d73f709953f04b2b0d1faac4d43e Mon Sep 17 00:00:00 2001 From: Alexis211 Date: Wed, 23 Dec 2009 19:19:55 +0100 Subject: Changed the way virtual terminal commands are handled These commands include those for moving the cursor, showing/hiding it, changing the color, ... --- Source/Applications/Demos/GOL.cpp | 2 +- Source/Applications/Demos/Makefile | 2 +- Source/Applications/PaperWork/Makefile | 2 +- Source/Applications/Shell/Applets/rot13 | Bin 73404 -> 0 bytes Source/Applications/Shell/Makefile | 6 +- Source/Applications/Shell/Shell-fs.class.cpp | 10 +- Source/Kernel/Core/SB.ns.cpp | 50 +- Source/Kernel/Core/kmain.wtf.cpp | 50 +- Source/Kernel/DeviceManager/Disp.ns.cpp | 6 +- Source/Kernel/Kernel.ld | 38 + Source/Kernel/Kernel.map | 3783 ++++++++++++++++++++ Source/Kernel/Link.ld | 38 - Source/Kernel/Makefile | 2 +- Source/Kernel/Shell/KernelShell-fs.class.cpp | 6 +- Source/Kernel/Shell/KernelShell-sys.class.cpp | 6 +- Source/Kernel/Shell/KernelShell.class.cpp | 6 +- Source/Kernel/VTManager/FileVT.class.cpp | 8 +- Source/Kernel/VTManager/FileVT.class.h | 2 +- Source/Kernel/VTManager/PipeVT.class.cpp | 8 +- Source/Kernel/VTManager/PipeVT.class.h | 2 +- Source/Kernel/VTManager/ScrollableVT.class.h | 7 +- Source/Kernel/VTManager/SimpleVT.class.cpp | 62 +- Source/Kernel/VTManager/SimpleVT.class.h | 19 +- .../Kernel/VTManager/VirtualTerminal-sc.proto.cpp | 44 +- Source/Kernel/VTManager/VirtualTerminal.proto.cpp | 13 +- Source/Kernel/VTManager/VirtualTerminal.proto.h | 16 +- Source/Library/App.ld | 33 + Source/Library/Interface/VirtualTerminal.iface.h | 58 +- Source/Library/Link.ld | 33 - Source/Library/Makefile | 10 +- Source/Library/Melon.a | Bin 0 -> 11678 bytes .../Userland/Binding/VirtualTerminal.class.h | 48 +- 32 files changed, 4052 insertions(+), 318 deletions(-) delete mode 100755 Source/Applications/Shell/Applets/rot13 create mode 100644 Source/Kernel/Kernel.ld create mode 100644 Source/Kernel/Kernel.map delete mode 100644 Source/Kernel/Link.ld create mode 100644 Source/Library/App.ld delete mode 100644 Source/Library/Link.ld create mode 100644 Source/Library/Melon.a (limited to 'Source') diff --git a/Source/Applications/Demos/GOL.cpp b/Source/Applications/Demos/GOL.cpp index ba9cb1c..48d728b 100644 --- a/Source/Applications/Demos/GOL.cpp +++ b/Source/Applications/Demos/GOL.cpp @@ -45,7 +45,7 @@ int GOL::run() { } } } - outvt.moveCursor(0, 0); + outvt << MVT::movecsr(0, 0); outvt.write(tmp.toString()); //BYPASS buffering outvt<< "Press Ctrl+h for help" << FLUSH; diff --git a/Source/Applications/Demos/Makefile b/Source/Applications/Demos/Makefile index e66acce..82489ba 100644 --- a/Source/Applications/Demos/Makefile +++ b/Source/Applications/Demos/Makefile @@ -7,7 +7,7 @@ CXX = g++ CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I ../../Library/Common -I ../../Library/Interface -I ../../Library/Userland -D THIS_IS_MELON_USERLAND LD = ld -LDFLAGS = -T ../../Library/Link.ld -L ../../Library +LDFLAGS = -T ../../Library/App.ld -L ../../Library Applications = asmdemo cxxdemo GOL diff --git a/Source/Applications/PaperWork/Makefile b/Source/Applications/PaperWork/Makefile index 8d079ec..5c379fb 100644 --- a/Source/Applications/PaperWork/Makefile +++ b/Source/Applications/PaperWork/Makefile @@ -4,7 +4,7 @@ CXX = g++ CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I ../../Library/Common -I ../../Library/Interface -I ../../Library/Userland -D THIS_IS_MELON_USERLAND LD = ld -LDFLAGS = -T ../../Library/Link.ld -L ../../Library -Map Map.txt +LDFLAGS = -T ../../Library/App.ld -L ../../Library -Map Map.txt Objects = PaperWork.o OutFile = PaperWork diff --git a/Source/Applications/Shell/Applets/rot13 b/Source/Applications/Shell/Applets/rot13 deleted file mode 100755 index 0399a6f..0000000 Binary files a/Source/Applications/Shell/Applets/rot13 and /dev/null differ diff --git a/Source/Applications/Shell/Makefile b/Source/Applications/Shell/Makefile index e972dfb..4efe01e 100644 --- a/Source/Applications/Shell/Makefile +++ b/Source/Applications/Shell/Makefile @@ -4,7 +4,7 @@ CXX = g++ CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I ../../Library/Common -I ../../Library/Interface -I ../../Library/Userland -D THIS_IS_MELON_USERLAND LD = ld -LDFLAGS = -T ../../Library/Link.ld -L ../../Library +LDFLAGS = -T ../../Library/App.ld -L ../../Library Objects = Shell.class.o \ Shell-fs.class.o @@ -31,8 +31,8 @@ Applets/%: Applets/%.o clean: echo "* Removing object files..." - rm -rf *.o + rm -rf *.o Applets/*.o mrproper: clean echo "* Removing applications..." - rm -rf $(OutFile) + rm -rf $(OutFile) $(Applets) diff --git a/Source/Applications/Shell/Shell-fs.class.cpp b/Source/Applications/Shell/Shell-fs.class.cpp index 30faaf7..23af339 100644 --- a/Source/Applications/Shell/Shell-fs.class.cpp +++ b/Source/Applications/Shell/Shell-fs.class.cpp @@ -28,13 +28,11 @@ void Shell::ls(Vector& args) { if (((p >> i) & 1) == 0) perm[8 - i] = "-"; } if (n.type() == NT_FILE) { - outvt << " FILE " << perm << " " << n.getName() << FLUSH; - outvt.setCsrCol(30); - outvt << (s32int)n.getLength() << " bytes.\n"; + outvt << " FILE " << perm << " " << n.getName(); + outvt << MVT::setcsrcol(35) << (s32int)n.getLength() << " bytes.\n"; } else if (n.type() == NT_DIRECTORY) { - outvt << " DIR " << perm << " " << n.getName() << "/" << FLUSH; - outvt.setCsrCol(30); - outvt << (s32int)n.getLength() << " items.\n"; + outvt << " DIR " << perm << " " << n.getName() << "/"; + outvt << MVT::setcsrcol(35) << (s32int)n.getLength() << " items.\n"; } } } diff --git a/Source/Kernel/Core/SB.ns.cpp b/Source/Kernel/Core/SB.ns.cpp index f5b21ec..acf042f 100644 --- a/Source/Kernel/Core/SB.ns.cpp +++ b/Source/Kernel/Core/SB.ns.cpp @@ -22,57 +22,37 @@ void init() { sb = new SimpleVT(1, 80, STATUSBAR_FGCOLOR, STATUSBAR_BGCOLOR); height = 1; sb->map(0, 0); - sb->hideCursor(); + *sb << MVT::hidecsr(); } void drawprogress(const String& s) { - sb->clear(); + *sb << MVT::clear(); int d = (sb->width() / 2) - ((BOOT_ITEMS + 4) / 2); if (height == 1) d -= 4; - sb->moveCursor(0, d); - *sb << "{"; + *sb << MVT::movecsr(0, d) << "{"; for (u32int i = 0; i < boot_progress; i++) *sb << ":"; - *sb << "."; - sb->moveCursor(0, BOOT_ITEMS + d + 3); - *sb << "}"; + *sb << "." << MVT::movecsr(0, BOOT_ITEMS + d + 3) << "}"; if (height > 1) { *sb << "\n"; - *sb << "Loading : [" << s; - sb->moveCursor(1, sb->width() - 2); - *sb << "]"; + *sb << "Loading : [" << s << MVT::movecsr(1, sb->width() - 2) << "]"; } else { - sb->moveCursor(0, 0); - *sb << "Melon is loading :"; - sb->moveCursor(0, d + BOOT_ITEMS + 6); - *sb << "[" << s; - sb->moveCursor(0, sb->width() - 2); - *sb << "]"; + *sb << MVT::movecsr(0, 0) << "Melon is loading :" << MVT::movecsr(0, d + BOOT_ITEMS + 6) << "[" << s; + *sb << MVT::movecsr(0, sb->width() - 2) << "]"; } } void drawnormal() { - sb->clear(); - sb->moveCursor(0, 0); - *sb << " [Up:" << (s64int)Time::uptime() << "s"; - sb->moveCursor(0, 10); - *sb << "] [Mem:" << (s64int)PhysMem::free() << "/" << (s64int)PhysMem::total(); - sb->moveCursor(0, 28); - *sb << "] [Proc.:" << (s64int)Task::processes->size(); - sb->setCursorCol(39); + *sb << MVT::clear() << MVT::movecsr(0, 0) << " [Up:" << (s64int)Time::uptime() << "s"; + *sb << MVT::movecsr(0, 10) << "] [Mem:" << (s64int)PhysMem::free() << "/" << (s64int)PhysMem::total(); + *sb << MVT::movecsr(0, 28) << "] [Proc.:" << (s64int)Task::processes->size() << MVT::setcsrcol(39); if (height > 1) { - *sb << "]"; - sb->moveCursor(1, 0); + *sb << "]" << MVT::movecsr(1, 0); *sb << " [Threads:" << (s64int)Task::threads->size(); - sb->setCursorCol(12); - *sb << "] [" << msg; - sb->setCursorCol(sb->width() - 2); - *sb << "]"; + *sb << MVT::setcsrcol(12) << "] [" << msg; + *sb << MVT::setcsrcol(sb->width() - 2) << "]"; } else { *sb << "] [Threads:" << (s64int)Task::threads->size(); - sb->setCursorCol(52); - *sb << "] [" << msg; - sb->setCursorCol(sb->width() - 2); - *sb << "]"; + *sb << MVT::setcsrcol(52) << "] [" << msg << MVT::setcsrcol(sb->width() - 2) << "]"; } } @@ -83,7 +63,7 @@ void reinit() { height = (Disp::mode.textCols < 80 ? 2 : 1); sb = new SimpleVT(height, Disp::mode.textCols, STATUSBAR_FGCOLOR, STATUSBAR_BGCOLOR); sb->map(0, 0); - sb->hideCursor(); + *sb << MVT::hidecsr(); if (boot_progress != 0) { drawprogress(msg); } else { diff --git a/Source/Kernel/Core/kmain.wtf.cpp b/Source/Kernel/Core/kmain.wtf.cpp index 1760de8..bd19e8c 100644 --- a/Source/Kernel/Core/kmain.wtf.cpp +++ b/Source/Kernel/Core/kmain.wtf.cpp @@ -44,50 +44,6 @@ extern "C" void kmain(multiboot_info_t* mbd, u32int magic); SimpleVT* kvt; -u32int logoAnimation(void* p) { - SimpleVT& vt = *((SimpleVT*)p); - vt.setColor(8); - u8int *wat = new u8int[melonLogoLines * melonLogoCols]; - for (int x = 0; x < melonLogoCols; x++) { - for (int y = 0; y < melonLogoLines; y++) { - wat[x * melonLogoLines + y] = melonLogo[y][x]; - vt.putChar(y, x, " "); - } - } - vt.setColor(TXTLOGO_FGCOLOR); - u32int s = 32; - for (int i = 0; i < 255; i++) { - for (int x = 0; x < (i < melonLogoCols ? i : melonLogoCols); x++) { - for (int y = 0; y < melonLogoLines; y++) { - if (wat[x * melonLogoLines + y] != melonLogo[y][x]) { - wat[x * melonLogoLines + y]++; - if (wat[x * melonLogoLines + y] > melonLogo[y][x] && (y + x) % 2 == 1) - wat[x * melonLogoLines + y] += 2; - if (wat[x * melonLogoLines + y] >= 127) - wat[x * melonLogoLines + y] = 32; - vt.setColor(7); - vt.putChar(y, x, wat[x * melonLogoLines + y]); - } else { - vt.setColor(TXTLOGO_FGCOLOR); - vt.putChar(y, x, wat[x * melonLogoLines + y]); - } - } - } - vt.setColor(8); - if (i < melonLogoCols) { - for (int y = 0; y < melonLogoLines; y++) { - s += 102; - while (s > 127) s -= (127 - 33); - wat[(i + (y%3)) * melonLogoLines + y] = s; - vt.putChar(y, (i + (y%3)), wat[(i + (y%3)) * melonLogoLines + y]); - } - } - Task::currThread()->sleep(20); - } - delete wat; - return 0; -} - void kmain(multiboot_info_t* mbd, u32int magic) { DEBUG("Entering kmain."); @@ -121,12 +77,12 @@ void kmain(multiboot_info_t* mbd, u32int magic) { SB::progress("Create kernel VT"); kvt = new ScrollableVT(24, 80, 20, KVT_FGCOLOR, KVT_BGCOLOR); kvt->map(1, 0); - kvt->setColor(TXTLOGO_FGCOLOR, TXTLOGO_BGCOLOR); + *kvt << MVT::setcolor(TXTLOGO_FGCOLOR, TXTLOGO_BGCOLOR); for (int i = 0; i < melonLogoLines; i++) { - kvt->setCursorCol(40 - (melonLogoCols / 2)); + *kvt << MVT::setcsrcol(40 - (melonLogoCols / 2)); *kvt << melonLogo[i] << "\n"; } - kvt->setColor(KVT_FGCOLOR, KVT_BGCOLOR); + *kvt << MVT::setcolor(KVT_FGCOLOR, KVT_BGCOLOR); SB::progress("IDT"); IDT::init(); //Setup interrupts diff --git a/Source/Kernel/DeviceManager/Disp.ns.cpp b/Source/Kernel/DeviceManager/Disp.ns.cpp index 7ccf254..08de1da 100644 --- a/Source/Kernel/DeviceManager/Disp.ns.cpp +++ b/Source/Kernel/DeviceManager/Disp.ns.cpp @@ -60,15 +60,13 @@ void selectMode() { for (u32int i = 0; i < Disp::modes.size(); i++) { Disp::mode_t& m = Disp::modes[i]; - *kvt << (s32int)i << ":\t" << "Text " << m.textRows << "x" << m.textCols; - kvt->setCursorCol(21); + *kvt << (s32int)i << ":\t" << "Text " << m.textRows << "x" << m.textCols << MVT::setcsrcol(21); if (m.graphWidth != 0 and m.graphHeight != 0) { *kvt << "Graphics " << m.graphWidth << "x" << m.graphHeight << "x" << m.graphDepth << "\t"; } else { *kvt << "No graphics"; } - kvt->setCursorCol(45); - *kvt << m.device->getName() << "\n"; + *kvt << MVT::setcsrcol(45) << m.device->getName() << "\n"; } while (1) { diff --git a/Source/Kernel/Kernel.ld b/Source/Kernel/Kernel.ld new file mode 100644 index 0000000..dd6add0 --- /dev/null +++ b/Source/Kernel/Kernel.ld @@ -0,0 +1,38 @@ +ENTRY (loader) + +SECTIONS{ + . = 0x00100000; + + .setup : { + *(.setup) + } + + . += 0xC0000000; + + .text : AT(ADDR(.text) - 0xC0000000) { + *(.text) + } + + .rodata ALIGN (0x1000) : AT(ADDR(.rodata) - 0xC0000000) { + *(.rodata) + } + + .data ALIGN (0x1000) : AT(ADDR(.data) - 0xC0000000) { + start_ctors = .; + *(.ctor*) + end_ctors = .; + start_dtors = .; + *(.dtor*) + end_dtors = .; + *(.data) + } + + .bss : AT(ADDR(.bss) - 0xC0000000) { + sbss = .; + *(COMMON) + *(.bss) + ebss = .; + } + + end = .; _end = .; __end = .; +} diff --git a/Source/Kernel/Kernel.map b/Source/Kernel/Kernel.map new file mode 100644 index 0000000..0003716 --- /dev/null +++ b/Source/Kernel/Kernel.map @@ -0,0 +1,3783 @@ + +Discarded input sections + + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/kmain.wtf.o + .group 0x00000000 0x8 Core/Sys.ns.o + .group 0x00000000 0x8 Core/Sys.ns.o + .group 0x00000000 0x8 Core/Sys.ns.o + .group 0x00000000 0x8 Core/Sys.ns.o + .group 0x00000000 0x8 Core/Sys.ns.o + .group 0x00000000 0x8 Core/Sys.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Core/Sys.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Core/Sys.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Core/Sys.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Core/Sys.ns.o + .rodata._ZTV6String + 0x00000000 0x10 Core/Sys.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Core/Sys.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .group 0x00000000 0x8 Core/Log.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Core/Log.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Core/Log.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Core/Log.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Core/Log.ns.o + .text._ZN8TextFileD0Ev + 0x00000000 0x25 Core/Log.ns.o + .text._ZN8TextFileD1Ev + 0x00000000 0x15 Core/Log.ns.o + .rodata._ZTV6String + 0x00000000 0x10 Core/Log.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Core/Log.ns.o + .rodata._ZTV8TextFile + 0x00000000 0x14 Core/Log.ns.o + .group 0x00000000 0x8 Core/SB.ns.o + .group 0x00000000 0x8 Core/SB.ns.o + .group 0x00000000 0x8 Core/SB.ns.o + .group 0x00000000 0x8 Core/SB.ns.o + .group 0x00000000 0x8 Core/SB.ns.o + .group 0x00000000 0x8 Core/SB.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Core/SB.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Core/SB.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Core/SB.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Core/SB.ns.o + .rodata._ZTV6String + 0x00000000 0x10 Core/SB.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Core/SB.ns.o + .group 0x00000000 0x8 DeviceManager/Disp.ns.o + .group 0x00000000 0x8 DeviceManager/Disp.ns.o + .group 0x00000000 0x8 DeviceManager/Disp.ns.o + .group 0x00000000 0x8 DeviceManager/Disp.ns.o + .group 0x00000000 0x8 DeviceManager/Disp.ns.o + .group 0x00000000 0x8 DeviceManager/Disp.ns.o + .group 0x00000000 0x8 DeviceManager/Disp.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 DeviceManager/Disp.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c DeviceManager/Disp.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c DeviceManager/Disp.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 DeviceManager/Disp.ns.o + .rodata._ZTV6String + 0x00000000 0x10 DeviceManager/Disp.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 DeviceManager/Disp.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Dev.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 DeviceManager/Dev.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c DeviceManager/Dev.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c DeviceManager/Dev.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 DeviceManager/Dev.ns.o + .rodata._ZTV6String + 0x00000000 0x10 DeviceManager/Dev.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 DeviceManager/Dev.ns.o + .group 0x00000000 0x8 DeviceManager/Kbd.ns.o + .group 0x00000000 0x8 DeviceManager/Kbd.ns.o + .group 0x00000000 0x8 DeviceManager/Kbd.ns.o + .group 0x00000000 0x8 DeviceManager/Kbd.ns.o + .group 0x00000000 0x8 DeviceManager/Kbd.ns.o + .group 0x00000000 0x8 DeviceManager/Kbd.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 DeviceManager/Kbd.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c DeviceManager/Kbd.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c DeviceManager/Kbd.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 DeviceManager/Kbd.ns.o + .rodata._ZTV6String + 0x00000000 0x10 DeviceManager/Kbd.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 DeviceManager/Kbd.ns.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c TaskManager/Process.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c TaskManager/Process.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 TaskManager/Process.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 TaskManager/Process.class.o + .text._ZN6VectorI6StringED1Ev + 0x00000000 0x50 TaskManager/Process.class.o + .rodata._ZTV6String + 0x00000000 0x10 TaskManager/Process.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 TaskManager/Process.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Process-sc.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c TaskManager/Process-sc.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c TaskManager/Process-sc.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 TaskManager/Process-sc.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 TaskManager/Process-sc.class.o + .rodata._ZTV6String + 0x00000000 0x10 TaskManager/Process-sc.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 TaskManager/Process-sc.class.o + .group 0x00000000 0x8 TaskManager/Thread.class.o + .group 0x00000000 0x8 TaskManager/Thread.class.o + .group 0x00000000 0x8 TaskManager/Thread.class.o + .group 0x00000000 0x8 TaskManager/Thread.class.o + .group 0x00000000 0x8 TaskManager/Thread.class.o + .group 0x00000000 0x8 TaskManager/Thread.class.o + .group 0x00000000 0x8 TaskManager/Thread.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 TaskManager/Thread.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c TaskManager/Thread.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c TaskManager/Thread.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 TaskManager/Thread.class.o + .rodata._ZTV6String + 0x00000000 0x10 TaskManager/Thread.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 TaskManager/Thread.class.o + .group 0x00000000 0x8 TaskManager/V86/V86Thread.class.o + .group 0x00000000 0x8 TaskManager/V86/V86Thread.class.o + .group 0x00000000 0x8 TaskManager/V86/V86Thread.class.o + .group 0x00000000 0x8 TaskManager/Task.ns.o + .group 0x00000000 0x8 TaskManager/Task.ns.o + .group 0x00000000 0x8 TaskManager/Task.ns.o + .group 0x00000000 0x8 TaskManager/Task.ns.o + .group 0x00000000 0x8 TaskManager/Task.ns.o + .group 0x00000000 0x8 TaskManager/Task.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c TaskManager/Task.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c TaskManager/Task.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 TaskManager/Task.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 TaskManager/Task.ns.o + .rodata._ZTV6String + 0x00000000 0x10 TaskManager/Task.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 TaskManager/Task.ns.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal.proto.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VTManager/VirtualTerminal.proto.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VTManager/VirtualTerminal.proto.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VTManager/VirtualTerminal.proto.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VTManager/VirtualTerminal.proto.o + .rodata._ZTV6String + 0x00000000 0x10 VTManager/VirtualTerminal.proto.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VTManager/VirtualTerminal.proto.o + .group 0x00000000 0x8 VTManager/SimpleVT.class.o + .group 0x00000000 0x8 VTManager/SimpleVT.class.o + .group 0x00000000 0x8 VTManager/SimpleVT.class.o + .group 0x00000000 0x8 VTManager/SimpleVT.class.o + .group 0x00000000 0x8 VTManager/SimpleVT.class.o + .text._ZN15VirtualTerminal10accessibleEv + 0x00000000 0xa VTManager/SimpleVT.class.o + .group 0x00000000 0x8 VTManager/ScrollableVT.class.o + .group 0x00000000 0x8 VTManager/ScrollableVT.class.o + .group 0x00000000 0x8 VTManager/ScrollableVT.class.o + .group 0x00000000 0x8 VTManager/ScrollableVT.class.o + .group 0x00000000 0x8 VTManager/ScrollableVT.class.o + .text._ZN15VirtualTerminal10accessibleEv + 0x00000000 0xa VTManager/ScrollableVT.class.o + .text._ZN8SimpleVT7isBoxedEv + 0x00000000 0xa VTManager/ScrollableVT.class.o + .text._ZN8SimpleVT6heightEv + 0x00000000 0xe VTManager/ScrollableVT.class.o + .text._ZN8SimpleVT5widthEv + 0x00000000 0xe VTManager/ScrollableVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/PipeVT.class.o + .text._ZN15VirtualTerminal10accessibleEv + 0x00000000 0xa VTManager/PipeVT.class.o + .text._ZN15VirtualTerminal12updateCursorEv + 0x00000000 0x5 VTManager/PipeVT.class.o + .text._ZN15VirtualTerminal6heightEv + 0x00000000 0x7 VTManager/PipeVT.class.o + .text._ZN15VirtualTerminal5widthEv + 0x00000000 0x7 VTManager/PipeVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/FileVT.class.o + .text._ZN15VirtualTerminal10accessibleEv + 0x00000000 0xa VTManager/FileVT.class.o + .text._ZN15VirtualTerminal12updateCursorEv + 0x00000000 0x5 VTManager/FileVT.class.o + .text._ZN15VirtualTerminal6heightEv + 0x00000000 0x7 VTManager/FileVT.class.o + .text._ZN15VirtualTerminal5widthEv + 0x00000000 0x7 VTManager/FileVT.class.o + .text._ZN8TextFileD1Ev + 0x00000000 0x15 VTManager/FileVT.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VTManager/FileVT.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VTManager/FileVT.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VTManager/FileVT.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VTManager/FileVT.class.o + .text._ZN8TextFileD0Ev + 0x00000000 0x25 VTManager/FileVT.class.o + .text._ZN11BasicStringI5WCharE6affectERKS1_ + 0x00000000 0xa3 VTManager/FileVT.class.o + .rodata._ZTV6String + 0x00000000 0x10 VTManager/FileVT.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VTManager/FileVT.class.o + .rodata._ZTV8TextFile + 0x00000000 0x14 VTManager/FileVT.class.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-kbd.proto.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VTManager/VirtualTerminal-kbd.proto.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VTManager/VirtualTerminal-kbd.proto.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VTManager/VirtualTerminal-kbd.proto.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VTManager/VirtualTerminal-kbd.proto.o + .rodata._ZTV6String + 0x00000000 0x10 VTManager/VirtualTerminal-kbd.proto.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VTManager/VirtualTerminal-kbd.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o + .group 0x00000000 0x8 VTManager/VirtualTerminal-sc.proto.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VTManager/VirtualTerminal-sc.proto.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VTManager/VirtualTerminal-sc.proto.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VTManager/VirtualTerminal-sc.proto.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VTManager/VirtualTerminal-sc.proto.o + .rodata._ZTV6String + 0x00000000 0x10 VTManager/VirtualTerminal-sc.proto.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VTManager/VirtualTerminal-sc.proto.o + .group 0x00000000 0x8 VTManager/VT.ns.o + .group 0x00000000 0x8 Shell/KernelShell.class.o + .group 0x00000000 0x8 Shell/KernelShell.class.o + .group 0x00000000 0x8 Shell/KernelShell.class.o + .group 0x00000000 0x8 Shell/KernelShell.class.o + .group 0x00000000 0x8 Shell/KernelShell.class.o + .group 0x00000000 0x8 Shell/KernelShell.class.o + .group 0x00000000 0x8 Shell/KernelShell.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Shell/KernelShell.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Shell/KernelShell.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Shell/KernelShell.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Shell/KernelShell.class.o + .text._ZN6VectorI6StringED1Ev + 0x00000000 0x50 Shell/KernelShell.class.o + .rodata._ZTV6String + 0x00000000 0x10 Shell/KernelShell.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Shell/KernelShell.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-fs.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Shell/KernelShell-fs.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Shell/KernelShell-fs.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Shell/KernelShell-fs.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Shell/KernelShell-fs.class.o + .text._ZN9ByteArrayD0Ev + 0x00000000 0x2c Shell/KernelShell-fs.class.o + .text._ZN11BasicStringIhED0Ev + 0x00000000 0x2c Shell/KernelShell-fs.class.o + .text._ZN11BasicStringIhED1Ev + 0x00000000 0x22 Shell/KernelShell-fs.class.o + .text._ZN9ByteArrayD1Ev + 0x00000000 0x22 Shell/KernelShell-fs.class.o + .text._ZN11BasicStringI5WCharE6affectERKS1_ + 0x00000000 0xa3 Shell/KernelShell-fs.class.o + .rodata._ZTV6String + 0x00000000 0x10 Shell/KernelShell-fs.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Shell/KernelShell-fs.class.o + .rodata._ZTV9ByteArray + 0x00000000 0x10 Shell/KernelShell-fs.class.o + .rodata._ZTV11BasicStringIhE + 0x00000000 0x10 Shell/KernelShell-fs.class.o + .group 0x00000000 0x8 Shell/KernelShell-sys.class.o + .group 0x00000000 0x8 Shell/KernelShell-sys.class.o + .group 0x00000000 0x8 Shell/KernelShell-sys.class.o + .group 0x00000000 0x8 Shell/KernelShell-sys.class.o + .group 0x00000000 0x8 Shell/KernelShell-sys.class.o + .group 0x00000000 0x8 Shell/KernelShell-sys.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Shell/KernelShell-sys.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Shell/KernelShell-sys.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Shell/KernelShell-sys.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Shell/KernelShell-sys.class.o + .rodata._ZTV6String + 0x00000000 0x10 Shell/KernelShell-sys.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Shell/KernelShell-sys.class.o + .group 0x00000000 0x8 Linker/MelonBinary.class.o + .group 0x00000000 0x8 Linker/MelonBinary.class.o + .group 0x00000000 0x8 Linker/MelonBinary.class.o + .group 0x00000000 0x8 Linker/MelonBinary.class.o + .group 0x00000000 0x8 Linker/ElfBinary.class.o + .group 0x00000000 0x8 Linker/ElfBinary.class.o + .group 0x00000000 0x8 Linker/ElfBinary.class.o + .group 0x00000000 0x8 Linker/ElfBinary.class.o + .text._ZN6BinaryD1Ev + 0x00000000 0xe Linker/ElfBinary.class.o + .text._ZN6BinaryD0Ev + 0x00000000 0x15 Linker/ElfBinary.class.o + .rodata._ZTV6Binary + 0x00000000 0x14 Linker/ElfBinary.class.o + .group 0x00000000 0x8 ../Library/Common/String.class.o + .group 0x00000000 0x8 ../Library/Common/String.class.o + .group 0x00000000 0x8 ../Library/Common/String.class.o + .group 0x00000000 0x8 ../Library/Common/String.class.o + .group 0x00000000 0x8 ../Library/Common/String.class.o + .group 0x00000000 0x8 ../Library/Common/String.class.o + .group 0x00000000 0x8 ../Library/Common/String.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c ../Library/Common/String.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c ../Library/Common/String.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 ../Library/Common/String.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 ../Library/Common/String.class.o + .text._ZN6VectorI6StringE4pushERKS0_ + 0x00000000 0x108 ../Library/Common/String.class.o + .rodata._ZTV6String + 0x00000000 0x10 ../Library/Common/String.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 ../Library/Common/String.class.o + .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o + .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o + .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o + .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o + .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o + .group 0x00000000 0x8 ../Library/Common/ByteArray.class.o + .text._ZN9ByteArrayD0Ev + 0x00000000 0x2c ../Library/Common/ByteArray.class.o + .text._ZN11BasicStringIhED0Ev + 0x00000000 0x2c ../Library/Common/ByteArray.class.o + .text._ZN11BasicStringIhED1Ev + 0x00000000 0x22 ../Library/Common/ByteArray.class.o + .text._ZN9ByteArrayD1Ev + 0x00000000 0x22 ../Library/Common/ByteArray.class.o + .rodata._ZTV9ByteArray + 0x00000000 0x10 ../Library/Common/ByteArray.class.o + .rodata._ZTV11BasicStringIhE + 0x00000000 0x10 ../Library/Common/ByteArray.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 ../Library/Common/TextFile.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c ../Library/Common/TextFile.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c ../Library/Common/TextFile.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 ../Library/Common/TextFile.class.o + .text._ZN9ByteArrayD0Ev + 0x00000000 0x2c ../Library/Common/TextFile.class.o + .text._ZN11BasicStringIhED0Ev + 0x00000000 0x2c ../Library/Common/TextFile.class.o + .text._ZN11BasicStringIhED1Ev + 0x00000000 0x22 ../Library/Common/TextFile.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 ../Library/Common/TextFile.class.o + .text._ZN9ByteArrayD1Ev + 0x00000000 0x22 ../Library/Common/TextFile.class.o + .rodata._ZTV6String + 0x00000000 0x10 ../Library/Common/TextFile.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 ../Library/Common/TextFile.class.o + .rodata._ZTV9ByteArray + 0x00000000 0x10 ../Library/Common/TextFile.class.o + .rodata._ZTV11BasicStringIhE + 0x00000000 0x10 ../Library/Common/TextFile.class.o + .group 0x00000000 0x8 VFS/Partition.class.o + .group 0x00000000 0x8 VFS/Partition.class.o + .group 0x00000000 0x8 VFS/Partition.class.o + .group 0x00000000 0x8 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/Part.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VFS/Part.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VFS/Part.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VFS/Part.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VFS/Part.ns.o + .rodata._ZTV6String + 0x00000000 0x10 VFS/Part.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VFS/Part.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/VFS.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VFS/VFS.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VFS/VFS.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VFS/VFS.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VFS/VFS.ns.o + .text._ZN6VectorI6StringED1Ev + 0x00000000 0x50 VFS/VFS.ns.o + .text._ZN11BasicStringI5WCharE6affectERKS1_ + 0x00000000 0xa3 VFS/VFS.ns.o + .text._ZN6VectorI6StringE4pushERKS0_ + 0x00000000 0x99 VFS/VFS.ns.o + .rodata._ZTV6String + 0x00000000 0x10 VFS/VFS.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VFS/VFS.ns.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/FSNode-sc.proto.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VFS/FSNode-sc.proto.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VFS/FSNode-sc.proto.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VFS/FSNode-sc.proto.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VFS/FSNode-sc.proto.o + .rodata._ZTV6String + 0x00000000 0x10 VFS/FSNode-sc.proto.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VFS/FSNode-sc.proto.o + .group 0x00000000 0x8 VFS/File.class.o + .group 0x00000000 0x8 VFS/File.class.o + .group 0x00000000 0x8 VFS/File.class.o + .group 0x00000000 0x8 VFS/File.class.o + .group 0x00000000 0x8 VFS/File.class.o + .group 0x00000000 0x8 VFS/File.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VFS/File.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VFS/File.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VFS/File.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VFS/File.class.o + .rodata._ZTV6String + 0x00000000 0x10 VFS/File.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VFS/File.class.o + .group 0x00000000 0x8 VFS/File-sc.class.o + .group 0x00000000 0x8 VFS/File-sc.class.o + .group 0x00000000 0x8 VFS/File-sc.class.o + .group 0x00000000 0x8 VFS/File-sc.class.o + .group 0x00000000 0x8 VFS/File-sc.class.o + .group 0x00000000 0x8 VFS/File-sc.class.o + .group 0x00000000 0x8 VFS/File-sc.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VFS/File-sc.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VFS/File-sc.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VFS/File-sc.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VFS/File-sc.class.o + .rodata._ZTV6String + 0x00000000 0x10 VFS/File-sc.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VFS/File-sc.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 VFS/DirectoryNode.class.o + .text._ZN6FSNode4usedEv + 0x00000000 0x7 VFS/DirectoryNode.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c VFS/DirectoryNode.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c VFS/DirectoryNode.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 VFS/DirectoryNode.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 VFS/DirectoryNode.class.o + .rodata._ZTV6String + 0x00000000 0x10 VFS/DirectoryNode.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 VFS/DirectoryNode.class.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .group 0x00000000 0x8 UserManager/Usr.ns.o + .text._ZN6StringD0Ev + 0x00000000 0x2c UserManager/Usr.ns.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c UserManager/Usr.ns.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 UserManager/Usr.ns.o + .text._ZN6StringD1Ev + 0x00000000 0x22 UserManager/Usr.ns.o + .text._ZN6VectorI6StringED1Ev + 0x00000000 0x50 UserManager/Usr.ns.o + .text._ZN6StringC1ERKS_ + 0x00000000 0xa9 UserManager/Usr.ns.o + .text._ZN8TextFileD0Ev + 0x00000000 0x25 UserManager/Usr.ns.o + .text._ZN8TextFileD1Ev + 0x00000000 0x15 UserManager/Usr.ns.o + .rodata._ZTV6String + 0x00000000 0x10 UserManager/Usr.ns.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 UserManager/Usr.ns.o + .rodata._ZTV8TextFile + 0x00000000 0x14 UserManager/Usr.ns.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/RamFS/RamFS.class.o + .text._ZN6FSNode9getLengthEv + 0x00000000 0xe FileSystems/RamFS/RamFS.class.o + .text._ZN6FSNode9getParentEv + 0x00000000 0xb FileSystems/RamFS/RamFS.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c FileSystems/RamFS/RamFS.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c FileSystems/RamFS/RamFS.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 FileSystems/RamFS/RamFS.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 FileSystems/RamFS/RamFS.class.o + .text._ZN11BasicStringI5WCharE6affectERKS1_ + 0x00000000 0xa3 FileSystems/RamFS/RamFS.class.o + .rodata._ZTV6String + 0x00000000 0x10 FileSystems/RamFS/RamFS.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 FileSystems/RamFS/RamFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 FileSystems/FAT/FATFS.class.o + .text._ZN6FSNode4usedEv + 0x00000000 0x7 FileSystems/FAT/FATFS.class.o + .text._ZN6FSNode9getLengthEv + 0x00000000 0xe FileSystems/FAT/FATFS.class.o + .text._ZN6FSNode9getParentEv + 0x00000000 0xb FileSystems/FAT/FATFS.class.o + .text._ZN8FileNode4typeEv + 0x00000000 0xa FileSystems/FAT/FATFS.class.o + .text._ZN8FileNode9removableEv + 0x00000000 0xa FileSystems/FAT/FATFS.class.o + .text._ZN8FileNode4usedEv + 0x00000000 0x1c FileSystems/FAT/FATFS.class.o + .text._ZN13DirectoryNode4typeEv + 0x00000000 0xa FileSystems/FAT/FATFS.class.o + .text._ZN9ByteArrayD0Ev + 0x00000000 0x2c FileSystems/FAT/FATFS.class.o + .text._ZN11BasicStringIhED0Ev + 0x00000000 0x2c FileSystems/FAT/FATFS.class.o + .text._ZN11BasicStringIhED1Ev + 0x00000000 0x22 FileSystems/FAT/FATFS.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c FileSystems/FAT/FATFS.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c FileSystems/FAT/FATFS.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 FileSystems/FAT/FATFS.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 FileSystems/FAT/FATFS.class.o + .text._ZN9ByteArrayD1Ev + 0x00000000 0x22 FileSystems/FAT/FATFS.class.o + .text._ZN11BasicStringI5WCharE6affectERKS1_ + 0x00000000 0xa3 FileSystems/FAT/FATFS.class.o + .text._ZN8FileNodeD0Ev + 0x00000000 0x3b FileSystems/FAT/FATFS.class.o + .text._ZN8FileNodeD1Ev + 0x00000000 0x33 FileSystems/FAT/FATFS.class.o + .rodata._ZTV9ByteArray + 0x00000000 0x10 FileSystems/FAT/FATFS.class.o + .rodata._ZTV11BasicStringIhE + 0x00000000 0x10 FileSystems/FAT/FATFS.class.o + .rodata._ZTV6String + 0x00000000 0x10 FileSystems/FAT/FATFS.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 FileSystems/FAT/FATFS.class.o + .rodata._ZTV8FileNode + 0x00000000 0x28 FileSystems/FAT/FATFS.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 SyscallManager/Ressource.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c SyscallManager/Ressource.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c SyscallManager/Ressource.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 SyscallManager/Ressource.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 SyscallManager/Ressource.class.o + .rodata._ZTV6String + 0x00000000 0x10 SyscallManager/Ressource.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 SyscallManager/Ressource.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/VGATextOutput.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/Display/VGATextOutput.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/Display/VGATextOutput.class.o + .text._ZN7DisplayD1Ev + 0x00000000 0xe Devices/Display/VGATextOutput.class.o + .text._ZN7Display9unsetModeEv + 0x00000000 0x5 Devices/Display/VGATextOutput.class.o + .text._ZN7Display10textScrollEtttth + 0x00000000 0x7 Devices/Display/VGATextOutput.class.o + .text._ZN7Display6putPixEttj + 0x00000000 0x5 Devices/Display/VGATextOutput.class.o + .text._ZN7Display6getPixEtt + 0x00000000 0x7 Devices/Display/VGATextOutput.class.o + .text._ZN7DisplayD0Ev + 0x00000000 0x15 Devices/Display/VGATextOutput.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/Display/VGATextOutput.class.o + .rodata._ZTV7Display + 0x00000000 0x40 Devices/Display/VGATextOutput.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/Display/VGATextOutput.class.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/GraphicDisplay.proto.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/Display/GraphicDisplay.proto.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/Display/GraphicDisplay.proto.o + .text._ZN7DisplayD1Ev + 0x00000000 0xe Devices/Display/GraphicDisplay.proto.o + .text._ZN7Display9unsetModeEv + 0x00000000 0x5 Devices/Display/GraphicDisplay.proto.o + .text._ZN7Display10textScrollEtttth + 0x00000000 0x7 Devices/Display/GraphicDisplay.proto.o + .text._ZN7Display6putPixEttj + 0x00000000 0x5 Devices/Display/GraphicDisplay.proto.o + .text._ZN7Display6getPixEtt + 0x00000000 0x7 Devices/Display/GraphicDisplay.proto.o + .text._ZN7DisplayD0Ev + 0x00000000 0x15 Devices/Display/GraphicDisplay.proto.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/Display/GraphicDisplay.proto.o + .rodata._ZTV7Display + 0x00000000 0x40 Devices/Display/GraphicDisplay.proto.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/Display/GraphicDisplay.proto.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Display/VESADisplay.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/Display/VESADisplay.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/Display/VESADisplay.class.o + .text._ZN7DisplayD1Ev + 0x00000000 0xe Devices/Display/VESADisplay.class.o + .text._ZN7Display9unsetModeEv + 0x00000000 0x5 Devices/Display/VESADisplay.class.o + .text._ZN7Display10textScrollEtttth + 0x00000000 0x7 Devices/Display/VESADisplay.class.o + .text._ZN7Display6putPixEttj + 0x00000000 0x5 Devices/Display/VESADisplay.class.o + .text._ZN7Display6getPixEtt + 0x00000000 0x7 Devices/Display/VESADisplay.class.o + .text._ZN7DisplayD0Ev + 0x00000000 0x15 Devices/Display/VESADisplay.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/Display/VESADisplay.class.o + .rodata._ZTV7Display + 0x00000000 0x40 Devices/Display/VESADisplay.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/Display/VESADisplay.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Keyboard/PS2Keyboard.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/Keyboard/PS2Keyboard.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/Keyboard/PS2Keyboard.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/Keyboard/PS2Keyboard.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/Keyboard/PS2Keyboard.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyController.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/Floppy/FloppyController.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/Floppy/FloppyController.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/Floppy/FloppyController.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Devices/Floppy/FloppyController.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Devices/Floppy/FloppyController.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Devices/Floppy/FloppyController.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Devices/Floppy/FloppyController.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/Floppy/FloppyController.class.o + .rodata._ZTV6String + 0x00000000 0x10 Devices/Floppy/FloppyController.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Devices/Floppy/FloppyController.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/Floppy/FloppyDrive.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/Floppy/FloppyDrive.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/Floppy/FloppyDrive.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/Floppy/FloppyDrive.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Devices/Floppy/FloppyDrive.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Devices/Floppy/FloppyDrive.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Devices/Floppy/FloppyDrive.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Devices/Floppy/FloppyDrive.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/Floppy/FloppyDrive.class.o + .rodata._ZTV6String + 0x00000000 0x10 Devices/Floppy/FloppyDrive.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Devices/Floppy/FloppyDrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATAController.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/ATA/ATAController.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/ATA/ATAController.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/ATA/ATAController.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Devices/ATA/ATAController.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Devices/ATA/ATAController.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Devices/ATA/ATAController.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Devices/ATA/ATAController.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/ATA/ATAController.class.o + .rodata._ZTV6String + 0x00000000 0x10 Devices/ATA/ATAController.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Devices/ATA/ATAController.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/ATA/ATADrive.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/ATA/ATADrive.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/ATA/ATADrive.class.o + .text._ZN11BlockDevice8chsToLBAEjjj + 0x00000000 0x9 Devices/ATA/ATADrive.class.o + .text._ZN11BlockDeviceD1Ev + 0x00000000 0xe Devices/ATA/ATADrive.class.o + .text._ZN11BlockDeviceD0Ev + 0x00000000 0x15 Devices/ATA/ATADrive.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/ATA/ATADrive.class.o + .text._ZN6StringD0Ev + 0x00000000 0x2c Devices/ATA/ATADrive.class.o + .text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x2c Devices/ATA/ATADrive.class.o + .text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x22 Devices/ATA/ATADrive.class.o + .text._ZN6StringD1Ev + 0x00000000 0x22 Devices/ATA/ATADrive.class.o + .rodata._ZTV11BlockDevice + 0x00000000 0x34 Devices/ATA/ATADrive.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/ATA/ATADrive.class.o + .rodata._ZTV6String + 0x00000000 0x10 Devices/ATA/ATADrive.class.o + .rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x10 Devices/ATA/ATADrive.class.o + .group 0x00000000 0x8 Devices/Timer.class.o + .group 0x00000000 0x8 Devices/Timer.class.o + .group 0x00000000 0x8 Devices/Timer.class.o + .group 0x00000000 0x8 Devices/Timer.class.o + .group 0x00000000 0x8 Devices/Timer.class.o + .group 0x00000000 0x8 Devices/Timer.class.o + .group 0x00000000 0x8 Devices/Timer.class.o + .text._ZN6DeviceD1Ev + 0x00000000 0xe Devices/Timer.class.o + .text._ZN6Device9handleIRQE11registers_ti + 0x00000000 0x5 Devices/Timer.class.o + .text._ZN6DeviceD0Ev + 0x00000000 0x15 Devices/Timer.class.o + .rodata._ZTV6Device + 0x00000000 0x1c Devices/Timer.class.o + +Memory Configuration + +Name Origin Length Attributes +*default* 0x00000000 0xffffffff + +Linker script and memory map + + 0x00100000 . = 0x100000 + +.setup 0x00100000 0x1e + *(.setup) + .setup 0x00100000 0x1e Core/loader.wtf.o + 0xc010001e . = (. + 0xc0000000) + +.text 0xc0100020 0x2a296 load address 0x00100020 + *(.text) + .text 0xc0100020 0x75 Core/loader.wtf.o + 0xc010002c loader + *fill* 0xc0100095 0xb 00 + .text 0xc01000a0 0x180d Core/kmain.wtf.o + 0xc01000a0 kmain + *fill* 0xc01018ad 0x3 00 + .text 0xc01018b0 0x1c35 Core/Sys.ns.o + 0xc01018b0 Sys::outb(unsigned short, unsigned char) + 0xc01018c0 Sys::outw(unsigned short, unsigned short) + 0xc01018d0 Sys::inb(unsigned short) + 0xc01018e0 Sys::inw(unsigned short) + 0xc01018f0 Sys::bochs_output_hex(unsigned int) + 0xc0101950 Sys::bochs_output(String, char*, unsigned int) + 0xc01019e0 Sys::bochs_output(char*, char*, unsigned int) + 0xc0101a70 Sys::stackTrace(unsigned int, VirtualTerminal&, unsigned int, bool) + 0xc0101c40 Sys::shutdown_cleanup() + 0xc0101c90 Sys::reboot() + 0xc0101cf0 Sys::halt() + 0xc0101e00 Sys::panic_assert(char*, unsigned int, char*) + 0xc0102090 Sys::panic(char*, char*, unsigned int) + 0xc0102320 Sys::dumpRegs(registers_t*, VirtualTerminal&) + 0xc0102c40 Sys::panic(char*, registers_t*, char*, unsigned int) + 0xc0103040 Sys::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int) + *fill* 0xc01034e5 0xb 00 + .text 0xc01034f0 0xd60 Core/Log.ns.o + 0xc01034f0 Log::close() + 0xc0103530 Log::log(unsigned char, String) + 0xc0103620 Log::init(unsigned char) + .text 0xc0104250 0x1273 Core/SB.ns.o + 0xc01042b0 SB::gomulti() + 0xc0104300 SB::init() + 0xc01043a0 SB::drawnormal() + 0xc0104bc0 SB::message(String const&) + 0xc0104cb0 SB::drawprogress(String const&) + 0xc0105250 SB::thread(void*) + 0xc01052c0 SB::reinit() + 0xc01053d0 SB::progress(String const&) + *fill* 0xc01054c3 0xd 00 + .text 0xc01054d0 0x2cb MemoryManager/Mem.ns.o + 0xc0105500 Mem::kheapFree() + 0xc0105530 Mem::kheapSize() + 0xc0105570 Mem::mkXchgSpace(unsigned int) + 0xc0105590 Mem::free(void*) + 0xc01055b0 Mem::kallocInternal(unsigned int, bool) + 0xc0105670 Mem::alloc(unsigned int, bool) + 0xc0105700 Mem::createHeap() + *fill* 0xc010579b 0x5 00 + .text 0xc01057a0 0x300 MemoryManager/PhysMem.ns.o + 0xc01057a0 PhysMem::removeTemporaryPages() + 0xc01057f0 PhysMem::total() + 0xc0105800 PhysMem::free() + 0xc0105830 PhysMem::freeFrame(page_t*) + 0xc0105880 PhysMem::allocFrame(page_t*, bool, bool) + 0xc0105930 PhysMem::initPaging(unsigned int) + .text 0xc0105aa0 0x25 MemoryManager/GDT.wtf.o + 0xc0105aa0 gdt_flush + 0xc0105abd tss_flush + *fill* 0xc0105ac5 0xb 00 + .text 0xc0105ad0 0x28d MemoryManager/GDT.ns.o + 0xc0105ad0 GDT::setGate(int, unsigned int, unsigned int, unsigned char, unsigned char) + 0xc0105b50 GDT::writeTSS(int, unsigned short, unsigned int) + 0xc0105c30 GDT::init() + *fill* 0xc0105d5d 0x3 00 + .text 0xc0105d60 0x78e MemoryManager/PageDirectory.class.o + 0xc0105d60 PageDirectory::map(page_t*, unsigned int, bool, bool) + 0xc0105db0 PageDirectory::switchTo() + 0xc0105dd0 PageDirectory::PageDirectory() + 0xc0105e10 PageDirectory::PageDirectory() + 0xc0105e50 PageDirectory::getPage(unsigned int, bool) + 0xc0105f00 PageDirectory::freeFrame(unsigned int) + 0xc0105f40 PageDirectory::allocFrame(unsigned int, bool, bool) + 0xc0105ff0 PageDirectory::~PageDirectory() + 0xc0106080 PageDirectory::~PageDirectory() + 0xc0106110 PageDirectory::PageDirectory(PageDirectory*) + 0xc0106300 PageDirectory::PageDirectory(PageDirectory*) + *fill* 0xc01064ee 0x2 00 + .text 0xc01064f0 0x206 MemoryManager/PageAlloc.ns.o + 0xc01064f0 PageAlloc::free(void*) + 0xc0106510 PageAlloc::init() + 0xc0106580 PageAlloc::alloc(unsigned int*) + *fill* 0xc01066f6 0xa 00 + .text 0xc0106700 0xac2 DeviceManager/Disp.ns.o + 0xc0106700 Disp::textCols() + 0xc0106710 Disp::textRows() + 0xc0106720 Disp::putChar(unsigned short, unsigned short, WChar, unsigned char) + 0xc0106790 Disp::moveCursor(unsigned short, unsigned short) + 0xc01067e0 Disp::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char) + 0xc0106840 Disp::clear() + 0xc0106860 Disp::setText(VGATextOutput*) + 0xc01068d0 Disp::setMode(Disp::mode_t&) + 0xc0106950 Disp::getModes() + 0xc0106a20 Disp::selectMode() + *fill* 0xc01071c2 0xe 00 + .text 0xc01071d0 0x585 DeviceManager/Dev.ns.o + 0xc01071d0 Dev::handleIRQ(registers_t, int) + 0xc0107210 Dev::requestIRQ(Device*, int) + 0xc0107280 Dev::unregisterDevice(Device*) + 0xc0107320 Dev::registerDevice(Device*) + 0xc0107350 Dev::findDevices(String) + 0xc01075c0 Dev::findDevice(String, unsigned int) + *fill* 0xc0107755 0xb 00 + .text 0xc0107760 0x45 DeviceManager/Time.ns.o + 0xc0107760 Time::setTimer(Timer*) + 0xc0107770 Time::time() + 0xc0107790 Time::uptime() + *fill* 0xc01077a5 0xb 00 + .text 0xc01077b0 0x5310 DeviceManager/Kbd.ns.o + 0xc01077b0 Kbd::process(keypress_t) + 0xc0107850 Kbd::setFocus(VirtualTerminal*) + 0xc0107860 Kbd::keyRelease(unsigned char) + 0xc010c040 Kbd::updateLeds() + 0xc010c0e0 Kbd::keyPress(unsigned char) + 0xc010c320 Kbd::loadKeymap(String) + .text 0xc010cac0 0xc8d TaskManager/Process.class.o + 0xc010cac0 Process::start() + 0xc010cae0 Process::getPagedir() + 0xc010caf0 Process::getInVT() + 0xc010cb00 Process::getOutVT() + 0xc010cb10 Process::setInVT(VirtualTerminal*) + 0xc010cb20 Process::setOutVT(VirtualTerminal*) + 0xc010cb30 Process::unregisterFileDescriptor(File*) + 0xc010cba0 Process::registerFileDescriptor(File*) + 0xc010cbe0 Process::registerThread(Thread*) + 0xc010cc60 Process::exit() + 0xc010cd10 Process::threadFinishes(Thread*, unsigned int) + 0xc010ce00 Process::~Process() + 0xc010ce80 Process::~Process() + 0xc010cf00 Process::~Process() + 0xc010cf80 Process::Process() + 0xc010cfd0 Process::Process() + 0xc010d020 Process::createKernel(String, VirtualTerminal*) + 0xc010d250 Process::pushArg(String const&) + 0xc010d270 Process::Process(String, unsigned int) + 0xc010d3c0 Process::Process(String, unsigned int) + 0xc010d510 Process::run(String, unsigned int) + *fill* 0xc010d74d 0x3 00 + .text 0xc010d750 0xe01 TaskManager/Process-sc.class.o + 0xc010d750 Process::accessible() + 0xc010d770 Process::autoDeleteSC(unsigned int) + 0xc010d7b0 Process::setOutVTSC(unsigned int) + 0xc010d830 Process::setInVTSC(unsigned int) + 0xc010d8b0 Process::startSC() + 0xc010d8f0 Process::freePagesSC(unsigned int, unsigned int) + 0xc010d980 Process::allocPagesSC(unsigned int, unsigned int) + 0xc010da20 Process::exitSC() + 0xc010da60 Process::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc010db70 Process::authNoPWSC(unsigned int) + 0xc010dde0 Process::pushArgSC(unsigned int) + 0xc010def0 Process::argcSC() + 0xc010e150 Process::argvSC(unsigned int) + 0xc010e3e0 Process::authPWSC(unsigned int, unsigned int) + *fill* 0xc010e551 0xf 00 + .text 0xc010e560 0xeb9 TaskManager/Thread.class.o + 0xc010e560 Thread::setState(unsigned int, unsigned int, unsigned int) + 0xc010e580 Thread::setKernelStack() + 0xc010e5a0 Thread::getEsp() + 0xc010e5b0 Thread::getEbp() + 0xc010e5c0 Thread::getEip() + 0xc010e5d0 Thread::getProcess() + 0xc010e5e0 Thread::accessible() + 0xc010e600 Thread::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc010e630 Thread::finishSC(unsigned int) + 0xc010e660 Thread::runnable() + 0xc010e6b0 Thread::waitIRQ(unsigned char) + 0xc010e6d0 Thread::sleep(unsigned int) + 0xc010e710 Thread::sleepSC(unsigned int) + 0xc010e750 Thread::mkXchgSpace(unsigned int) + 0xc010e7a0 Thread::finish(unsigned int) + 0xc010e830 Thread::setup(Process*, unsigned int (*)(void*), void*, bool) + 0xc010e910 Thread::run(Thread*, void*, unsigned int (*)(void*)) + 0xc010e990 Thread::~Thread() + 0xc010ea20 Thread::~Thread() + 0xc010eab0 Thread::~Thread() + 0xc010eb40 Thread::Thread(Process*, unsigned int (*)(void*), void*) + 0xc010eba0 Thread::Thread(Process*, unsigned int (*)(void*), void*) + 0xc010ec00 Thread::Thread() + 0xc010ec40 Thread::Thread() + 0xc010ec80 Thread::Thread(unsigned int (*)(void*), void*, bool) + 0xc010ed10 Thread::Thread(unsigned int (*)(void*), void*, bool) + 0xc010eda0 Thread::handleException(registers_t*, int) + *fill* 0xc010f419 0x7 00 + .text 0xc010f420 0x62d TaskManager/V86/V86Thread.class.o + 0xc010f420 V86Thread::handleV86GPF(registers_t*) + 0xc010f6a0 V86Thread::handleException(registers_t*, int) + 0xc010f740 V86Thread::setup() + 0xc010f810 V86Thread::V86Thread(unsigned char, v86_retval_t*) + 0xc010f890 V86Thread::V86Thread(unsigned char, v86_retval_t*) + 0xc010f910 V86Thread::V86Thread(v86_function_t*, v86_retval_t*) + 0xc010f9b0 V86Thread::V86Thread(v86_function_t*, v86_retval_t*) + *fill* 0xc010fa4d 0x3 00 + .text 0xc010fa50 0x1ad TaskManager/V86/V86.ns.o + 0xc010fa50 V86::allocSeg(unsigned short) + 0xc010fab0 V86::alloc(unsigned short) + 0xc010fad0 V86::map(Process*) + 0xc010fb30 V86::biosInt(unsigned char, v86_regs_t&) + 0xc010fba0 V86::run(v86_function_t&, v86_regs_t&) + *fill* 0xc010fbfd 0x3 00 + .text 0xc010fc00 0x58 TaskManager/V86/v86.wtf.o + 0xc010fc00 v86_run + *fill* 0xc010fc58 0x8 00 + .text 0xc010fc60 0x5d2 TaskManager/Task.ns.o + 0xc010fc60 Task::currThread() + 0xc010fc70 Task::currProcess() + 0xc010fc80 Task::triggerSwitch() + 0xc010fc90 Task::nextPid() + 0xc010fcb0 Task::IRQwakeup(unsigned char) + 0xc010fd00 Task::currentThreadExits(unsigned int) + 0xc010fd40 Task::unregisterProcess(Process*) + 0xc010fdb0 Task::unregisterThread(Thread*) + 0xc010fe20 Task::registerProcess(Process*) + 0xc010fe70 Task::registerThread(Thread*) + 0xc010fec0 Task::allocKernelPageTable(unsigned int, page_table_t*, unsigned int) + 0xc010ff40 Task::nextThread() + 0xc010ffb0 Task::doSwitch() + 0xc0110070 Task::currThreadExitProceed(unsigned int) + 0xc01100a0 Task::getKernelProcess() + 0xc01100f0 Task::initialize(String, VirtualTerminal*) + *fill* 0xc0110232 0xe 00 + .text 0xc0110240 0x48 TaskManager/Task.wtf.o + 0xc0110240 read_eip + 0xc0110243 idle_task + 0xc011024a copy_page_physical + *fill* 0xc0110288 0x8 00 + .text 0xc0110290 0x89e VTManager/VirtualTerminal.proto.o + 0xc0110290 VirtualTerminal::write(String const&, bool) + 0xc0110350 VirtualTerminal::writeDec(long long, bool) + 0xc01104b0 VirtualTerminal::~VirtualTerminal() + 0xc01104e0 VirtualTerminal::~VirtualTerminal() + 0xc0110500 VirtualTerminal::~VirtualTerminal() + 0xc0110520 VirtualTerminal::VirtualTerminal() + 0xc01105b0 VirtualTerminal::VirtualTerminal() + 0xc0110640 VirtualTerminal::writeHex(unsigned int, bool) + 0xc0110720 VirtualTerminal::hexDump(unsigned char*, unsigned int, bool) + *fill* 0xc0110b2e 0x2 00 + .text 0xc0110b30 0x95b VTManager/SimpleVT.class.o + 0xc0110b30 SimpleVT::clear() + 0xc0110ba0 SimpleVT::handleEscape(mvt_esc_cmd_t) + 0xc0110c80 SimpleVT::hexDump(unsigned char*, unsigned int, bool) + 0xc0110cc0 SimpleVT::put(WChar, bool) + 0xc0110e70 SimpleVT::updateCursor() + 0xc0110ec0 SimpleVT::scroll() + 0xc0111000 SimpleVT::redraw() + 0xc01110a0 SimpleVT::putChar(unsigned int, unsigned int, WChar) + 0xc0111140 SimpleVT::unmap() + 0xc0111160 SimpleVT::map(int, int) + 0xc01111e0 SimpleVT::~SimpleVT() + 0xc0111230 SimpleVT::~SimpleVT() + 0xc0111280 SimpleVT::~SimpleVT() + 0xc01112d0 SimpleVT::SimpleVT(unsigned int, unsigned int, unsigned char, unsigned char) + 0xc01113b0 SimpleVT::SimpleVT(unsigned int, unsigned int, unsigned char, unsigned char) + *fill* 0xc011148b 0x5 00 + .text 0xc0111490 0x7fa VTManager/ScrollableVT.class.o + 0xc0111490 ScrollableVT::keyPress(keypress_t) + 0xc0111590 ScrollableVT::scroll() + 0xc0111640 ScrollableVT::redraw() + 0xc01117a0 ScrollableVT::putChar(unsigned int, unsigned int, WChar) + 0xc0111860 ScrollableVT::updateCursor() + 0xc01118b0 ScrollableVT::~ScrollableVT() + 0xc0111910 ScrollableVT::~ScrollableVT() + 0xc0111970 ScrollableVT::~ScrollableVT() + 0xc01119d0 ScrollableVT::ScrollableVT(unsigned int, unsigned int, unsigned int, unsigned char, unsigned char) + 0xc0111b30 ScrollableVT::ScrollableVT(unsigned int, unsigned int, unsigned int, unsigned char, unsigned char) + *fill* 0xc0111c8a 0x6 00 + .text 0xc0111c90 0x1e8 VTManager/PipeVT.class.o + 0xc0111c90 PipeVT::put(WChar, bool) + 0xc0111db0 PipeVT::handleEscape(mvt_esc_cmd_t) + 0xc0111e20 PipeVT::PipeVT() + 0xc0111e50 PipeVT::PipeVT() + *fill* 0xc0111e78 0x8 00 + .text 0xc0111e80 0x631 VTManager/FileVT.class.o + 0xc0111e80 FileVT::getKeypress(bool, bool) + 0xc0111fb0 FileVT::put(WChar, bool) + 0xc0112160 FileVT::handleEscape(mvt_esc_cmd_t) + 0xc01121e0 FileVT::FileVT(String, unsigned char, FSNode*, unsigned char) + 0xc0112350 FileVT::FileVT(String, unsigned char, FSNode*, unsigned char) + *fill* 0xc01124b1 0xf 00 + .text 0xc01124c0 0x717 VTManager/VirtualTerminal-kbd.proto.o + 0xc01124c0 VirtualTerminal::getKeypress(bool, bool) + 0xc0112710 VirtualTerminal::keyPress(keypress_t) + 0xc01128d0 VirtualTerminal::readLine(bool) + *fill* 0xc0112bd7 0x9 00 + .text 0xc0112be0 0x1e0 VTManager/VirtualTerminal-sc.proto.o + 0xc0112be0 VirtualTerminal::isBoxedSC() + 0xc0112c00 VirtualTerminal::getHeightSC() + 0xc0112c20 VirtualTerminal::getWidthSC() + 0xc0112c40 VirtualTerminal::getKeypressSC(unsigned int) + 0xc0112ca0 VirtualTerminal::putSC(unsigned int) + 0xc0112cf0 VirtualTerminal::writeSC(unsigned int) + 0xc0112d20 VirtualTerminal::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc0112d70 VirtualTerminal::readLineSC(unsigned int) + .text 0xc0112dc0 0x1a0 VTManager/VT.ns.o + 0xc0112e00 VT::redrawScreen() + 0xc0112e40 VT::unmap(SimpleVT*) + 0xc0112ee0 VT::map(SimpleVT*) + .text 0xc0112f60 0xd69 Shell/KernelShell.class.o + 0xc0112f60 KernelShell::~KernelShell() + 0xc0112f80 KernelShell::~KernelShell() + 0xc0112fa0 KernelShell::setup(DirectoryNode*, VirtualTerminal*) + 0xc0113070 KernelShell::KernelShell(DirectoryNode*) + 0xc0113100 KernelShell::KernelShell(DirectoryNode*) + 0xc0113190 KernelShell::KernelShell(DirectoryNode*, VirtualTerminal*) + 0xc01131a0 KernelShell::KernelShell(DirectoryNode*, VirtualTerminal*) + 0xc01131b0 KernelShell::run() + 0xc0113c90 shellRun(void*) + *fill* 0xc0113cc9 0x7 00 + .text 0xc0113cd0 0x148a Shell/KernelShell-fs.class.o + 0xc0113cd0 KernelShell::hexdump(Vector&) + 0xc0113f40 KernelShell::pwd(Vector&) + 0xc0114030 KernelShell::ls(Vector&) + 0xc01145a0 KernelShell::run(Vector&) + 0xc0114740 KernelShell::cd(Vector&) + 0xc0114940 KernelShell::wf(Vector&) + 0xc0114b90 KernelShell::rm(Vector&) + 0xc0114d20 KernelShell::mkdir(Vector&) + 0xc0114ea0 KernelShell::cat(Vector&) + *fill* 0xc011515a 0x6 00 + .text 0xc0115160 0x1930 Shell/KernelShell-sys.class.o + 0xc0115160 KernelShell::devices(Vector&) + 0xc0115390 KernelShell::uptime(Vector&) + 0xc0115470 KernelShell::part(Vector&) + 0xc01159a0 KernelShell::free(Vector&) + 0xc0115e10 KernelShell::loadkeys(Vector&) + 0xc0116000 KernelShell::readblock(Vector&) + 0xc0116410 KernelShell::unmount(Vector&) + 0xc0116630 KernelShell::mount(Vector&) + .text 0xc0116a90 0x63 Linker/Binary.proto.o + 0xc0116a90 Binary::load(File&) + *fill* 0xc0116af3 0xd 00 + .text 0xc0116b00 0x1db Linker/MelonBinary.class.o + 0xc0116b00 MelonBinary::toProcess(Process*) + 0xc0116b90 MelonBinary::~MelonBinary() + 0xc0116bc0 MelonBinary::~MelonBinary() + 0xc0116bf0 MelonBinary::~MelonBinary() + 0xc0116c20 MelonBinary::load(File&) + *fill* 0xc0116cdb 0x5 00 + .text 0xc0116ce0 0x347 Linker/ElfBinary.class.o + 0xc0116ce0 ElfBinary::toProcess(Process*) + 0xc0116dd0 ElfBinary::load(File&) + 0xc0116f70 ElfBinary::~ElfBinary() + 0xc0116fb0 ElfBinary::~ElfBinary() + 0xc0116ff0 ElfBinary::~ElfBinary() + *fill* 0xc0117027 0x9 00 + .text 0xc0117030 0xb8 ../Library/Common/cppsupport.wtf.o + 0xc0117030 __cxa_pure_virtual + 0xc0117040 __cxa_atexit + 0xc0117050 __udivdi3 + 0xc0117090 __umoddi3 + 0xc01170c0 memmove + *fill* 0xc01170e8 0x8 00 + .text 0xc01170f0 0x248 ../Library/Common/Bitset.class.o + 0xc01170f0 Bitset::Bitset() + 0xc0117100 Bitset::Bitset() + 0xc0117110 Bitset::init(unsigned int, unsigned int*) + 0xc0117150 Bitset::Bitset(unsigned int, unsigned int*) + 0xc0117160 Bitset::Bitset(unsigned int, unsigned int*) + 0xc0117170 Bitset::setBit(unsigned int) + 0xc01171a0 Bitset::clearBit(unsigned int) + 0xc01171d0 Bitset::testBit(unsigned int) + 0xc0117200 Bitset::firstFreeBit() + 0xc0117270 Bitset::usedBits() + 0xc0117280 Bitset::~Bitset() + 0xc01172a0 Bitset::~Bitset() + 0xc01172c0 Bitset::Bitset(unsigned int) + 0xc0117300 Bitset::Bitset(unsigned int) + *fill* 0xc0117338 0x8 00 + .text 0xc0117340 0x1486 ../Library/Common/String.class.o + 0xc0117340 String::toInt() const + 0xc01173f0 String::toInt16() const + 0xc01174b0 String::hex(unsigned int) + 0xc0117570 String::compare(char const*, unsigned char) const + 0xc01176c0 String::serialize() const + 0xc0117710 String::append(char const*, unsigned char) + 0xc01178d0 String::affect(char const*, unsigned char) + 0xc0117a70 String::String(char const*, unsigned char) + 0xc0117aa0 String::String(char const*, unsigned char) + 0xc0117ad0 String::concat(WChar) const + 0xc0117cb0 String::concat(String const&) const + 0xc0117ea0 String::split(WChar) const + 0xc0118030 String::concat(char const*, unsigned char) const + 0xc01181a0 String::unserialize(unsigned int) + 0xc01182d0 String::substr(int, int) + 0xc0118470 String::number(int) + *fill* 0xc01187c6 0xa 00 + .text 0xc01187d0 0x46f ../Library/Common/ByteArray.class.o + 0xc01187d0 ByteArray::toString(unsigned char) + 0xc0118870 ByteArray::resize(unsigned int) + 0xc0118940 ByteArray::ByteArray(char const*) + 0xc0118990 ByteArray::ByteArray(char const*) + 0xc01189e0 ByteArray::affect(String const&, unsigned char) + *fill* 0xc0118c3f 0x1 00 + .text 0xc0118c40 0x15a8 ../Library/Common/WChar.class.o + 0xc0118c40 WChar::WChar() + 0xc0118c50 WChar::WChar() + 0xc0118c60 WChar::WChar(char) + 0xc0118c70 WChar::WChar(char) + 0xc0118c80 WChar::ucharLen(char const*, unsigned char) + 0xc0118d50 WChar::affectAscii(char) + 0xc0118d60 WChar::affectUtf8(char const*) + 0xc0118e90 WChar::affectUtf16be(char const*) + 0xc0118f90 WChar::affectUtf16le(char const*) + 0xc0119080 WChar::affectUtf32be(char const*) + 0xc01190d0 WChar::affectUtf32le(char const*) + 0xc0119120 WChar::WChar(char const*, unsigned char) + 0xc01191a0 WChar::utfLen(char const*, unsigned char) + 0xc0119200 WChar::WChar(char const*, unsigned char) + 0xc0119280 WChar::toAscii() + 0xc01192c0 WChar::toUtf8() + 0xc0119380 WChar::toUtf32be() + 0xc01193b0 WChar::toUtf32le() + *fill* 0xc011a1e8 0x8 00 + .text 0xc011a1f0 0x7c ../Library/Common/Rand.ns.o + 0xc011a1f0 Rand::rand() + 0xc011a260 Rand::max() + *fill* 0xc011a26c 0x4 00 + .text 0xc011a270 0xfb ../Library/Common/CMem.ns.o + 0xc011a270 CMem::memcpy(unsigned char*, unsigned char const*, unsigned int) + 0xc011a2f0 CMem::memset(unsigned char*, unsigned char, int) + 0xc011a320 CMem::memsetw(unsigned short*, unsigned short, int) + 0xc011a350 CMem::strlen(char const*) + *fill* 0xc011a36b 0x5 00 + .text 0xc011a370 0x635 ../Library/Common/Heap.class.o + 0xc011a370 Heap::~Heap() + 0xc011a380 Heap::~Heap() + 0xc011a390 Heap::contract() + 0xc011a470 Heap::free(void*) + 0xc011a5c0 Heap::expand(unsigned int) + 0xc011a6b0 Heap::alloc(unsigned int, bool) + 0xc011a800 Heap::create(unsigned int, unsigned int, unsigned int, PageDirectory*, bool, bool) + 0xc011a930 Heap::Heap() + 0xc011a970 Heap::Heap() + *fill* 0xc011a9a5 0xb 00 + .text 0xc011a9b0 0x1dd ../Library/Common/Heap-index.class.o + 0xc011a9b0 Heap::insertIntoIndex(heap_header_t*) + 0xc011aaa0 Heap::findIndexEntry(heap_header_t*) + 0xc011aae0 Heap::removeFromIndex(unsigned int) + 0xc011ab20 Heap::removeFromIndex(heap_header_t*) + *fill* 0xc011ab8d 0x3 00 + .text 0xc011ab90 0xc1 ../Library/Common/Mutex.class.o + 0xc011ab90 atomic_exchange(unsigned int*, unsigned int) + 0xc011aba0 Mutex::Mutex(unsigned int) + 0xc011abb0 Mutex::Mutex(unsigned int) + 0xc011abc0 Mutex::lock() + 0xc011abe0 Mutex::unlock() + 0xc011abf0 Mutex::locked() + 0xc011ac00 Mutex::waitLock() + *fill* 0xc011ac51 0xf 00 + .text 0xc011ac60 0x2f4 ../Library/Common/TextFile.class.o + 0xc011ac60 TextFile::readLine(char) + 0xc011ae80 TextFile::write(String, bool) + *fill* 0xc011af54 0xc 00 + .text 0xc011af60 0x5dc VFS/Partition.class.o + 0xc011af60 Partition::getDevice() + 0xc011af70 Partition::getStartBlock() + 0xc011af80 Partition::getBlockCount() + 0xc011af90 Partition::getPartNumber() + 0xc011afa0 Partition::blockSize() + 0xc011afc0 Partition::Partition(BlockDevice*, unsigned char, unsigned long long, unsigned long long) + 0xc011b060 Partition::Partition(BlockDevice*, unsigned char, unsigned long long, unsigned long long) + 0xc011b100 Partition::writeBlocks(unsigned long long, unsigned int, unsigned char*) + 0xc011b200 Partition::readBlocks(unsigned long long, unsigned int, unsigned char*) + 0xc011b2a0 Partition::write(unsigned long long, unsigned int, unsigned char*) + 0xc011b440 Partition::read(unsigned long long, unsigned int, unsigned char*) + *fill* 0xc011b53c 0x4 00 + .text 0xc011b540 0xb8d VFS/Part.ns.o + 0xc011b540 Part::getDeviceID(BlockDevice*) + 0xc011b5f0 Part::part(BlockDevice*, unsigned int) + 0xc011b670 Part::unregisterDevice(BlockDevice*) + 0xc011b910 Part::readPartitionTable(BlockDevice*) + 0xc011bae0 Part::registerDevice(BlockDevice*) + 0xc011bba0 Part::dev(String, unsigned int) + 0xc011bd40 Part::partIdentifier(Partition*) + *fill* 0xc011c0cd 0x3 00 + .text 0xc011c0d0 0x1509 VFS/VFS.ns.o + 0xc011c0d0 VFS::getRootNode() + 0xc011c120 VFS::unregisterFilesystem(FileSystem*) + 0xc011c1c0 VFS::registerFilesystem(FileSystem*) + 0xc011c260 VFS::remove(FSNode*) + 0xc011c2b0 VFS::find(String const&, FSNode*) + 0xc011c3e0 VFS::remove(String const&, FSNode*) + 0xc011c410 VFS::unmount(FileSystem*) + 0xc011c460 VFS::path(FSNode*) + 0xc011c6c0 FileSystem::~FileSystem() + 0xc011c710 FileSystem::~FileSystem() + 0xc011c760 FileSystem::~FileSystem() + 0xc011c7b0 VFS::createDirectory(String const&, FSNode*, bool) + 0xc011c9b0 VFS::createFile(String const&, FSNode*, bool) + 0xc011cbb0 VFS::mount(String, VirtualTerminal*, multiboot_info_t*) + *fill* 0xc011d5d9 0x7 00 + .text 0xc011d5e0 0xaf1 VFS/FSNode-sc.proto.o + 0xc011d5e0 FSNode::typeSC() + 0xc011d600 FSNode::getParentSC() + 0xc011d620 FSNode::setCwdSC() + 0xc011d650 FSNode::getNameSC() + 0xc011d660 FSNode::getLengthSC() + 0xc011d6a0 FSNode::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc011d7b0 FSNode::getPathSC() + 0xc011d800 FSNode::writable(User*) + 0xc011dae0 FSNode::removeSC() + 0xc011db20 FSNode::readable(User*) + 0xc011ddf0 FSNode::accessible() + 0xc011de10 FSNode::runnable(User*) + *fill* 0xc011e0d1 0xf 00 + .text 0xc011e0e0 0x930 VFS/File.class.o + 0xc011e0e0 File::read(unsigned int, unsigned char*) + 0xc011e140 File::write(unsigned int, unsigned char*) + 0xc011e1c0 File::write(ByteArray&) + 0xc011e240 File::seek(unsigned long long, unsigned char) + 0xc011e380 File::eof() + 0xc011e3c0 File::close(bool) + 0xc011e430 File::read(ByteArray&) + 0xc011e4d0 File::open(String, unsigned char, FSNode*, bool) + 0xc011e690 File::~File() + 0xc011e6d0 File::~File() + 0xc011e700 File::~File() + 0xc011e730 File::File() + 0xc011e780 File::File() + 0xc011e7d0 File::File(String, unsigned char, FSNode*) + 0xc011e8f0 File::File(String, unsigned char, FSNode*) + .text 0xc011ea10 0x54e VFS/File-sc.class.o + 0xc011ea10 File::validSC() + 0xc011ea20 File::eofSC() + 0xc011ea40 File::lengthSC() + 0xc011ea70 File::positionSC() + 0xc011eaa0 File::seekSC(unsigned int, unsigned int, unsigned int) + 0xc011ead0 File::writeSC(unsigned int, unsigned int) + 0xc011eb20 File::readSC(unsigned int, unsigned int) + 0xc011eb80 File::closeSC() + 0xc011ebb0 File::scall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc011ed30 File::accessible() + *fill* 0xc011ef5e 0x2 00 + .text 0xc011ef60 0x8db VFS/DirectoryNode.class.o + 0xc011ef60 DirectoryNode::getParent() + 0xc011ef70 DirectoryNode::unmountable() + 0xc011f000 DirectoryNode::mount(DirectoryNode*) + 0xc011f010 DirectoryNode::unmount() + 0xc011f020 DirectoryNode::loadContent() + 0xc011f080 DirectoryNode::getLength() + 0xc011f0d0 DirectoryNode::mountpointable() + 0xc011f110 DirectoryNode::removable() + 0xc011f160 DirectoryNode::getChild(unsigned int) + 0xc011f1b0 DirectoryNode::getChild(String const&) + 0xc011f270 DirectoryNode::remove(FSNode*) + 0xc011f390 DirectoryNode::getNameChildSC(unsigned int) + 0xc011f3e0 DirectoryNode::getIdxChildSC(unsigned int) + 0xc011f430 DirectoryNode::~DirectoryNode() + 0xc011f4d0 DirectoryNode::~DirectoryNode() + 0xc011f580 DirectoryNode::~DirectoryNode() + 0xc011f620 DirectoryNode::createFile(String const&) + 0xc011f730 DirectoryNode::createDirectory(String const&) + *fill* 0xc011f83b 0x5 00 + .text 0xc011f840 0x2595 UserManager/Usr.ns.o + 0xc011f840 Usr::user(unsigned int) + 0xc011f880 Usr::group(unsigned int) + 0xc011f8c0 Usr::uid() + 0xc011f8d0 Usr::user() + 0xc011f900 Usr::group(String) + 0xc011fa10 Usr::user(String) + 0xc011fb20 Usr::uid(String) + 0xc011fbf0 Usr::save() + 0xc01206f0 Usr::load() + *fill* 0xc0121dd5 0xb 00 + .text 0xc0121de0 0xd8c FileSystems/RamFS/RamFS.class.o + 0xc0121de0 RamFS::RamFS() + 0xc0121e10 RamFS::RamFS() + 0xc0121e40 RamFS::unmount() + 0xc0121e50 RamFS::setName(FSNode*, String) + 0xc0121e60 RamFS::setPermissions(FSNode*, unsigned int) + 0xc0121e70 RamFS::setUid(FSNode*, unsigned int) + 0xc0121e80 RamFS::setGid(FSNode*, unsigned int) + 0xc0121e90 RamFS::setParent(FSNode*, FSNode*) + 0xc0121eb0 RamFS::loadContents(DirectoryNode*) + 0xc0121ec0 RamFS::remove(DirectoryNode*, FSNode*) + 0xc0121f10 RamFS::truncate(FileNode*) + 0xc0121f50 RamFS::read(FileNode*, unsigned long long, unsigned int, unsigned char*) + 0xc0121fd0 RamFS::write(FileNode*, unsigned long long, unsigned int, unsigned char*) + 0xc0122120 RamFS::~RamFS() + 0xc0122150 RamFS::~RamFS() + 0xc0122170 RamFS::~RamFS() + 0xc0122190 RamFS::mount(unsigned char*, unsigned int, DirectoryNode*, bool) + 0xc0122690 RamFS::mount(unsigned int, DirectoryNode*) + 0xc0122850 RamFS::createFile(DirectoryNode*, String) + 0xc01229f0 RamFS::createDirectory(DirectoryNode*, String) + *fill* 0xc0122b6c 0x4 00 + .text 0xc0122b70 0x1ac5 FileSystems/FAT/FATFS.class.o + 0xc0122b70 FATFS::unmount() + 0xc0122b80 FATFS::setName(FSNode*, String) + 0xc0122b90 FATFS::setPermissions(FSNode*, unsigned int) + 0xc0122ba0 FATFS::setUid(FSNode*, unsigned int) + 0xc0122bb0 FATFS::setGid(FSNode*, unsigned int) + 0xc0122bc0 FATFS::setParent(FSNode*, FSNode*) + 0xc0122bd0 FATFS::write(FileNode*, unsigned long long, unsigned int, unsigned char*) + 0xc0122be0 FATFS::truncate(FileNode*) + 0xc0122bf0 FATFS::createFile(DirectoryNode*, String) + 0xc0122c00 FATFS::createDirectory(DirectoryNode*, String) + 0xc0122c10 FATFS::remove(DirectoryNode*, FSNode*) + 0xc0122c20 FATFS::readCluster(unsigned int, unsigned char*) + 0xc0122ed0 FATFS::nextCluster(unsigned int) + 0xc0123080 FATFS::read(FileNode*, unsigned long long, unsigned int, unsigned char*) + 0xc0123320 FATFS::mount(Partition*, DirectoryNode*, bool) + 0xc0123cb0 FATFS::loadContents(DirectoryNode*) + *fill* 0xc0124635 0xb 00 + .text 0xc0124640 0xc69 SyscallManager/IDT.ns.o + 0xc0124640 IDT::setGate(unsigned char, unsigned int, unsigned short, unsigned char) + 0xc0124680 IDT::init() + 0xc0125020 interrupt_handler + *fill* 0xc01252a9 0x7 00 + .text 0xc01252b0 0x6ea SyscallManager/Ressource.class.o + 0xc01252b0 Ressource::doCall(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc01254a0 Ressource::addCallTable(call_t*) + 0xc01254f0 Ressource::Ressource(unsigned char, call_t*) + 0xc0125560 Ressource::Ressource(unsigned char, call_t*) + 0xc01255d0 Ressource::call(unsigned char, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc0125880 Ressource::~Ressource() + 0xc01258e0 Ressource::~Ressource() + 0xc0125940 Ressource::~Ressource() + *fill* 0xc012599a 0x6 00 + .text 0xc01259a0 0x23c SyscallManager/Res.ns.o + 0xc01259a0 Res::unregisterRes(unsigned int) + 0xc01259c0 Res::call(unsigned int, unsigned char, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 0xc0125ab0 Res::expand() + 0xc0125b40 Res::registerRes(Ressource*) + *fill* 0xc0125bdc 0x4 00 + .text 0xc0125be0 0x22a SyscallManager/IDT.wtf.o + 0xc0125be0 idt_flush + 0xc0125be8 isr0 + 0xc0125bf2 isr1 + 0xc0125bfc isr2 + 0xc0125c06 isr3 + 0xc0125c10 isr4 + 0xc0125c1a isr5 + 0xc0125c24 isr6 + 0xc0125c2e isr7 + 0xc0125c38 isr8 + 0xc0125c40 isr9 + 0xc0125c4a isr10 + 0xc0125c52 isr11 + 0xc0125c5a isr12 + 0xc0125c62 isr13 + 0xc0125c6a isr14 + 0xc0125c72 isr15 + 0xc0125c7c isr16 + 0xc0125c86 isr17 + 0xc0125c90 isr18 + 0xc0125c9a isr19 + 0xc0125ca4 isr20 + 0xc0125cae isr21 + 0xc0125cb8 isr22 + 0xc0125cc2 isr23 + 0xc0125ccc isr24 + 0xc0125cd6 isr25 + 0xc0125ce0 isr26 + 0xc0125cea isr27 + 0xc0125cf4 isr28 + 0xc0125cfe isr29 + 0xc0125d08 isr30 + 0xc0125d12 isr31 + 0xc0125d1c irq0 + 0xc0125d26 irq1 + 0xc0125d30 irq2 + 0xc0125d3a irq3 + 0xc0125d44 irq4 + 0xc0125d4e irq5 + 0xc0125d58 irq6 + 0xc0125d62 irq7 + 0xc0125d6c irq8 + 0xc0125d76 irq9 + 0xc0125d80 irq10 + 0xc0125d8a irq11 + 0xc0125d94 irq12 + 0xc0125d9e irq13 + 0xc0125da8 irq14 + 0xc0125db2 irq15 + 0xc0125dbc int64 + 0xc0125dc6 int65 + 0xc0125dd0 int66 + *fill* 0xc0125e0a 0x6 00 + .text 0xc0125e10 0x30c Devices/Display/VGATextOutput.class.o + 0xc0125e10 VGATextOutput::clear() + 0xc0125e30 VGATextOutput::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char) + 0xc0125f20 VGATextOutput::moveCursor(unsigned short, unsigned short) + 0xc0125f90 VGATextOutput::putChar(unsigned short, unsigned short, WChar, unsigned char) + 0xc0125fe0 VGATextOutput::setMode(Disp::mode_t&) + 0xc0126040 VGATextOutput::getModes(Vector&) + 0xc01260c0 VGATextOutput::getName() + 0xc01260f0 VGATextOutput::getClass() + *fill* 0xc012611c 0x4 00 + .text 0xc0126120 0x3bf Devices/Display/GraphicDisplay.proto.o + 0xc0126120 GraphicDisplay::getCsrBuff() + 0xc01261b0 GraphicDisplay::putCsrBuff() + 0xc0126250 GraphicDisplay::drawCsr() + 0xc01262f0 GraphicDisplay::moveCursor(unsigned short, unsigned short) + 0xc0126340 GraphicDisplay::putChar(unsigned short, unsigned short, WChar, unsigned char) + 0xc01263c0 GraphicDisplay::drawChar(unsigned short, unsigned short, WChar, unsigned char) + *fill* 0xc01264df 0x1 00 + .text 0xc01264e0 0xf8d Devices/Display/VESADisplay.class.o + 0xc01264e0 VESADisplay::clear() + 0xc0126530 VESADisplay::getPix(unsigned short, unsigned short) + 0xc0126610 VESADisplay::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char) + 0xc0126790 VESADisplay::drawChar(unsigned short, unsigned short, WChar, unsigned char) + 0xc0126bb0 VESADisplay::setPalette(unsigned char, unsigned int) + 0xc0126c40 VESADisplay::unsetMode() + 0xc0126cc0 VESADisplay::getModeInfo(unsigned short) + 0xc0126d60 VESADisplay::setMode(Disp::mode_t&) + 0xc0126fc0 VESADisplay::getCtrlrInfo() + 0xc0127090 VESADisplay::getModes(Vector&) + 0xc0127270 VESADisplay::getName() + 0xc01272a0 VESADisplay::getClass() + 0xc01272d0 VESADisplay::get8Bit(unsigned int) + 0xc01273a0 VESADisplay::putPix(unsigned short, unsigned short, unsigned int) + *fill* 0xc012746d 0x3 00 + .text 0xc0127470 0x1c5 Devices/Keyboard/PS2Keyboard.class.o + 0xc0127470 PS2Keyboard::updateLeds(unsigned int) + 0xc01274b0 PS2Keyboard::handleIRQ(registers_t, int) + 0xc0127520 PS2Keyboard::getName() + 0xc0127550 PS2Keyboard::getClass() + 0xc0127580 PS2Keyboard::PS2Keyboard() + 0xc01275e0 PS2Keyboard::PS2Keyboard() + *fill* 0xc0127635 0xb 00 + .text 0xc0127640 0xa2b Devices/Floppy/FloppyController.class.o + 0xc0127640 FloppyController::handleIRQ(registers_t, int) + 0xc0127670 FloppyController::waitIrq() + 0xc01276b0 FloppyController::readData() + 0xc0127720 FloppyController::writeCmd(unsigned char) + 0xc01277b0 FloppyController::checkInterrupt(int*, int*) + 0xc01277f0 FloppyController::setDOR() + 0xc0127880 FloppyController::setNoActiveDrive() + 0xc0127890 FloppyController::reset() + 0xc0127920 FloppyController::dmaRelease() + 0xc0127940 FloppyController::setActiveDrive(unsigned char) + 0xc0127980 FloppyController::dmaInit(unsigned char, unsigned int) + 0xc0127ae0 FloppyController::getClass() + 0xc0127b10 FloppyController::FloppyController(unsigned int, unsigned char) + 0xc0127b90 FloppyController::FloppyController(unsigned int, unsigned char) + 0xc0127c10 floppyMotorTimer(void*) + 0xc0127d00 FloppyController::getName() + 0xc0127ea0 FloppyController::detect() + *fill* 0xc012806b 0x5 00 + .text 0xc0128070 0x14a8 Devices/Floppy/FloppyDrive.class.o + 0xc0128070 FloppyDrive::FloppyDrive(FloppyController*, unsigned char, unsigned char) + 0xc0128120 FloppyDrive::FloppyDrive(FloppyController*, unsigned char, unsigned char) + 0xc01281d0 FloppyDrive::blocks() + 0xc01281f0 FloppyDrive::writeBlocks(unsigned long long, unsigned int, unsigned char*) + 0xc0128200 FloppyDrive::blockSize() + 0xc0128210 FloppyDrive::chs2lba(unsigned int, unsigned int, unsigned int) + 0xc0128240 FloppyDrive::readOnly() + 0xc01282c0 FloppyDrive::getClass() + 0xc01282f0 FloppyDrive::killMotor() + 0xc0128310 FloppyDrive::setMotorState(bool) + 0xc01283b0 FloppyDrive::getName() + 0xc0128470 FloppyDrive::calibrate() + 0xc0128680 FloppyDrive::setup() + 0xc0128730 FloppyDrive::seek(unsigned int, int, bool) + 0xc0128930 FloppyDrive::doTrack(unsigned int, unsigned char) + 0xc0129370 FloppyDrive::readBlocks(unsigned long long, unsigned int, unsigned char*) + *fill* 0xc0129518 0x8 00 + .text 0xc0129520 0x416 Devices/ATA/ATAController.class.o + 0xc0129520 ATAController::identify(bool) + 0xc0129680 ATAController::ATAController(unsigned int, unsigned char) + 0xc0129710 ATAController::ATAController(unsigned int, unsigned char) + 0xc01297a0 ATAController::detect() + 0xc0129870 ATAController::getClass() + 0xc01298a0 ATAController::getName() + *fill* 0xc0129936 0xa 00 + .text 0xc0129940 0x785 Devices/ATA/ATADrive.class.o + 0xc0129940 ATADrive::ATADrive(ATAController*, bool, unsigned int, unsigned short*) + 0xc0129980 ATADrive::ATADrive(ATAController*, bool, unsigned int, unsigned short*) + 0xc01299c0 ATADrive::readOnly() + 0xc01299d0 ATADrive::blocks() + 0xc01299e0 ATADrive::blockSize() + 0xc01299f0 ATADrive::cmdCommon(unsigned int, unsigned int) + 0xc0129ad0 ATADrive::writeBlocks(unsigned long long, unsigned int, unsigned char*) + 0xc0129be0 ATADrive::readBlocks(unsigned long long, unsigned int, unsigned char*) + 0xc0129d00 ATADrive::getClass() + 0xc0129d30 ATADrive::getName() + *fill* 0xc012a0c5 0xb 00 + .text 0xc012a0d0 0x1e6 Devices/Timer.class.o + 0xc012a0d0 Timer::uptime() + 0xc012a0e0 Timer::time() + 0xc012a110 Timer::handleIRQ(registers_t, int) + 0xc012a140 Timer::setFrequency(unsigned char) + 0xc012a1a0 Timer::getName() + 0xc012a1d0 Timer::getClass() + 0xc012a200 Timer::Timer(unsigned char) + 0xc012a260 Timer::Timer(unsigned char) + +.iplt 0xc012a2b8 0x0 load address 0x0012a2b6 + .iplt 0x00000000 0x0 Core/loader.wtf.o + +.text._ZN6DeviceD1Ev + 0xc012a2c0 0xe load address 0x0012a2c0 + .text._ZN6DeviceD1Ev + 0xc012a2c0 0xe Core/kmain.wtf.o + 0xc012a2c0 Device::~Device() + +.text._ZN6Device9handleIRQE11registers_ti + 0xc012a2d0 0x5 load address 0x0012a2d0 + .text._ZN6Device9handleIRQE11registers_ti + 0xc012a2d0 0x5 Core/kmain.wtf.o + 0xc012a2d0 Device::handleIRQ(registers_t, int) + +.text._ZN7DisplayD1Ev + 0xc012a2e0 0xe load address 0x0012a2e0 + .text._ZN7DisplayD1Ev + 0xc012a2e0 0xe Core/kmain.wtf.o + 0xc012a2e0 Display::~Display() + +.text._ZN7Display9unsetModeEv + 0xc012a2f0 0x5 load address 0x0012a2f0 + .text._ZN7Display9unsetModeEv + 0xc012a2f0 0x5 Core/kmain.wtf.o + 0xc012a2f0 Display::unsetMode() + +.text._ZN7Display10textScrollEtttth + 0xc012a300 0x7 load address 0x0012a300 + .text._ZN7Display10textScrollEtttth + 0xc012a300 0x7 Core/kmain.wtf.o + 0xc012a300 Display::textScroll(unsigned short, unsigned short, unsigned short, unsigned short, unsigned char) + +.text._ZN7Display6putPixEttj + 0xc012a310 0x5 load address 0x0012a310 + .text._ZN7Display6putPixEttj + 0xc012a310 0x5 Core/kmain.wtf.o + 0xc012a310 Display::putPix(unsigned short, unsigned short, unsigned int) + +.text._ZN7Display6getPixEtt + 0xc012a320 0x7 load address 0x0012a320 + .text._ZN7Display6getPixEtt + 0xc012a320 0x7 Core/kmain.wtf.o + 0xc012a320 Display::getPix(unsigned short, unsigned short) + +.text._ZN7DisplayD0Ev + 0xc012a330 0x15 load address 0x0012a330 + .text._ZN7DisplayD0Ev + 0xc012a330 0x15 Core/kmain.wtf.o + 0xc012a330 Display::~Display() + +.text._ZN6DeviceD0Ev + 0xc012a350 0x15 load address 0x0012a350 + .text._ZN6DeviceD0Ev + 0xc012a350 0x15 Core/kmain.wtf.o + 0xc012a350 Device::~Device() + +.text._ZN9ByteArrayD0Ev + 0xc012a370 0x2c load address 0x0012a370 + .text._ZN9ByteArrayD0Ev + 0xc012a370 0x2c Core/kmain.wtf.o + 0xc012a370 ByteArray::~ByteArray() + +.text._ZN11BasicStringIhED0Ev + 0xc012a3a0 0x2c load address 0x0012a3a0 + .text._ZN11BasicStringIhED0Ev + 0xc012a3a0 0x2c Core/kmain.wtf.o + 0xc012a3a0 BasicString::~BasicString() + +.text._ZN11BasicStringIhED1Ev + 0xc012a3d0 0x22 load address 0x0012a3d0 + .text._ZN11BasicStringIhED1Ev + 0xc012a3d0 0x22 Core/kmain.wtf.o + 0xc012a3d0 BasicString::~BasicString() + +.text._ZN9ByteArrayD1Ev + 0xc012a400 0x22 load address 0x0012a400 + .text._ZN9ByteArrayD1Ev + 0xc012a400 0x22 Core/kmain.wtf.o + 0xc012a400 ByteArray::~ByteArray() + +.text._ZN6StringD0Ev + 0xc012a430 0x2c load address 0x0012a430 + .text._ZN6StringD0Ev + 0xc012a430 0x2c Core/kmain.wtf.o + 0xc012a430 String::~String() + +.text._ZN11BasicStringI5WCharED0Ev + 0xc012a460 0x2c load address 0x0012a460 + .text._ZN11BasicStringI5WCharED0Ev + 0xc012a460 0x2c Core/kmain.wtf.o + 0xc012a460 BasicString::~BasicString() + +.text._ZN11BasicStringI5WCharED1Ev + 0xc012a490 0x22 load address 0x0012a490 + .text._ZN11BasicStringI5WCharED1Ev + 0xc012a490 0x22 Core/kmain.wtf.o + 0xc012a490 BasicString::~BasicString() + +.text._ZN6StringD1Ev + 0xc012a4c0 0x22 load address 0x0012a4c0 + .text._ZN6StringD1Ev + 0xc012a4c0 0x22 Core/kmain.wtf.o + 0xc012a4c0 String::~String() + +.text._ZN6VectorI6StringED1Ev + 0xc012a4f0 0x50 load address 0x0012a4f0 + .text._ZN6VectorI6StringED1Ev + 0xc012a4f0 0x50 Core/kmain.wtf.o + 0xc012a4f0 Vector::~Vector() + +.text._ZN11BasicStringI5WCharE6affectERKS1_ + 0xc012a540 0xa3 load address 0x0012a540 + .text._ZN11BasicStringI5WCharE6affectERKS1_ + 0xc012a540 0xa3 Core/kmain.wtf.o + 0xc012a540 BasicString::affect(BasicString const&) + +.text._ZN6StringpLERKS_ + 0xc012a5f0 0xbe load address 0x0012a5f0 + .text._ZN6StringpLERKS_ + 0xc012a5f0 0xbe Core/kmain.wtf.o + 0xc012a5f0 String::operator+=(String const&) + +.text._ZN8TextFileD0Ev + 0xc012a6b0 0x25 load address 0x0012a6b0 + .text._ZN8TextFileD0Ev + 0xc012a6b0 0x25 Core/kmain.wtf.o + 0xc012a6b0 TextFile::~TextFile() + +.text._ZN8TextFileD1Ev + 0xc012a6e0 0x15 load address 0x0012a6e0 + .text._ZN8TextFileD1Ev + 0xc012a6e0 0x15 Core/kmain.wtf.o + 0xc012a6e0 TextFile::~TextFile() + +.text._ZN6VectorIN4Disp6mode_tEED1Ev + 0xc012a700 0x22 load address 0x0012a700 + .text._ZN6VectorIN4Disp6mode_tEED1Ev + 0xc012a700 0x22 DeviceManager/Disp.ns.o + 0xc012a700 Vector::~Vector() + +.text._ZN6VectorIP6DeviceED1Ev + 0xc012a730 0x22 load address 0x0012a730 + .text._ZN6VectorIP6DeviceED1Ev + 0xc012a730 0x22 DeviceManager/Dev.ns.o + 0xc012a730 Vector::~Vector() + +.text._ZN6VectorIP6DeviceE4pushERKS1_ + 0xc012a760 0x69 load address 0x0012a760 + .text._ZN6VectorIP6DeviceE4pushERKS1_ + 0xc012a760 0x69 DeviceManager/Dev.ns.o + 0xc012a760 Vector::push(Device* const&) + +.text._ZN6VectorIP6ThreadED1Ev + 0xc012a7d0 0x22 load address 0x0012a7d0 + .text._ZN6VectorIP6ThreadED1Ev + 0xc012a7d0 0x22 TaskManager/Process.class.o + 0xc012a7d0 Vector::~Vector() + +.text._ZN6VectorI6StringE4pushERKS0_ + 0xc012a800 0x108 load address 0x0012a800 + .text._ZN6VectorI6StringE4pushERKS0_ + 0xc012a800 0x108 TaskManager/Process.class.o + 0xc012a800 Vector::push(String const&) + +.text._ZN7Process6getUidEv + 0xc012a910 0xb load address 0x0012a910 + .text._ZN7Process6getUidEv + 0xc012a910 0xb TaskManager/Process-sc.class.o + 0xc012a910 Process::getUid() + +.text._ZN7Process6getPidEv + 0xc012a920 0xb load address 0x0012a920 + .text._ZN7Process6getPidEv + 0xc012a920 0xb TaskManager/Process-sc.class.o + 0xc012a920 Process::getPid() + +.text._ZN7Process7getPpidEv + 0xc012a930 0xb load address 0x0012a930 + .text._ZN7Process7getPpidEv + 0xc012a930 0xb TaskManager/Process-sc.class.o + 0xc012a930 Process::getPpid() + +.text._ZN6StringC1ERKS_ + 0xc012a940 0xa9 load address 0x0012a940 + .text._ZN6StringC1ERKS_ + 0xc012a940 0xa9 TaskManager/Process-sc.class.o + 0xc012a940 String::String(String const&) + +.text._ZN9V86ThreadD1Ev + 0xc012a9f0 0x15 load address 0x0012a9f0 + .text._ZN9V86ThreadD1Ev + 0xc012a9f0 0x15 TaskManager/V86/V86Thread.class.o + 0xc012a9f0 V86Thread::~V86Thread() + +.text._ZN9V86ThreadD0Ev + 0xc012aa10 0x25 load address 0x0012aa10 + .text._ZN9V86ThreadD0Ev + 0xc012aa10 0x25 TaskManager/V86/V86Thread.class.o + 0xc012aa10 V86Thread::~V86Thread() + +.text._ZN15VirtualTerminal10accessibleEv + 0xc012aa40 0xa load address 0x0012aa40 + .text._ZN15VirtualTerminal10accessibleEv + 0xc012aa40 0xa VTManager/VirtualTerminal.proto.o + 0xc012aa40 VirtualTerminal::accessible() + +.text._ZN15VirtualTerminal12updateCursorEv + 0xc012aa50 0x5 load address 0x0012aa50 + .text._ZN15VirtualTerminal12updateCursorEv + 0xc012aa50 0x5 VTManager/VirtualTerminal.proto.o + 0xc012aa50 VirtualTerminal::updateCursor() + +.text._ZN15VirtualTerminal6heightEv + 0xc012aa60 0x7 load address 0x0012aa60 + .text._ZN15VirtualTerminal6heightEv + 0xc012aa60 0x7 VTManager/VirtualTerminal.proto.o + 0xc012aa60 VirtualTerminal::height() + +.text._ZN15VirtualTerminal5widthEv + 0xc012aa70 0x7 load address 0x0012aa70 + .text._ZN15VirtualTerminal5widthEv + 0xc012aa70 0x7 VTManager/VirtualTerminal.proto.o + 0xc012aa70 VirtualTerminal::width() + +.text._ZN8SimpleVT7isBoxedEv + 0xc012aa80 0xa load address 0x0012aa80 + .text._ZN8SimpleVT7isBoxedEv + 0xc012aa80 0xa VTManager/SimpleVT.class.o + 0xc012aa80 SimpleVT::isBoxed() + +.text._ZN8SimpleVT6heightEv + 0xc012aa90 0xe load address 0x0012aa90 + .text._ZN8SimpleVT6heightEv + 0xc012aa90 0xe VTManager/SimpleVT.class.o + 0xc012aa90 SimpleVT::height() + +.text._ZN8SimpleVT5widthEv + 0xc012aaa0 0xe load address 0x0012aaa0 + .text._ZN8SimpleVT5widthEv + 0xc012aaa0 0xe VTManager/SimpleVT.class.o + 0xc012aaa0 SimpleVT::width() + +.text._ZN6PipeVT7isBoxedEv + 0xc012aab0 0x7 load address 0x0012aab0 + .text._ZN6PipeVT7isBoxedEv + 0xc012aab0 0x7 VTManager/PipeVT.class.o + 0xc012aab0 PipeVT::isBoxed() + +.text._ZN6PipeVTD1Ev + 0xc012aac0 0x15 load address 0x0012aac0 + .text._ZN6PipeVTD1Ev + 0xc012aac0 0x15 VTManager/PipeVT.class.o + 0xc012aac0 PipeVT::~PipeVT() + +.text._ZN6PipeVTD0Ev + 0xc012aae0 0x25 load address 0x0012aae0 + .text._ZN6PipeVTD0Ev + 0xc012aae0 0x25 VTManager/PipeVT.class.o + 0xc012aae0 PipeVT::~PipeVT() + +.text._ZN6FileVT7isBoxedEv + 0xc012ab10 0x7 load address 0x0012ab10 + .text._ZN6FileVT7isBoxedEv + 0xc012ab10 0x7 VTManager/FileVT.class.o + 0xc012ab10 FileVT::isBoxed() + +.text._ZN6FileVTD0Ev + 0xc012ab20 0x59 load address 0x0012ab20 + .text._ZN6FileVTD0Ev + 0xc012ab20 0x59 VTManager/FileVT.class.o + 0xc012ab20 FileVT::~FileVT() + +.text._ZN6FileVTD1Ev + 0xc012ab80 0x51 load address 0x0012ab80 + .text._ZN6FileVTD1Ev + 0xc012ab80 0x51 VTManager/FileVT.class.o + 0xc012ab80 FileVT::~FileVT() + +.text._ZN6VectorIP8SimpleVTED1Ev + 0xc012abe0 0x22 load address 0x0012abe0 + .text._ZN6VectorIP8SimpleVTED1Ev + 0xc012abe0 0x22 VTManager/VT.ns.o + 0xc012abe0 Vector::~Vector() + +.text._ZN6BinaryD1Ev + 0xc012ac10 0xe load address 0x0012ac10 + .text._ZN6BinaryD1Ev + 0xc012ac10 0xe Linker/MelonBinary.class.o + 0xc012ac10 Binary::~Binary() + +.text._ZN6BinaryD0Ev + 0xc012ac20 0x15 load address 0x0012ac20 + .text._ZN6BinaryD0Ev + 0xc012ac20 0x15 Linker/MelonBinary.class.o + 0xc012ac20 Binary::~Binary() + +.text._ZN10BlockCacheI11BlockDeviceE4initEj + 0xc012ac40 0x8b load address 0x0012ac40 + .text._ZN10BlockCacheI11BlockDeviceE4initEj + 0xc012ac40 0x8b VFS/Partition.class.o + 0xc012ac40 BlockCache::init(unsigned int) + +.text._ZN10BlockCacheI11BlockDeviceE8setCacheEyPhb + 0xc012acd0 0x1a7 load address 0x0012acd0 + .text._ZN10BlockCacheI11BlockDeviceE8setCacheEyPhb + 0xc012acd0 0x1a7 VFS/Partition.class.o + 0xc012acd0 BlockCache::setCache(unsigned long long, unsigned char*, bool) + +.text._ZN10BlockCacheI11BlockDeviceE10readBlocksEyjPh + 0xc012ae80 0x139 load address 0x0012ae80 + .text._ZN10BlockCacheI11BlockDeviceE10readBlocksEyjPh + 0xc012ae80 0x139 VFS/Partition.class.o + 0xc012ae80 BlockCache::readBlocks(unsigned long long, unsigned int, unsigned char*) + +.text._ZN6VectorIP9PartitionED1Ev + 0xc012afc0 0x22 load address 0x0012afc0 + .text._ZN6VectorIP9PartitionED1Ev + 0xc012afc0 0x22 VFS/Part.ns.o + 0xc012afc0 Vector::~Vector() + +.text._ZN6VectorIP11BlockDeviceED1Ev + 0xc012aff0 0x22 load address 0x0012aff0 + .text._ZN6VectorIP11BlockDeviceED1Ev + 0xc012aff0 0x22 VFS/Part.ns.o + 0xc012aff0 Vector::~Vector() + +.text._ZN6VectorIP10FileSystemED1Ev + 0xc012b020 0x22 load address 0x0012b020 + .text._ZN6VectorIP10FileSystemED1Ev + 0xc012b020 0x22 VFS/VFS.ns.o + 0xc012b020 Vector::~Vector() + +.text._ZN6VectorI6StringE3popEv + 0xc012b050 0x6c load address 0x0012b050 + .text._ZN6VectorI6StringE3popEv + 0xc012b050 0x6c VFS/VFS.ns.o + 0xc012b050 Vector::pop() + +.text._ZN6FSNode4usedEv + 0xc012b0c0 0x7 load address 0x0012b0c0 + .text._ZN6FSNode4usedEv + 0xc012b0c0 0x7 VFS/FSNode-sc.proto.o + 0xc012b0c0 FSNode::used() + +.text._ZN6FSNode9getLengthEv + 0xc012b0d0 0xe load address 0x0012b0d0 + .text._ZN6FSNode9getLengthEv + 0xc012b0d0 0xe VFS/FSNode-sc.proto.o + 0xc012b0d0 FSNode::getLength() + +.text._ZN6FSNode14getPermissionsEv + 0xc012b0e0 0xb load address 0x0012b0e0 + .text._ZN6FSNode14getPermissionsEv + 0xc012b0e0 0xb VFS/FSNode-sc.proto.o + 0xc012b0e0 FSNode::getPermissions() + +.text._ZN6FSNode6getUidEv + 0xc012b0f0 0xb load address 0x0012b0f0 + .text._ZN6FSNode6getUidEv + 0xc012b0f0 0xb VFS/FSNode-sc.proto.o + 0xc012b0f0 FSNode::getUid() + +.text._ZN6FSNode6getGidEv + 0xc012b100 0xb load address 0x0012b100 + .text._ZN6FSNode6getGidEv + 0xc012b100 0xb VFS/FSNode-sc.proto.o + 0xc012b100 FSNode::getGid() + +.text._ZN6FSNode9getParentEv + 0xc012b110 0xb load address 0x0012b110 + .text._ZN6FSNode9getParentEv + 0xc012b110 0xb VFS/FSNode-sc.proto.o + 0xc012b110 FSNode::getParent() + +.text._ZN6FSNodeD0Ev + 0xc012b120 0x3b load address 0x0012b120 + .text._ZN6FSNodeD0Ev + 0xc012b120 0x3b VFS/FSNode-sc.proto.o + 0xc012b120 FSNode::~FSNode() + +.text._ZN6FSNodeD1Ev + 0xc012b160 0x33 load address 0x0012b160 + .text._ZN6FSNodeD1Ev + 0xc012b160 0x33 VFS/FSNode-sc.proto.o + 0xc012b160 FSNode::~FSNode() + +.text._ZN13DirectoryNode4typeEv + 0xc012b1a0 0xa load address 0x0012b1a0 + .text._ZN13DirectoryNode4typeEv + 0xc012b1a0 0xa VFS/DirectoryNode.class.o + 0xc012b1a0 DirectoryNode::type() + +.text._ZN6VectorIP6FSNodeED1Ev + 0xc012b1b0 0x22 load address 0x0012b1b0 + .text._ZN6VectorIP6FSNodeED1Ev + 0xc012b1b0 0x22 VFS/DirectoryNode.class.o + 0xc012b1b0 Vector::~Vector() + +.text._ZN4UserD1Ev + 0xc012b1e0 0x76 load address 0x0012b1e0 + .text._ZN4UserD1Ev + 0xc012b1e0 0x76 UserManager/Usr.ns.o + 0xc012b1e0 User::~User() + +.text._ZN10SimpleListI5GroupED1Ev + 0xc012b260 0x1dd load address 0x0012b260 + .text._ZN10SimpleListI5GroupED1Ev + 0xc012b260 0x1dd UserManager/Usr.ns.o + 0xc012b260 SimpleList::~SimpleList() + +.text._ZN4UserC1E6StringS0_S0_P5GroupS0_j + 0xc012b440 0x2ec load address 0x0012b440 + .text._ZN4UserC1E6StringS0_S0_P5GroupS0_j + 0xc012b440 0x2ec UserManager/Usr.ns.o + 0xc012b440 User::User(String, String, String, Group*, String, unsigned int) + +.text._ZN10SimpleListI4UserE4consERKS0_ + 0xc012b730 0x220 load address 0x0012b730 + .text._ZN10SimpleListI4UserE4consERKS0_ + 0xc012b730 0x220 UserManager/Usr.ns.o + 0xc012b730 SimpleList::cons(User const&) + +.text._ZN10SimpleListI4UserED1Ev + 0xc012b950 0x35d load address 0x0012b950 + .text._ZN10SimpleListI4UserED1Ev + 0xc012b950 0x35d UserManager/Usr.ns.o + 0xc012b950 SimpleList::~SimpleList() + +.text._ZN5RamFS7getPartEv + 0xc012bcb0 0x7 load address 0x0012bcb0 + .text._ZN5RamFS7getPartEv + 0xc012bcb0 0x7 FileSystems/RamFS/RamFS.class.o + 0xc012bcb0 RamFS::getPart() + +.text._ZN8FileNode4typeEv + 0xc012bcc0 0xa load address 0x0012bcc0 + .text._ZN8FileNode4typeEv + 0xc012bcc0 0xa FileSystems/RamFS/RamFS.class.o + 0xc012bcc0 FileNode::type() + +.text._ZN8FileNode9removableEv + 0xc012bcd0 0xa load address 0x0012bcd0 + .text._ZN8FileNode9removableEv + 0xc012bcd0 0xa FileSystems/RamFS/RamFS.class.o + 0xc012bcd0 FileNode::removable() + +.text._ZN8FileNode4usedEv + 0xc012bce0 0x1c load address 0x0012bce0 + .text._ZN8FileNode4usedEv + 0xc012bce0 0x1c FileSystems/RamFS/RamFS.class.o + 0xc012bce0 FileNode::used() + +.text._ZN6VectorIP6FSNodeE4pushERKS1_ + 0xc012bd00 0x69 load address 0x0012bd00 + .text._ZN6VectorIP6FSNodeE4pushERKS1_ + 0xc012bd00 0x69 FileSystems/RamFS/RamFS.class.o + 0xc012bd00 Vector::push(FSNode* const&) + +.text._ZN8FileNodeD1Ev + 0xc012bd70 0x33 load address 0x0012bd70 + .text._ZN8FileNodeD1Ev + 0xc012bd70 0x33 FileSystems/RamFS/RamFS.class.o + 0xc012bd70 FileNode::~FileNode() + +.text._ZN11RamFileNodeD0Ev + 0xc012bdb0 0x50 load address 0x0012bdb0 + .text._ZN11RamFileNodeD0Ev + 0xc012bdb0 0x50 FileSystems/RamFS/RamFS.class.o + 0xc012bdb0 RamFileNode::~RamFileNode() + +.text._ZN11RamFileNodeD1Ev + 0xc012be00 0x48 load address 0x0012be00 + .text._ZN11RamFileNodeD1Ev + 0xc012be00 0x48 FileSystems/RamFS/RamFS.class.o + 0xc012be00 RamFileNode::~RamFileNode() + +.text._ZN8FileNodeD0Ev + 0xc012be50 0x3b load address 0x0012be50 + .text._ZN8FileNodeD0Ev + 0xc012be50 0x3b FileSystems/RamFS/RamFS.class.o + 0xc012be50 FileNode::~FileNode() + +.text._ZN5FATFS7getPartEv + 0xc012be90 0xe load address 0x0012be90 + .text._ZN5FATFS7getPartEv + 0xc012be90 0xe FileSystems/FAT/FATFS.class.o + 0xc012be90 FATFS::getPart() + +.text._ZN10BlockCacheI9PartitionED1Ev + 0xc012bea0 0x99 load address 0x0012bea0 + .text._ZN10BlockCacheI9PartitionED1Ev + 0xc012bea0 0x99 FileSystems/FAT/FATFS.class.o + 0xc012bea0 BlockCache::~BlockCache() + +.text._ZN5FATFSD1Ev + 0xc012bf40 0x2b load address 0x0012bf40 + .text._ZN5FATFSD1Ev + 0xc012bf40 0x2b FileSystems/FAT/FATFS.class.o + 0xc012bf40 FATFS::~FATFS() + +.text._ZN5FATFSD0Ev + 0xc012bf70 0x33 load address 0x0012bf70 + .text._ZN5FATFSD0Ev + 0xc012bf70 0x33 FileSystems/FAT/FATFS.class.o + 0xc012bf70 FATFS::~FATFS() + +.text._ZN16FATDirectoryNodeD0Ev + 0xc012bfb0 0x25 load address 0x0012bfb0 + .text._ZN16FATDirectoryNodeD0Ev + 0xc012bfb0 0x25 FileSystems/FAT/FATFS.class.o + 0xc012bfb0 FATDirectoryNode::~FATDirectoryNode() + +.text._ZN16FATDirectoryNodeD1Ev + 0xc012bfe0 0x15 load address 0x0012bfe0 + .text._ZN16FATDirectoryNodeD1Ev + 0xc012bfe0 0x15 FileSystems/FAT/FATFS.class.o + 0xc012bfe0 FATDirectoryNode::~FATDirectoryNode() + +.text._ZN11FATFileNodeD1Ev + 0xc012c000 0x33 load address 0x0012c000 + .text._ZN11FATFileNodeD1Ev + 0xc012c000 0x33 FileSystems/FAT/FATFS.class.o + 0xc012c000 FATFileNode::~FATFileNode() + +.text._ZN11FATFileNodeD0Ev + 0xc012c040 0x3b load address 0x0012c040 + .text._ZN11FATFileNodeD0Ev + 0xc012c040 0x3b FileSystems/FAT/FATFS.class.o + 0xc012c040 FATFileNode::~FATFileNode() + +.text._ZN10SimpleListIP6call_tED1Ev + 0xc012c080 0x125 load address 0x0012c080 + .text._ZN10SimpleListIP6call_tED1Ev + 0xc012c080 0x125 SyscallManager/Ressource.class.o + 0xc012c080 SimpleList::~SimpleList() + +.text._ZN13VGATextOutputD1Ev + 0xc012c1b0 0xe load address 0x0012c1b0 + .text._ZN13VGATextOutputD1Ev + 0xc012c1b0 0xe Devices/Display/VGATextOutput.class.o + 0xc012c1b0 VGATextOutput::~VGATextOutput() + +.text._ZN13VGATextOutputD0Ev + 0xc012c1c0 0x15 load address 0x0012c1c0 + .text._ZN13VGATextOutputD0Ev + 0xc012c1c0 0x15 Devices/Display/VGATextOutput.class.o + 0xc012c1c0 VGATextOutput::~VGATextOutput() + +.text._ZN6VectorIN4Disp6mode_tEE4pushERKS1_ + 0xc012c1e0 0x9e load address 0x0012c1e0 + .text._ZN6VectorIN4Disp6mode_tEE4pushERKS1_ + 0xc012c1e0 0x9e Devices/Display/VGATextOutput.class.o + 0xc012c1e0 Vector::push(Disp::mode_t const&) + +.text._ZN14GraphicDisplayD1Ev + 0xc012c280 0xe load address 0x0012c280 + .text._ZN14GraphicDisplayD1Ev + 0xc012c280 0xe Devices/Display/GraphicDisplay.proto.o + 0xc012c280 GraphicDisplay::~GraphicDisplay() + +.text._ZN14GraphicDisplayD0Ev + 0xc012c290 0x15 load address 0x0012c290 + .text._ZN14GraphicDisplayD0Ev + 0xc012c290 0x15 Devices/Display/GraphicDisplay.proto.o + 0xc012c290 GraphicDisplay::~GraphicDisplay() + +.text._Z7rgbTo15j + 0xc012c2b0 0x2a load address 0x0012c2b0 + .text._Z7rgbTo15j + 0xc012c2b0 0x2a Devices/Display/VESADisplay.class.o + 0xc012c2b0 rgbTo15(unsigned int) + +.text._Z7rgbTo16j + 0xc012c2e0 0x27 load address 0x0012c2e0 + .text._Z7rgbTo16j + 0xc012c2e0 0x27 Devices/Display/VESADisplay.class.o + 0xc012c2e0 rgbTo16(unsigned int) + +.text._ZN11VESADisplayD1Ev + 0xc012c310 0xe load address 0x0012c310 + .text._ZN11VESADisplayD1Ev + 0xc012c310 0xe Devices/Display/VESADisplay.class.o + 0xc012c310 VESADisplay::~VESADisplay() + +.text._ZN11VESADisplayD0Ev + 0xc012c320 0x15 load address 0x0012c320 + .text._ZN11VESADisplayD0Ev + 0xc012c320 0x15 Devices/Display/VESADisplay.class.o + 0xc012c320 VESADisplay::~VESADisplay() + +.text._ZN8KeyboardD1Ev + 0xc012c340 0xe load address 0x0012c340 + .text._ZN8KeyboardD1Ev + 0xc012c340 0xe Devices/Keyboard/PS2Keyboard.class.o + 0xc012c340 Keyboard::~Keyboard() + +.text._ZN11PS2KeyboardD1Ev + 0xc012c350 0xe load address 0x0012c350 + .text._ZN11PS2KeyboardD1Ev + 0xc012c350 0xe Devices/Keyboard/PS2Keyboard.class.o + 0xc012c350 PS2Keyboard::~PS2Keyboard() + +.text._ZN11PS2KeyboardD0Ev + 0xc012c360 0x15 load address 0x0012c360 + .text._ZN11PS2KeyboardD0Ev + 0xc012c360 0x15 Devices/Keyboard/PS2Keyboard.class.o + 0xc012c360 PS2Keyboard::~PS2Keyboard() + +.text._ZN8KeyboardD0Ev + 0xc012c380 0x15 load address 0x0012c380 + .text._ZN8KeyboardD0Ev + 0xc012c380 0x15 Devices/Keyboard/PS2Keyboard.class.o + 0xc012c380 Keyboard::~Keyboard() + +.text._ZN16FloppyControllerD1Ev + 0xc012c3a0 0xe load address 0x0012c3a0 + .text._ZN16FloppyControllerD1Ev + 0xc012c3a0 0xe Devices/Floppy/FloppyController.class.o + 0xc012c3a0 FloppyController::~FloppyController() + +.text._ZN16FloppyControllerD0Ev + 0xc012c3b0 0x15 load address 0x0012c3b0 + .text._ZN16FloppyControllerD0Ev + 0xc012c3b0 0x15 Devices/Floppy/FloppyController.class.o + 0xc012c3b0 FloppyController::~FloppyController() + +.text._ZN11BlockDevice8chsToLBAEjjj + 0xc012c3d0 0x9 load address 0x0012c3d0 + .text._ZN11BlockDevice8chsToLBAEjjj + 0xc012c3d0 0x9 Devices/Floppy/FloppyDrive.class.o + 0xc012c3d0 BlockDevice::chsToLBA(unsigned int, unsigned int, unsigned int) + +.text._ZN11BlockDeviceD1Ev + 0xc012c3e0 0xe load address 0x0012c3e0 + .text._ZN11BlockDeviceD1Ev + 0xc012c3e0 0xe Devices/Floppy/FloppyDrive.class.o + 0xc012c3e0 BlockDevice::~BlockDevice() + +.text._ZN11FloppyDriveD1Ev + 0xc012c3f0 0xe load address 0x0012c3f0 + .text._ZN11FloppyDriveD1Ev + 0xc012c3f0 0xe Devices/Floppy/FloppyDrive.class.o + 0xc012c3f0 FloppyDrive::~FloppyDrive() + +.text._ZN11FloppyDriveD0Ev + 0xc012c400 0x15 load address 0x0012c400 + .text._ZN11FloppyDriveD0Ev + 0xc012c400 0x15 Devices/Floppy/FloppyDrive.class.o + 0xc012c400 FloppyDrive::~FloppyDrive() + +.text._ZN11BlockDeviceD0Ev + 0xc012c420 0x15 load address 0x0012c420 + .text._ZN11BlockDeviceD0Ev + 0xc012c420 0x15 Devices/Floppy/FloppyDrive.class.o + 0xc012c420 BlockDevice::~BlockDevice() + +.text._ZN13ATAControllerD1Ev + 0xc012c440 0xe load address 0x0012c440 + .text._ZN13ATAControllerD1Ev + 0xc012c440 0xe Devices/ATA/ATAController.class.o + 0xc012c440 ATAController::~ATAController() + +.text._ZN13ATAControllerD0Ev + 0xc012c450 0x15 load address 0x0012c450 + .text._ZN13ATAControllerD0Ev + 0xc012c450 0x15 Devices/ATA/ATAController.class.o + 0xc012c450 ATAController::~ATAController() + +.text._ZN8ATADriveD1Ev + 0xc012c470 0xe load address 0x0012c470 + .text._ZN8ATADriveD1Ev + 0xc012c470 0xe Devices/ATA/ATADrive.class.o + 0xc012c470 ATADrive::~ATADrive() + +.text._ZN8ATADriveD0Ev + 0xc012c480 0x15 load address 0x0012c480 + .text._ZN8ATADriveD0Ev + 0xc012c480 0x15 Devices/ATA/ATADrive.class.o + 0xc012c480 ATADrive::~ATADrive() + +.text._ZN5TimerD1Ev + 0xc012c4a0 0xe load address 0x0012c4a0 + .text._ZN5TimerD1Ev + 0xc012c4a0 0xe Devices/Timer.class.o + 0xc012c4a0 Timer::~Timer() + +.text._ZN5TimerD0Ev + 0xc012c4b0 0x15 load address 0x0012c4b0 + .text._ZN5TimerD0Ev + 0xc012c4b0 0x15 Devices/Timer.class.o + 0xc012c4b0 Timer::~Timer() + +.rodata 0xc012d000 0x238 load address 0x0012d000 + *(.rodata) + .rodata 0xc012d000 0x80 TaskManager/Thread.class.o + .rodata 0xc012d080 0xc8 VTManager/SimpleVT.class.o + *fill* 0xc012d148 0x18 00 + .rodata 0xc012d160 0xd8 Shell/KernelShell.class.o + +.rodata.str1.1 0xc012d238 0x108e load address 0x0012d238 + .rodata.str1.1 + 0xc012d238 0x218 Core/kmain.wtf.o + 0x231 (size before relaxing) + .rodata.str1.1 + 0xc012d450 0x105 Core/Sys.ns.o + 0x130 (size before relaxing) + .rodata.str1.1 + 0xc012d555 0xd0 Core/Log.ns.o + .rodata.str1.1 + 0xc012d625 0x4d Core/SB.ns.o + 0x64 (size before relaxing) + .rodata.str1.1 + 0xc012d672 0x5c MemoryManager/PhysMem.ns.o + .rodata.str1.1 + 0xc012d6ce 0x31 DeviceManager/Disp.ns.o + 0x3f (size before relaxing) + .rodata.str1.1 + 0xc012d6ff 0x191 DeviceManager/Kbd.ns.o + 0x1ed (size before relaxing) + .rodata.str1.1 + 0x00000000 0x2 TaskManager/Process.class.o + .rodata.str1.1 + 0x00000000 0x5 TaskManager/Process-sc.class.o + .rodata.str1.1 + 0xc012d890 0x22f TaskManager/Thread.class.o + 0x24c (size before relaxing) + .rodata.str1.1 + 0xc012dabf 0x1c TaskManager/Task.ns.o + .rodata.str1.1 + 0xc012dadb 0x15 VTManager/VirtualTerminal.proto.o + 0x1b (size before relaxing) + .rodata.str1.1 + 0x00000000 0x2 VTManager/ScrollableVT.class.o + .rodata.str1.1 + 0x00000000 0x2 VTManager/PipeVT.class.o + .rodata.str1.1 + 0xc012daf0 0x2 VTManager/FileVT.class.o + 0x4 (size before relaxing) + .rodata.str1.1 + 0xc012daf2 0x2 VTManager/VirtualTerminal-kbd.proto.o + 0xd (size before relaxing) + .rodata.str1.1 + 0xc012daf4 0xaa Shell/KernelShell.class.o + 0xb9 (size before relaxing) + .rodata.str1.1 + 0xc012db9e 0x135 Shell/KernelShell-fs.class.o + 0x13f (size before relaxing) + .rodata.str1.1 + 0xc012dcd3 0x178 Shell/KernelShell-sys.class.o + 0x192 (size before relaxing) + .rodata.str1.1 + 0x00000000 0x5 ../Library/Common/String.class.o + .rodata.str1.1 + 0xc012de4b 0x16a ../Library/Common/WChar.class.o + 0x1be (size before relaxing) + .rodata.str1.1 + 0x00000000 0x4 VFS/Part.ns.o + .rodata.str1.1 + 0xc012dfb5 0x44 VFS/VFS.ns.o + 0x59 (size before relaxing) + .rodata.str1.1 + 0x00000000 0x5 VFS/FSNode-sc.proto.o + .rodata.str1.1 + 0x00000000 0x5 VFS/File-sc.class.o + .rodata.str1.1 + 0x00000000 0x2 VFS/DirectoryNode.class.o + .rodata.str1.1 + 0xc012dff9 0x45 UserManager/Usr.ns.o + 0x51 (size before relaxing) + .rodata.str1.1 + 0x00000000 0x3 FileSystems/RamFS/RamFS.class.o + .rodata.str1.1 + 0xc012e03e 0xaa FileSystems/FAT/FATFS.class.o + 0xb3 (size before relaxing) + .rodata.str1.1 + 0xc012e0e8 0x37 SyscallManager/IDT.ns.o + .rodata.str1.1 + 0x00000000 0x5 SyscallManager/Ressource.class.o + .rodata.str1.1 + 0xc012e11f 0x27 Devices/Display/VGATextOutput.class.o + .rodata.str1.1 + 0xc012e146 0x34 Devices/Display/VESADisplay.class.o + 0x36 (size before relaxing) + .rodata.str1.1 + 0xc012e17a 0x23 Devices/Keyboard/PS2Keyboard.class.o + .rodata.str1.1 + 0xc012e19d 0x39 Devices/Floppy/FloppyController.class.o + .rodata.str1.1 + 0xc012e1d6 0x8a Devices/Floppy/FloppyDrive.class.o + 0x97 (size before relaxing) + .rodata.str1.1 + 0xc012e260 0x20 Devices/ATA/ATAController.class.o + .rodata.str1.1 + 0xc012e280 0x29 Devices/ATA/ATADrive.class.o + .rodata.str1.1 + 0xc012e2a9 0x1d Devices/Timer.class.o + 0x23 (size before relaxing) + +.rodata.str1.4 0xc012e2c8 0xe38 load address 0x0012e2c8 + .rodata.str1.4 + 0xc012e2c8 0x229 Core/kmain.wtf.o + *fill* 0xc012e4f1 0x3 00 + .rodata.str1.4 + 0xc012e4f4 0x37 Core/Sys.ns.o + *fill* 0xc012e52b 0x1 00 + .rodata.str1.4 + 0xc012e52c 0x41 MemoryManager/PageAlloc.ns.o + *fill* 0xc012e56d 0x3 00 + .rodata.str1.4 + 0xc012e570 0x71 DeviceManager/Disp.ns.o + *fill* 0xc012e5e1 0x3 00 + .rodata.str1.4 + 0xc012e5e4 0x20 DeviceManager/Kbd.ns.o + .rodata.str1.4 + 0xc012e604 0x5a TaskManager/Thread.class.o + *fill* 0xc012e65e 0x2 00 + .rodata.str1.4 + 0xc012e660 0x355 Shell/KernelShell.class.o + *fill* 0xc012e9b5 0x3 00 + .rodata.str1.4 + 0xc012e9b8 0x60 Shell/KernelShell-fs.class.o + .rodata.str1.4 + 0xc012ea18 0x145 Shell/KernelShell-sys.class.o + 0x165 (size before relaxing) + *fill* 0xc012eb5d 0x3 00 + .rodata.str1.4 + 0xc012eb60 0x1b2 VFS/VFS.ns.o + *fill* 0xc012ed12 0x2 00 + .rodata.str1.4 + 0xc012ed14 0x6f UserManager/Usr.ns.o + *fill* 0xc012ed83 0x1 00 + .rodata.str1.4 + 0xc012ed84 0x2f FileSystems/FAT/FATFS.class.o + *fill* 0xc012edb3 0x1 00 + .rodata.str1.4 + 0xc012edb4 0x55 Devices/Display/VESADisplay.class.o + *fill* 0xc012ee09 0x3 00 + .rodata.str1.4 + 0xc012ee0c 0x2f4 Devices/Floppy/FloppyDrive.class.o + +.rodata._ZTV7Display + 0xc012f100 0x40 load address 0x0012f100 + .rodata._ZTV7Display + 0xc012f100 0x40 Core/kmain.wtf.o + 0xc012f100 vtable for Display + +.rodata._ZTV6Device + 0xc012f140 0x1c load address 0x0012f140 + .rodata._ZTV6Device + 0xc012f140 0x1c Core/kmain.wtf.o + 0xc012f140 vtable for Device + +.rodata._ZTV8TextFile + 0xc012f160 0x14 load address 0x0012f160 + .rodata._ZTV8TextFile + 0xc012f160 0x14 Core/kmain.wtf.o + 0xc012f160 vtable for TextFile + +.rodata._ZTV9ByteArray + 0xc012f178 0x10 load address 0x0012f178 + .rodata._ZTV9ByteArray + 0xc012f178 0x10 Core/kmain.wtf.o + 0xc012f178 vtable for ByteArray + +.rodata._ZTV11BasicStringIhE + 0xc012f188 0x10 load address 0x0012f188 + .rodata._ZTV11BasicStringIhE + 0xc012f188 0x10 Core/kmain.wtf.o + 0xc012f188 vtable for BasicString + +.rodata._ZTV6String + 0xc012f198 0x10 load address 0x0012f198 + .rodata._ZTV6String + 0xc012f198 0x10 Core/kmain.wtf.o + 0xc012f198 vtable for String + +.rodata._ZTV11BasicStringI5WCharE + 0xc012f1a8 0x10 load address 0x0012f1a8 + .rodata._ZTV11BasicStringI5WCharE + 0xc012f1a8 0x10 Core/kmain.wtf.o + 0xc012f1a8 vtable for BasicString + +.rodata._ZTV7Process + 0xc012f1b8 0x14 load address 0x0012f1b8 + .rodata._ZTV7Process + 0xc012f1b8 0x14 TaskManager/Process-sc.class.o + 0xc012f1b8 vtable for Process + +.rodata._ZTV6Thread + 0xc012f1d0 0x18 load address 0x0012f1d0 + .rodata._ZTV6Thread + 0xc012f1d0 0x18 TaskManager/Thread.class.o + 0xc012f1d0 vtable for Thread + +.rodata._ZTV9V86Thread + 0xc012f1e8 0x18 load address 0x0012f1e8 + .rodata._ZTV9V86Thread + 0xc012f1e8 0x18 TaskManager/V86/V86Thread.class.o + 0xc012f1e8 vtable for V86Thread + +.rodata._ZTV15VirtualTerminal + 0xc012f200 0x38 load address 0x0012f200 + .rodata._ZTV15VirtualTerminal + 0xc012f200 0x38 VTManager/VirtualTerminal.proto.o + 0xc012f200 vtable for VirtualTerminal + +.rodata._ZTV8SimpleVT + 0xc012f240 0x48 load address 0x0012f240 + .rodata._ZTV8SimpleVT + 0xc012f240 0x48 VTManager/SimpleVT.class.o + 0xc012f240 vtable for SimpleVT + +.rodata._ZTV12ScrollableVT + 0xc012f2a0 0x48 load address 0x0012f2a0 + .rodata._ZTV12ScrollableVT + 0xc012f2a0 0x48 VTManager/ScrollableVT.class.o + 0xc012f2a0 vtable for ScrollableVT + +.rodata._ZTV6PipeVT + 0xc012f300 0x38 load address 0x0012f300 + .rodata._ZTV6PipeVT + 0xc012f300 0x38 VTManager/PipeVT.class.o + 0xc012f300 vtable for PipeVT + +.rodata._ZTV6FileVT + 0xc012f340 0x38 load address 0x0012f340 + .rodata._ZTV6FileVT + 0xc012f340 0x38 VTManager/FileVT.class.o + 0xc012f340 vtable for FileVT + +.rodata._ZTV11MelonBinary + 0xc012f378 0x14 load address 0x0012f378 + .rodata._ZTV11MelonBinary + 0xc012f378 0x14 Linker/MelonBinary.class.o + 0xc012f378 vtable for MelonBinary + +.rodata._ZTV6Binary + 0xc012f390 0x14 load address 0x0012f390 + .rodata._ZTV6Binary + 0xc012f390 0x14 Linker/MelonBinary.class.o + 0xc012f390 vtable for Binary + +.rodata._ZTV9ElfBinary + 0xc012f3a8 0x14 load address 0x0012f3a8 + .rodata._ZTV9ElfBinary + 0xc012f3a8 0x14 Linker/ElfBinary.class.o + 0xc012f3a8 vtable for ElfBinary + +.rodata._ZTV10FileSystem + 0xc012f3c0 0x48 load address 0x0012f3c0 + .rodata._ZTV10FileSystem + 0xc012f3c0 0x48 VFS/VFS.ns.o + 0xc012f3c0 vtable for FileSystem + +.rodata._ZTV6FSNode + 0xc012f420 0x28 load address 0x0012f420 + .rodata._ZTV6FSNode + 0xc012f420 0x28 VFS/FSNode-sc.proto.o + 0xc012f420 vtable for FSNode + +.rodata._ZTV4File + 0xc012f448 0x14 load address 0x0012f448 + .rodata._ZTV4File + 0xc012f448 0x14 VFS/File-sc.class.o + 0xc012f448 vtable for File + +.rodata._ZTV13DirectoryNode + 0xc012f460 0x28 load address 0x0012f460 + .rodata._ZTV13DirectoryNode + 0xc012f460 0x28 VFS/DirectoryNode.class.o + 0xc012f460 vtable for DirectoryNode + +.rodata._ZTV5RamFS + 0xc012f4a0 0x48 load address 0x0012f4a0 + .rodata._ZTV5RamFS + 0xc012f4a0 0x48 FileSystems/RamFS/RamFS.class.o + 0xc012f4a0 vtable for RamFS + +.rodata._ZTV11RamFileNode + 0xc012f500 0x28 load address 0x0012f500 + .rodata._ZTV11RamFileNode + 0xc012f500 0x28 FileSystems/RamFS/RamFS.class.o + 0xc012f500 vtable for RamFileNode + +.rodata._ZTV8FileNode + 0xc012f540 0x28 load address 0x0012f540 + .rodata._ZTV8FileNode + 0xc012f540 0x28 FileSystems/RamFS/RamFS.class.o + 0xc012f540 vtable for FileNode + +.rodata._ZTV5FATFS + 0xc012f580 0x48 load address 0x0012f580 + .rodata._ZTV5FATFS + 0xc012f580 0x48 FileSystems/FAT/FATFS.class.o + 0xc012f580 vtable for FATFS + +.rodata._ZTV16FATDirectoryNode + 0xc012f5e0 0x28 load address 0x0012f5e0 + .rodata._ZTV16FATDirectoryNode + 0xc012f5e0 0x28 FileSystems/FAT/FATFS.class.o + 0xc012f5e0 vtable for FATDirectoryNode + +.rodata._ZTV11FATFileNode + 0xc012f620 0x28 load address 0x0012f620 + .rodata._ZTV11FATFileNode + 0xc012f620 0x28 FileSystems/FAT/FATFS.class.o + 0xc012f620 vtable for FATFileNode + +.rodata._ZTV9Ressource + 0xc012f648 0x14 load address 0x0012f648 + .rodata._ZTV9Ressource + 0xc012f648 0x14 SyscallManager/Ressource.class.o + 0xc012f648 vtable for Ressource + +.rodata._ZTV13VGATextOutput + 0xc012f660 0x40 load address 0x0012f660 + .rodata._ZTV13VGATextOutput + 0xc012f660 0x40 Devices/Display/VGATextOutput.class.o + 0xc012f660 vtable for VGATextOutput + +.rodata._ZTV14GraphicDisplay + 0xc012f6a0 0x44 load address 0x0012f6a0 + .rodata._ZTV14GraphicDisplay + 0xc012f6a0 0x44 Devices/Display/GraphicDisplay.proto.o + 0xc012f6a0 vtable for GraphicDisplay + +.rodata._ZTV11VESADisplay + 0xc012f700 0x44 load address 0x0012f700 + .rodata._ZTV11VESADisplay + 0xc012f700 0x44 Devices/Display/VESADisplay.class.o + 0xc012f700 vtable for VESADisplay + +.rodata._ZTV11PS2Keyboard + 0xc012f760 0x20 load address 0x0012f760 + .rodata._ZTV11PS2Keyboard + 0xc012f760 0x20 Devices/Keyboard/PS2Keyboard.class.o + 0xc012f760 vtable for PS2Keyboard + +.rodata._ZTV8Keyboard + 0xc012f780 0x20 load address 0x0012f780 + .rodata._ZTV8Keyboard + 0xc012f780 0x20 Devices/Keyboard/PS2Keyboard.class.o + 0xc012f780 vtable for Keyboard + +.rodata._ZTV16FloppyController + 0xc012f7a0 0x1c load address 0x0012f7a0 + .rodata._ZTV16FloppyController + 0xc012f7a0 0x1c Devices/Floppy/FloppyController.class.o + 0xc012f7a0 vtable for FloppyController + +.rodata._ZTV11FloppyDrive + 0xc012f7c0 0x34 load address 0x0012f7c0 + .rodata._ZTV11FloppyDrive + 0xc012f7c0 0x34 Devices/Floppy/FloppyDrive.class.o + 0xc012f7c0 vtable for FloppyDrive + +.rodata._ZTV11BlockDevice + 0xc012f800 0x34 load address 0x0012f800 + .rodata._ZTV11BlockDevice + 0xc012f800 0x34 Devices/Floppy/FloppyDrive.class.o + 0xc012f800 vtable for BlockDevice + +.rodata._ZTV13ATAController + 0xc012f838 0x1c load address 0x0012f838 + .rodata._ZTV13ATAController + 0xc012f838 0x1c Devices/ATA/ATAController.class.o + 0xc012f838 vtable for ATAController + +.rodata._ZTV8ATADrive + 0xc012f860 0x34 load address 0x0012f860 + .rodata._ZTV8ATADrive + 0xc012f860 0x34 Devices/ATA/ATADrive.class.o + 0xc012f860 vtable for ATADrive + +.rodata._ZTV5Timer + 0xc012f898 0x1c load address 0x0012f898 + .rodata._ZTV5Timer + 0xc012f898 0x1c Devices/Timer.class.o + 0xc012f898 vtable for Timer + +.rel.dyn 0xc012f8b4 0x0 load address 0x0012f8b4 + .rel.iplt 0x00000000 0x0 Core/loader.wtf.o + .rel.text 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6DeviceD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN7DisplayD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN7DisplayD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6DeviceD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN9ByteArrayD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11BasicStringIhED0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11BasicStringIhED1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN9ByteArrayD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6StringD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11BasicStringI5WCharED0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11BasicStringI5WCharED1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6StringD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6VectorI6StringED1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11BasicStringI5WCharE6affectERKS1_ + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6StringpLERKS_ + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8TextFileD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8TextFileD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV7Display + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV6Device + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV8TextFile + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV9ByteArray + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11BasicStringIhE + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV6String + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11BasicStringI5WCharE + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6VectorIP6DeviceE4pushERKS1_ + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6VectorI6StringE4pushERKS0_ + 0x00000000 0x0 Core/loader.wtf.o + .rel.data 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6StringC1ERKS_ + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN9V86ThreadD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN9V86ThreadD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV9V86Thread + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV15VirtualTerminal + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV8SimpleVT + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV12ScrollableVT + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6PipeVTD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6PipeVTD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV6PipeVT + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6FileVTD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6FileVTD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV6FileVT + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6BinaryD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6BinaryD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV6Binary + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN10BlockCacheI11BlockDeviceE10readBlocksEyjPh + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6FSNodeD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN6FSNodeD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV6FSNode + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV13DirectoryNode + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN4UserD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN10SimpleListI5GroupED1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN4UserC1E6StringS0_S0_P5GroupS0_j + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN10SimpleListI4UserE4consERKS0_ + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN10SimpleListI4UserED1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8FileNodeD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11RamFileNodeD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11RamFileNodeD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8FileNodeD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV5RamFS + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11RamFileNode + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV8FileNode + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN5FATFSD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN5FATFSD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN16FATDirectoryNodeD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN16FATDirectoryNodeD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11FATFileNodeD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11FATFileNodeD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV5FATFS + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV16FATDirectoryNode + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11FATFileNode + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN10SimpleListIP6call_tED1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN13VGATextOutputD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN13VGATextOutputD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV13VGATextOutput + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN14GraphicDisplayD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN14GraphicDisplayD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV14GraphicDisplay + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11VESADisplayD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11VESADisplayD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11VESADisplay + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8KeyboardD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11PS2KeyboardD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11PS2KeyboardD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8KeyboardD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11PS2Keyboard + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV8Keyboard + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN16FloppyControllerD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN16FloppyControllerD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV16FloppyController + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11BlockDeviceD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11FloppyDriveD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11FloppyDriveD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN11BlockDeviceD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11FloppyDrive + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV11BlockDevice + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN13ATAControllerD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN13ATAControllerD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV13ATAController + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8ATADriveD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN8ATADriveD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV8ATADrive + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN5TimerD1Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.text._ZN5TimerD0Ev + 0x00000000 0x0 Core/loader.wtf.o + .rel.rodata._ZTV5Timer + 0x00000000 0x0 Core/loader.wtf.o + +.data 0xc0130000 0x14e0 load address 0x00130000 + 0xc0130000 start_ctors = . + *(.ctor*) + .ctors 0xc0130000 0x4 Core/SB.ns.o + .ctors 0xc0130004 0x4 MemoryManager/Mem.ns.o + .ctors 0xc0130008 0x4 DeviceManager/Disp.ns.o + .ctors 0xc013000c 0x4 DeviceManager/Dev.ns.o + .ctors 0xc0130010 0x4 DeviceManager/Kbd.ns.o + .ctors 0xc0130014 0x4 VTManager/VT.ns.o + .ctors 0xc0130018 0x4 ../Library/Common/WChar.class.o + .ctors 0xc013001c 0x4 VFS/Part.ns.o + .ctors 0xc0130020 0x4 VFS/VFS.ns.o + .ctors 0xc0130024 0x4 Devices/Floppy/FloppyController.class.o + 0xc0130028 end_ctors = . + 0xc0130028 start_dtors = . + *(.dtor*) + 0xc0130028 end_dtors = . + *(.data) + .data 0xc0130028 0x24 Core/kmain.wtf.o + 0xc0130028 melonLogo + 0xc0130044 melonLogoLines + 0xc0130048 melonLogoCols + .data 0xc013004c 0x0 Core/Sys.ns.o + .data 0xc013004c 0x0 Core/Log.ns.o + .data 0xc013004c 0x0 Core/SB.ns.o + .data 0xc013004c 0x0 MemoryManager/Mem.ns.o + .data 0xc013004c 0x0 MemoryManager/PhysMem.ns.o + .data 0xc013004c 0x0 MemoryManager/GDT.ns.o + .data 0xc013004c 0x0 MemoryManager/PageDirectory.class.o + .data 0xc013004c 0x0 MemoryManager/PageAlloc.ns.o + .data 0xc013004c 0x0 DeviceManager/Disp.ns.o + .data 0xc013004c 0x0 DeviceManager/Dev.ns.o + .data 0xc013004c 0x0 DeviceManager/Time.ns.o + *fill* 0xc013004c 0x14 00 + .data 0xc0130060 0x100 DeviceManager/Kbd.ns.o + 0xc0130060 Kbd::ctrlkeys + .data 0xc0130160 0x0 TaskManager/Process.class.o + .data 0xc0130160 0xc0 TaskManager/Process-sc.class.o + 0xc0130160 Process::m_callTable + .data 0xc0130220 0x24 TaskManager/Thread.class.o + 0xc0130220 Thread::m_callTable + .data 0xc0130244 0x0 TaskManager/V86/V86Thread.class.o + .data 0xc0130244 0x2 TaskManager/V86/V86.ns.o + 0xc0130244 V86::seg + *fill* 0xc0130246 0x2 00 + .data 0xc0130248 0x4 TaskManager/Task.ns.o + 0xc0130248 Task::nextpid + .data 0xc013024c 0x0 VTManager/VirtualTerminal.proto.o + .data 0xc013024c 0x0 VTManager/SimpleVT.class.o + .data 0xc013024c 0x0 VTManager/ScrollableVT.class.o + .data 0xc013024c 0x0 VTManager/PipeVT.class.o + .data 0xc013024c 0x0 VTManager/FileVT.class.o + .data 0xc013024c 0x0 VTManager/VirtualTerminal-kbd.proto.o + *fill* 0xc013024c 0x14 00 + .data 0xc0130260 0x60 VTManager/VirtualTerminal-sc.proto.o + 0xc0130260 VirtualTerminal::m_callTable + .data 0xc01302c0 0x0 VTManager/VT.ns.o + .data 0xc01302c0 0x0 Shell/KernelShell.class.o + .data 0xc01302c0 0x0 Shell/KernelShell-fs.class.o + .data 0xc01302c0 0x0 Shell/KernelShell-sys.class.o + .data 0xc01302c0 0xc Linker/Binary.proto.o + 0xc01302c0 loaders + .data 0xc01302cc 0x0 Linker/MelonBinary.class.o + .data 0xc01302cc 0x0 Linker/ElfBinary.class.o + .data 0xc01302cc 0x0 ../Library/Common/cppsupport.wtf.o + .data 0xc01302cc 0x0 ../Library/Common/Bitset.class.o + .data 0xc01302cc 0x0 ../Library/Common/String.class.o + .data 0xc01302cc 0x0 ../Library/Common/ByteArray.class.o + .data 0xc01302cc 0x0 ../Library/Common/WChar.class.o + *fill* 0xc01302cc 0x4 00 + .data 0xc01302d0 0x18 ../Library/Common/Rand.ns.o + 0xc01302d0 Rand::m + 0xc01302d4 Rand::a + 0xc01302d8 Rand::b + 0xc01302e0 Rand::current + .data 0xc01302e8 0x0 ../Library/Common/CMem.ns.o + .data 0xc01302e8 0x0 ../Library/Common/Heap.class.o + .data 0xc01302e8 0x0 ../Library/Common/Heap-index.class.o + .data 0xc01302e8 0x0 ../Library/Common/Mutex.class.o + .data 0xc01302e8 0x0 ../Library/Common/TextFile.class.o + .data 0xc01302e8 0x0 VFS/Partition.class.o + .data 0xc01302e8 0x0 VFS/Part.ns.o + .data 0xc01302e8 0x10 VFS/VFS.ns.o + 0xc01302e8 fileSystems + *fill* 0xc01302f8 0x8 00 + .data 0xc0130300 0x84 VFS/FSNode-sc.proto.o + 0xc0130300 FSNode::m_callTable + *fill* 0xc0130384 0x1c 00 + .data 0xc01303a0 0x6c VFS/File.class.o + 0xc01303a0 File::m_callTable + .data 0xc013040c 0x0 VFS/File-sc.class.o + *fill* 0xc013040c 0x14 00 + .data 0xc0130420 0x24 VFS/DirectoryNode.class.o + 0xc0130420 DirectoryNode::m_callTable + .data 0xc0130444 0x0 UserManager/Usr.ns.o + .data 0xc0130444 0x0 FileSystems/RamFS/RamFS.class.o + .data 0xc0130444 0x0 FileSystems/FAT/FATFS.class.o + .data 0xc0130444 0x0 SyscallManager/IDT.ns.o + .data 0xc0130444 0x0 SyscallManager/Ressource.class.o + *fill* 0xc0130444 0x1c 00 + .data 0xc0130460 0x38 SyscallManager/Res.ns.o + 0xc0130460 Res::staticCalls + .data 0xc0130498 0x0 Devices/Display/VGATextOutput.class.o + *fill* 0xc0130498 0x8 00 + .data 0xc01304a0 0x1040 Devices/Display/GraphicDisplay.proto.o + 0xc01304a0 consoleFont + 0xc01314a0 consoleColor + .data 0xc01314e0 0x0 Devices/Display/VESADisplay.class.o + .data 0xc01314e0 0x0 Devices/Keyboard/PS2Keyboard.class.o + .data 0xc01314e0 0x0 Devices/Floppy/FloppyController.class.o + .data 0xc01314e0 0x0 Devices/Floppy/FloppyDrive.class.o + .data 0xc01314e0 0x0 Devices/ATA/ATAController.class.o + .data 0xc01314e0 0x0 Devices/ATA/ATADrive.class.o + .data 0xc01314e0 0x0 Devices/Timer.class.o + +.igot.plt 0xc01314e0 0x0 load address 0x001314e0 + .igot.plt 0x00000000 0x0 Core/loader.wtf.o + +.bss 0xc0138000 0x14800 load address 0x00138000 + 0xc0138000 sbss = . + *(COMMON) + *(.bss) + .bss 0xc0138000 0x4000 Core/loader.wtf.o + .bss 0xc013c000 0x4 Core/kmain.wtf.o + 0xc013c000 kvt + .bss 0xc013c004 0x0 Core/Sys.ns.o + .bss 0xc013c004 0x1c Core/Log.ns.o + 0xc013c004 Log::logs + .bss 0xc013c020 0x1c Core/SB.ns.o + 0xc013c020 SB::sb + 0xc013c024 SB::msg + 0xc013c030 SB::boot_progress + 0xc013c032 SB::height + 0xc013c034 SB::gone_multi + 0xc013c038 SB::lock + *fill* 0xc013c03c 0x4 00 + .bss 0xc013c040 0x44 MemoryManager/Mem.ns.o + 0xc013c040 Mem::pagingEnabled + 0xc013c044 Mem::placementAddress + 0xc013c060 Mem::kheap + .bss 0xc013c084 0xc MemoryManager/PhysMem.ns.o + 0xc013c084 kernelPageDirectory + 0xc013c088 PhysMem::nframes + 0xc013c08c PhysMem::frames + *fill* 0xc013c090 0x10 00 + .bss 0xc013c0a0 0x20a8 MemoryManager/GDT.ns.o + 0xc013c0a0 GDT::gdt_entries + 0xc013c0d0 GDT::gdt_ptr + 0xc013c0e0 GDT::tss_entry + .bss 0xc013e148 0x0 MemoryManager/PageDirectory.class.o + .bss 0xc013e148 0x12 MemoryManager/PageAlloc.ns.o + 0xc013e148 PageAlloc::freePage + 0xc013e154 PageAlloc::freec + 0xc013e158 PageAlloc::usable + 0xc013e159 PageAlloc::locked + *fill* 0xc013e15a 0x2 00 + .bss 0xc013e15c 0x24 DeviceManager/Disp.ns.o + 0xc013e15c Disp::mode + 0xc013e178 Disp::modes + .bss 0xc013e180 0x60 DeviceManager/Dev.ns.o + 0xc013e180 Dev::devices + 0xc013e1a0 Dev::irqHandler + .bss 0xc013e1e0 0x4 DeviceManager/Time.ns.o + 0xc013e1e0 Time::timer + *fill* 0xc013e1e4 0x1c 00 + .bss 0xc013e200 0xa08 DeviceManager/Kbd.ns.o + 0xc013e200 keymap_normal + 0xc013e400 keymap_shift + 0xc013e600 keymap_caps + 0xc013e800 keymap_altgr + 0xc013ea00 keymap_shiftaltgr + 0xc013ec00 Kbd::kbdstatus + 0xc013ec04 Kbd::focusedVT + .bss 0xc013ec08 0x0 TaskManager/Process.class.o + .bss 0xc013ec08 0x0 TaskManager/Process-sc.class.o + .bss 0xc013ec08 0x0 TaskManager/Thread.class.o + .bss 0xc013ec08 0x0 TaskManager/V86/V86Thread.class.o + .bss 0xc013ec08 0x0 TaskManager/V86/V86.ns.o + *fill* 0xc013ec08 0x18 00 + .bss 0xc013ec20 0x420 TaskManager/Task.ns.o + 0xc013ec20 Task::processes + 0xc013ec24 Task::threads + 0xc013ec28 Task::currentThread + 0xc013ec2c Task::currentProcess + 0xc013ec30 Task::idleThread + 0xc013ec40 Task::temp_stack + .bss 0xc013f040 0x0 VTManager/VirtualTerminal.proto.o + .bss 0xc013f040 0x0 VTManager/SimpleVT.class.o + .bss 0xc013f040 0x0 VTManager/ScrollableVT.class.o + .bss 0xc013f040 0x0 VTManager/PipeVT.class.o + .bss 0xc013f040 0x0 VTManager/FileVT.class.o + .bss 0xc013f040 0x0 VTManager/VirtualTerminal-kbd.proto.o + .bss 0xc013f040 0x0 VTManager/VirtualTerminal-sc.proto.o + .bss 0xc013f040 0x8 VTManager/VT.ns.o + 0xc013f040 VT::mappedVTs + .bss 0xc013f048 0x4 Shell/KernelShell.class.o + 0xc013f048 KernelShell::m_instances + .bss 0xc013f04c 0x0 Shell/KernelShell-fs.class.o + .bss 0xc013f04c 0x0 Shell/KernelShell-sys.class.o + .bss 0xc013f04c 0x0 Linker/Binary.proto.o + .bss 0xc013f04c 0x0 Linker/MelonBinary.class.o + .bss 0xc013f04c 0x0 Linker/ElfBinary.class.o + .bss 0xc013f04c 0x4 ../Library/Common/cppsupport.wtf.o + 0xc013f04c __dso_handle + .bss 0xc013f050 0x0 ../Library/Common/Bitset.class.o + .bss 0xc013f050 0x0 ../Library/Common/String.class.o + .bss 0xc013f050 0x0 ../Library/Common/ByteArray.class.o + *fill* 0xc013f050 0x10 00 + .bss 0xc013f060 0x200 ../Library/Common/WChar.class.o + 0xc013f060 WChar::CP437 + .bss 0xc013f260 0x0 ../Library/Common/Rand.ns.o + .bss 0xc013f260 0x0 ../Library/Common/CMem.ns.o + .bss 0xc013f260 0x0 ../Library/Common/Heap.class.o + .bss 0xc013f260 0x0 ../Library/Common/Heap-index.class.o + .bss 0xc013f260 0x0 ../Library/Common/Mutex.class.o + .bss 0xc013f260 0x0 ../Library/Common/TextFile.class.o + .bss 0xc013f260 0x0 VFS/Partition.class.o + .bss 0xc013f260 0x10 VFS/Part.ns.o + 0xc013f260 Part::devices + 0xc013f268 Part::partitions + .bss 0xc013f270 0xc VFS/VFS.ns.o + 0xc013f270 VFS::rootNode + 0xc013f274 VFS::filesystems + .bss 0xc013f27c 0x0 VFS/FSNode-sc.proto.o + .bss 0xc013f27c 0x0 VFS/File.class.o + .bss 0xc013f27c 0x0 VFS/File-sc.class.o + .bss 0xc013f27c 0x0 VFS/DirectoryNode.class.o + .bss 0xc013f27c 0x8 UserManager/Usr.ns.o + 0xc013f27c Usr::m_users + 0xc013f280 Usr::m_groups + .bss 0xc013f284 0x0 FileSystems/RamFS/RamFS.class.o + .bss 0xc013f284 0x0 FileSystems/FAT/FATFS.class.o + *fill* 0xc013f284 0x1c 00 + .bss 0xc013f2a0 0x806 SyscallManager/IDT.ns.o + 0xc013f2a0 IDT::idt_entries + 0xc013faa0 IDT::idt_ptr + *fill* 0xc013faa6 0x2 00 + .bss 0xc013faa8 0x0 SyscallManager/Ressource.class.o + .bss 0xc013faa8 0x8 SyscallManager/Res.ns.o + 0xc013faa8 Res::ressources + 0xc013faac Res::size + .bss 0xc013fab0 0x0 Devices/Display/VGATextOutput.class.o + .bss 0xc013fab0 0x0 Devices/Display/GraphicDisplay.proto.o + .bss 0xc013fab0 0x0 Devices/Display/VESADisplay.class.o + .bss 0xc013fab0 0x0 Devices/Keyboard/PS2Keyboard.class.o + *fill* 0xc013fab0 0x550 00 + .bss 0xc0140000 0xc800 Devices/Floppy/FloppyController.class.o + 0xc0140000 FloppyController::dmaMutex + 0xc0148000 FloppyController::dmabuff + .bss 0xc014c800 0x0 Devices/Floppy/FloppyDrive.class.o + .bss 0xc014c800 0x0 Devices/ATA/ATAController.class.o + .bss 0xc014c800 0x0 Devices/ATA/ATADrive.class.o + .bss 0xc014c800 0x0 Devices/Timer.class.o + 0xc014c800 ebss = . + 0xc014c800 end = . + 0xc014c800 _end = . + 0xc014c800 __end = . +LOAD Core/loader.wtf.o +LOAD Core/kmain.wtf.o +LOAD Core/Sys.ns.o +LOAD Core/Log.ns.o +LOAD Core/SB.ns.o +LOAD MemoryManager/Mem.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 DeviceManager/Kbd.ns.o +LOAD TaskManager/Process.class.o +LOAD TaskManager/Process-sc.class.o +LOAD TaskManager/Thread.class.o +LOAD TaskManager/V86/V86Thread.class.o +LOAD TaskManager/V86/V86.ns.o +LOAD TaskManager/V86/v86.wtf.o +LOAD TaskManager/Task.ns.o +LOAD TaskManager/Task.wtf.o +LOAD VTManager/VirtualTerminal.proto.o +LOAD VTManager/SimpleVT.class.o +LOAD VTManager/ScrollableVT.class.o +LOAD VTManager/PipeVT.class.o +LOAD VTManager/FileVT.class.o +LOAD VTManager/VirtualTerminal-kbd.proto.o +LOAD VTManager/VirtualTerminal-sc.proto.o +LOAD VTManager/VT.ns.o +LOAD Shell/KernelShell.class.o +LOAD Shell/KernelShell-fs.class.o +LOAD Shell/KernelShell-sys.class.o +LOAD Linker/Binary.proto.o +LOAD Linker/MelonBinary.class.o +LOAD Linker/ElfBinary.class.o +LOAD ../Library/Common/cppsupport.wtf.o +LOAD ../Library/Common/Bitset.class.o +LOAD ../Library/Common/String.class.o +LOAD ../Library/Common/ByteArray.class.o +LOAD ../Library/Common/WChar.class.o +LOAD ../Library/Common/Rand.ns.o +LOAD ../Library/Common/CMem.ns.o +LOAD ../Library/Common/Heap.class.o +LOAD ../Library/Common/Heap-index.class.o +LOAD ../Library/Common/Mutex.class.o +LOAD ../Library/Common/TextFile.class.o +LOAD VFS/Partition.class.o +LOAD VFS/Part.ns.o +LOAD VFS/VFS.ns.o +LOAD VFS/FSNode-sc.proto.o +LOAD VFS/File.class.o +LOAD VFS/File-sc.class.o +LOAD VFS/DirectoryNode.class.o +LOAD UserManager/Usr.ns.o +LOAD FileSystems/RamFS/RamFS.class.o +LOAD FileSystems/FAT/FATFS.class.o +LOAD SyscallManager/IDT.ns.o +LOAD SyscallManager/Ressource.class.o +LOAD SyscallManager/Res.ns.o +LOAD SyscallManager/IDT.wtf.o +LOAD Devices/Display/VGATextOutput.class.o +LOAD Devices/Display/GraphicDisplay.proto.o +LOAD Devices/Display/VESADisplay.class.o +LOAD Devices/Keyboard/PS2Keyboard.class.o +LOAD Devices/Floppy/FloppyController.class.o +LOAD Devices/Floppy/FloppyDrive.class.o +LOAD Devices/ATA/ATAController.class.o +LOAD Devices/ATA/ATADrive.class.o +LOAD Devices/Timer.class.o +OUTPUT(Melon.ke elf32-i386) + +.comment 0x00000000 0x27 + .comment 0x00000000 0x27 Core/kmain.wtf.o + 0x28 (size before relaxing) + .comment 0x00000000 0x28 Core/Sys.ns.o + .comment 0x00000000 0x28 Core/Log.ns.o + .comment 0x00000000 0x28 Core/SB.ns.o + .comment 0x00000000 0x28 MemoryManager/Mem.ns.o + .comment 0x00000000 0x28 MemoryManager/PhysMem.ns.o + .comment 0x00000000 0x28 MemoryManager/GDT.ns.o + .comment 0x00000000 0x28 MemoryManager/PageDirectory.class.o + .comment 0x00000000 0x28 MemoryManager/PageAlloc.ns.o + .comment 0x00000000 0x28 DeviceManager/Disp.ns.o + .comment 0x00000000 0x28 DeviceManager/Dev.ns.o + .comment 0x00000000 0x28 DeviceManager/Time.ns.o + .comment 0x00000000 0x28 DeviceManager/Kbd.ns.o + .comment 0x00000000 0x28 TaskManager/Process.class.o + .comment 0x00000000 0x28 TaskManager/Process-sc.class.o + .comment 0x00000000 0x28 TaskManager/Thread.class.o + .comment 0x00000000 0x28 TaskManager/V86/V86Thread.class.o + .comment 0x00000000 0x28 TaskManager/V86/V86.ns.o + .comment 0x00000000 0x28 TaskManager/Task.ns.o + .comment 0x00000000 0x28 VTManager/VirtualTerminal.proto.o + .comment 0x00000000 0x28 VTManager/SimpleVT.class.o + .comment 0x00000000 0x28 VTManager/ScrollableVT.class.o + .comment 0x00000000 0x28 VTManager/PipeVT.class.o + .comment 0x00000000 0x28 VTManager/FileVT.class.o + .comment 0x00000000 0x28 VTManager/VirtualTerminal-kbd.proto.o + .comment 0x00000000 0x28 VTManager/VirtualTerminal-sc.proto.o + .comment 0x00000000 0x28 VTManager/VT.ns.o + .comment 0x00000000 0x28 Shell/KernelShell.class.o + .comment 0x00000000 0x28 Shell/KernelShell-fs.class.o + .comment 0x00000000 0x28 Shell/KernelShell-sys.class.o + .comment 0x00000000 0x28 Linker/Binary.proto.o + .comment 0x00000000 0x28 Linker/MelonBinary.class.o + .comment 0x00000000 0x28 Linker/ElfBinary.class.o + .comment 0x00000000 0x28 ../Library/Common/cppsupport.wtf.o + .comment 0x00000000 0x28 ../Library/Common/Bitset.class.o + .comment 0x00000000 0x28 ../Library/Common/String.class.o + .comment 0x00000000 0x28 ../Library/Common/ByteArray.class.o + .comment 0x00000000 0x28 ../Library/Common/WChar.class.o + .comment 0x00000000 0x28 ../Library/Common/Rand.ns.o + .comment 0x00000000 0x28 ../Library/Common/CMem.ns.o + .comment 0x00000000 0x28 ../Library/Common/Heap.class.o + .comment 0x00000000 0x28 ../Library/Common/Heap-index.class.o + .comment 0x00000000 0x28 ../Library/Common/Mutex.class.o + .comment 0x00000000 0x28 ../Library/Common/TextFile.class.o + .comment 0x00000000 0x28 VFS/Partition.class.o + .comment 0x00000000 0x28 VFS/Part.ns.o + .comment 0x00000000 0x28 VFS/VFS.ns.o + .comment 0x00000000 0x28 VFS/FSNode-sc.proto.o + .comment 0x00000000 0x28 VFS/File.class.o + .comment 0x00000000 0x28 VFS/File-sc.class.o + .comment 0x00000000 0x28 VFS/DirectoryNode.class.o + .comment 0x00000000 0x28 UserManager/Usr.ns.o + .comment 0x00000000 0x28 FileSystems/RamFS/RamFS.class.o + .comment 0x00000000 0x28 FileSystems/FAT/FATFS.class.o + .comment 0x00000000 0x28 SyscallManager/IDT.ns.o + .comment 0x00000000 0x28 SyscallManager/Ressource.class.o + .comment 0x00000000 0x28 SyscallManager/Res.ns.o + .comment 0x00000000 0x28 Devices/Display/VGATextOutput.class.o + .comment 0x00000000 0x28 Devices/Display/GraphicDisplay.proto.o + .comment 0x00000000 0x28 Devices/Display/VESADisplay.class.o + .comment 0x00000000 0x28 Devices/Keyboard/PS2Keyboard.class.o + .comment 0x00000000 0x28 Devices/Floppy/FloppyController.class.o + .comment 0x00000000 0x28 Devices/Floppy/FloppyDrive.class.o + .comment 0x00000000 0x28 Devices/ATA/ATAController.class.o + .comment 0x00000000 0x28 Devices/ATA/ATADrive.class.o + .comment 0x00000000 0x28 Devices/Timer.class.o + +.note.GNU-stack + 0x00000000 0x0 + .note.GNU-stack + 0x00000000 0x0 Core/kmain.wtf.o + .note.GNU-stack + 0x00000000 0x0 Core/Sys.ns.o + .note.GNU-stack + 0x00000000 0x0 Core/Log.ns.o + .note.GNU-stack + 0x00000000 0x0 Core/SB.ns.o + .note.GNU-stack + 0x00000000 0x0 MemoryManager/Mem.ns.o + .note.GNU-stack + 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 DeviceManager/Kbd.ns.o + .note.GNU-stack + 0x00000000 0x0 TaskManager/Process.class.o + .note.GNU-stack + 0x00000000 0x0 TaskManager/Process-sc.class.o + .note.GNU-stack + 0x00000000 0x0 TaskManager/Thread.class.o + .note.GNU-stack + 0x00000000 0x0 TaskManager/V86/V86Thread.class.o + .note.GNU-stack + 0x00000000 0x0 TaskManager/V86/V86.ns.o + .note.GNU-stack + 0x00000000 0x0 TaskManager/Task.ns.o + .note.GNU-stack + 0x00000000 0x0 VTManager/VirtualTerminal.proto.o + .note.GNU-stack + 0x00000000 0x0 VTManager/SimpleVT.class.o + .note.GNU-stack + 0x00000000 0x0 VTManager/ScrollableVT.class.o + .note.GNU-stack + 0x00000000 0x0 VTManager/PipeVT.class.o + .note.GNU-stack + 0x00000000 0x0 VTManager/FileVT.class.o + .note.GNU-stack + 0x00000000 0x0 VTManager/VirtualTerminal-kbd.proto.o + .note.GNU-stack + 0x00000000 0x0 VTManager/VirtualTerminal-sc.proto.o + .note.GNU-stack + 0x00000000 0x0 VTManager/VT.ns.o + .note.GNU-stack + 0x00000000 0x0 Shell/KernelShell.class.o + .note.GNU-stack + 0x00000000 0x0 Shell/KernelShell-fs.class.o + .note.GNU-stack + 0x00000000 0x0 Shell/KernelShell-sys.class.o + .note.GNU-stack + 0x00000000 0x0 Linker/Binary.proto.o + .note.GNU-stack + 0x00000000 0x0 Linker/MelonBinary.class.o + .note.GNU-stack + 0x00000000 0x0 Linker/ElfBinary.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/cppsupport.wtf.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/Bitset.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/String.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/ByteArray.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/WChar.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/Rand.ns.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/CMem.ns.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/Heap.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/Heap-index.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/Mutex.class.o + .note.GNU-stack + 0x00000000 0x0 ../Library/Common/TextFile.class.o + .note.GNU-stack + 0x00000000 0x0 VFS/Partition.class.o + .note.GNU-stack + 0x00000000 0x0 VFS/Part.ns.o + .note.GNU-stack + 0x00000000 0x0 VFS/VFS.ns.o + .note.GNU-stack + 0x00000000 0x0 VFS/FSNode-sc.proto.o + .note.GNU-stack + 0x00000000 0x0 VFS/File.class.o + .note.GNU-stack + 0x00000000 0x0 VFS/File-sc.class.o + .note.GNU-stack + 0x00000000 0x0 VFS/DirectoryNode.class.o + .note.GNU-stack + 0x00000000 0x0 UserManager/Usr.ns.o + .note.GNU-stack + 0x00000000 0x0 FileSystems/RamFS/RamFS.class.o + .note.GNU-stack + 0x00000000 0x0 FileSystems/FAT/FATFS.class.o + .note.GNU-stack + 0x00000000 0x0 SyscallManager/IDT.ns.o + .note.GNU-stack + 0x00000000 0x0 SyscallManager/Ressource.class.o + .note.GNU-stack + 0x00000000 0x0 SyscallManager/Res.ns.o + .note.GNU-stack + 0x00000000 0x0 Devices/Display/VGATextOutput.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/Display/GraphicDisplay.proto.o + .note.GNU-stack + 0x00000000 0x0 Devices/Display/VESADisplay.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/Keyboard/PS2Keyboard.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/Floppy/FloppyController.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/Floppy/FloppyDrive.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/ATA/ATAController.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/ATA/ATADrive.class.o + .note.GNU-stack + 0x00000000 0x0 Devices/Timer.class.o diff --git a/Source/Kernel/Link.ld b/Source/Kernel/Link.ld deleted file mode 100644 index dd6add0..0000000 --- a/Source/Kernel/Link.ld +++ /dev/null @@ -1,38 +0,0 @@ -ENTRY (loader) - -SECTIONS{ - . = 0x00100000; - - .setup : { - *(.setup) - } - - . += 0xC0000000; - - .text : AT(ADDR(.text) - 0xC0000000) { - *(.text) - } - - .rodata ALIGN (0x1000) : AT(ADDR(.rodata) - 0xC0000000) { - *(.rodata) - } - - .data ALIGN (0x1000) : AT(ADDR(.data) - 0xC0000000) { - start_ctors = .; - *(.ctor*) - end_ctors = .; - start_dtors = .; - *(.dtor*) - end_dtors = .; - *(.data) - } - - .bss : AT(ADDR(.bss) - 0xC0000000) { - sbss = .; - *(COMMON) - *(.bss) - ebss = .; - } - - end = .; _end = .; __end = .; -} diff --git a/Source/Kernel/Makefile b/Source/Kernel/Makefile index 6a44ecf..cb51309 100644 --- a/Source/Kernel/Makefile +++ b/Source/Kernel/Makefile @@ -3,7 +3,7 @@ CC = gcc CXX = g++ LD = ld -LDFLAGS = -T Link.ld -Map Map.txt --oformat=elf32-i386 +LDFLAGS = -T Kernel.ld -Map Kernel.map --oformat=elf32-i386 CFLAGS = -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -fno-stack-protector -Wall -Wextra -Werror -I . CXXFLAGS = -nostartfiles -nostdlib -fno-exceptions -fno-rtti -I . -I ../Library/Common -I ../Library/Interface -Wall -Werror -Wno-write-strings -funsigned-char -D THIS_IS_MELON_KERNEL -D RANDOM_SEED=1`date +%N`LL -O2 ASM = nasm diff --git a/Source/Kernel/Shell/KernelShell-fs.class.cpp b/Source/Kernel/Shell/KernelShell-fs.class.cpp index c389d45..ee72e25 100644 --- a/Source/Kernel/Shell/KernelShell-fs.class.cpp +++ b/Source/Kernel/Shell/KernelShell-fs.class.cpp @@ -21,12 +21,10 @@ void KernelShell::ls(Vector& args) { FSNode* n = d->getChild(i); if (n->type() == NT_FILE) { FileNode* f = (FileNode*)n; - *m_vt << " - FILE\t" << f->getName(); - m_vt->setCursorCol(30); + *m_vt << " - FILE\t" << f->getName() << MVT::setcsrcol(30); *m_vt << (s32int)f->getLength() << " bytes.\n"; } else if (n->type() == NT_DIRECTORY) { - *m_vt << " - DIR\t" << n->getName() << "/"; - m_vt->setCursorCol(30); + *m_vt << " - DIR\t" << n->getName() << "/" << MVT::setcsrcol(30); *m_vt << (s32int)n->getLength() << " items.\n"; } } diff --git a/Source/Kernel/Shell/KernelShell-sys.class.cpp b/Source/Kernel/Shell/KernelShell-sys.class.cpp index b1ab274..a5d6f76 100644 --- a/Source/Kernel/Shell/KernelShell-sys.class.cpp +++ b/Source/Kernel/Shell/KernelShell-sys.class.cpp @@ -11,8 +11,7 @@ void KernelShell::devices(Vector& args) { Vector dev = Dev::findDevices(); *m_vt << " - Detected devices :\n"; for (u32int i = 0; i < dev.size(); i++) { - *m_vt << " - " << dev[i]->getClass(); - m_vt->setCursorCol(25); + *m_vt << " - " << dev[i]->getClass() << MVT::setcsrcol(25); *m_vt << dev[i]->getName() << "\n"; } } @@ -47,8 +46,7 @@ void KernelShell::part(Vector& args) { if (Part::devices[i] == 0) { *m_vt << "[none]\n"; } else { - *m_vt << Part::devices[i]->getClass(); - m_vt->setCursorCol(33); + *m_vt << Part::devices[i]->getClass() << MVT::setcsrcol(33); *m_vt << Part::devices[i]->getName() << "\n"; for (u32int j = 0; j < Part::partitions.size(); j++) { if (Part::partitions[j]->getDevice() == Part::devices[i]) { diff --git a/Source/Kernel/Shell/KernelShell.class.cpp b/Source/Kernel/Shell/KernelShell.class.cpp index 9fec9c7..399211d 100644 --- a/Source/Kernel/Shell/KernelShell.class.cpp +++ b/Source/Kernel/Shell/KernelShell.class.cpp @@ -70,11 +70,9 @@ u32int KernelShell::run() { }; while (1) { - m_vt->setColor(KVT_LIGHTCOLOR); - *m_vt << VFS::path(m_cwd) << " # "; - m_vt->setColor(KVT_ENTRYCOLOR); + *m_vt << MVT::setfgcolor(KVT_LIGHTCOLOR) << VFS::path(m_cwd) << " # " << MVT::setfgcolor(KVT_ENTRYCOLOR); Vector tokens = m_vt->readLine().split(" "); - m_vt->setColor(KVT_FGCOLOR); + *m_vt << MVT::setfgcolor(KVT_FGCOLOR); if (tokens[0] == "help") { *m_vt << " - Command list for integrated kernel shell:\n"; *m_vt << " - help shows this help screen\n"; diff --git a/Source/Kernel/VTManager/FileVT.class.cpp b/Source/Kernel/VTManager/FileVT.class.cpp index 24a1b63..d0f564f 100644 --- a/Source/Kernel/VTManager/FileVT.class.cpp +++ b/Source/Kernel/VTManager/FileVT.class.cpp @@ -11,10 +11,12 @@ FileVT::FileVT(String filename, u8int mode, FSNode *start, u8int encoding) : } } -void FileVT::setCursorCol(u32int col) { +void FileVT::handleEscape(mvt_esc_cmd_t cmd) { if (!m_isWriting) return; - while (m_buffer.size() < col) { - put(" "); + if (cmd.cmd == MVTCMD_SETCSRCOL) { + while ((int)m_buffer.size() < cmd.a) { + put(" "); + } } } diff --git a/Source/Kernel/VTManager/FileVT.class.h b/Source/Kernel/VTManager/FileVT.class.h index a246ce0..407297c 100644 --- a/Source/Kernel/VTManager/FileVT.class.h +++ b/Source/Kernel/VTManager/FileVT.class.h @@ -15,7 +15,7 @@ class FileVT : public VirtualTerminal { FileVT(String filename, u8int mode = FM_READ, FSNode* start = 0, u8int encoding = UE_UTF8); bool isBoxed() { return false; } - void setCursorCol(u32int col); + void handleEscape(mvt_esc_cmd_t cmd); void put(WChar c, bool updatecsr = true); keypress_t getKeypress(bool show = true, bool block = true); diff --git a/Source/Kernel/VTManager/PipeVT.class.cpp b/Source/Kernel/VTManager/PipeVT.class.cpp index f4a5ca9..e6384f5 100644 --- a/Source/Kernel/VTManager/PipeVT.class.cpp +++ b/Source/Kernel/VTManager/PipeVT.class.cpp @@ -5,9 +5,11 @@ PipeVT::PipeVT() { m_col = 0; } -void PipeVT::setCursorCol(u32int col) { - while (col > m_col) { - put(" "); +void PipeVT::handleEscape(mvt_esc_cmd_t cmd) { + if (cmd.cmd == MVTCMD_SETCSRCOL) { + while (cmd.a > (int)m_col) { + put(" "); + } } } diff --git a/Source/Kernel/VTManager/PipeVT.class.h b/Source/Kernel/VTManager/PipeVT.class.h index 3c9521d..e39589f 100644 --- a/Source/Kernel/VTManager/PipeVT.class.h +++ b/Source/Kernel/VTManager/PipeVT.class.h @@ -11,7 +11,7 @@ class PipeVT : public VirtualTerminal { PipeVT(); bool isBoxed() { return false; } - void setCursorCol(u32int col); + void handleEscape(mvt_esc_cmd_t cmd); void put(WChar c, bool updatecsr = true); }; diff --git a/Source/Kernel/VTManager/ScrollableVT.class.h b/Source/Kernel/VTManager/ScrollableVT.class.h index 6d29645..ce31225 100644 --- a/Source/Kernel/VTManager/ScrollableVT.class.h +++ b/Source/Kernel/VTManager/ScrollableVT.class.h @@ -9,14 +9,15 @@ class ScrollableVT : public SimpleVT { u32int m_keeprows; u32int m_linesup; + void updateCursor(); + void redraw(); + void scroll(); + public: ScrollableVT(u32int rows, u32int cols, u32int keepRows, u8int fgcolor = 7, u8int bgcolor = 0); virtual ~ScrollableVT(); virtual void putChar(u32int row, u32int col, WChar c); - void updateCursor(); - void redraw(); - void scroll(); void keyPress(keypress_t kp); }; diff --git a/Source/Kernel/VTManager/SimpleVT.class.cpp b/Source/Kernel/VTManager/SimpleVT.class.cpp index 28f9f98..a3e9600 100644 --- a/Source/Kernel/VTManager/SimpleVT.class.cpp +++ b/Source/Kernel/VTManager/SimpleVT.class.cpp @@ -10,7 +10,7 @@ SimpleVT::SimpleVT(u32int rows, u32int cols, u8int fgcolor, u8int bgcolor) : Vir m_cols = cols; m_mapped = false; m_hideCursor = false; - setColor(fgcolor, bgcolor); + m_color = ((bgcolor & 0x0F) << 4) | (fgcolor & 0x0F); clear(); m_csrcol = 0; @@ -22,14 +22,6 @@ SimpleVT::~SimpleVT() { delete [] m_buff; } -void SimpleVT::setColor(u8int fgcolor, u8int bgcolor) { - if (bgcolor == 0xFF) { - m_color = (m_color & 0xF0) | fgcolor; - } else { - m_color = (bgcolor << 4) | fgcolor; - } -} - void SimpleVT::putChar(u32int row, u32int col, WChar c) { if (row >= m_rows or col >= m_cols) return; vtchr* ch = &BUFCHR(row, col); @@ -92,23 +84,45 @@ void SimpleVT::updateCursor() { Disp::moveCursor(m_csrlin + m_maprow, m_csrcol + m_mapcol); } -void SimpleVT::moveCursor(u32int row, u32int col) { - m_csrlin = row; - m_csrcol = col; - updateCursor(); -} - -void SimpleVT::setCursorLine(u32int line) { - m_csrlin = line; - updateCursor(); -} - -void SimpleVT::setCursorCol(u32int col) { - m_csrcol = col; - updateCursor(); +//Command handling +void SimpleVT::handleEscape(mvt_esc_cmd_t cmd) { + switch (cmd.cmd) { + case MVTCMD_CLEAR: + clear(); + break; + case MVTCMD_SCROLL: + scroll(); + break; + case MVTCMD_SETFGCOLOR: + m_color = (m_color & 0xF0) | (cmd.a & 0x0F); + break; + case MVTCMD_SETBGCOLOR: + m_color = (m_color & 0x0F) | ((cmd.a & 0x0F) << 4); + break; + case MVTCMD_SETCOLOR: + m_color = ((cmd.b & 0x0F) << 4) | (cmd.a & 0x0F); + break; + case MVTCMD_MOVECSR: + m_csrlin = cmd.a; m_csrcol = cmd.b; + updateCursor(); + break; + case MVTCMD_SETCSRLIN: + m_csrlin = cmd.a; + updateCursor(); + break; + case MVTCMD_SETCSRCOL: + m_csrcol = cmd.a; + updateCursor(); + break; + case MVTCMD_HIDECSR: + m_hideCursor = true; + break; + case MVTCMD_SHOWCSR: + m_hideCursor = false; + break; + } } - // Display functionn void SimpleVT::put(WChar c, bool updatecsr) { if (c.value == '\b') { diff --git a/Source/Kernel/VTManager/SimpleVT.class.h b/Source/Kernel/VTManager/SimpleVT.class.h index 8639a82..645e4c2 100644 --- a/Source/Kernel/VTManager/SimpleVT.class.h +++ b/Source/Kernel/VTManager/SimpleVT.class.h @@ -14,30 +14,27 @@ class SimpleVT : public VirtualTerminal { u32int m_csrlin, m_csrcol; + virtual void updateCursor(); + virtual void clear(); + virtual void redraw(); + virtual void scroll(); //Scrolls 1 line + public: SimpleVT(u32int rows, u32int cols, u8int fgcolor = 7, u8int bgcolor = 0); virtual ~SimpleVT(); virtual void putChar(u32int row, u32int col, WChar c); - void clear(); - void setColor(u8int fgcolor, u8int bgcolor = 0xFF); + + virtual void handleEscape(mvt_esc_cmd_t cmd); + bool isBoxed() { return true; } u8int height() { return m_rows; } u8int width() { return m_cols; } u8int csrlin() { return m_csrlin; } u8int csrcol() { return m_csrcol; } - void hideCursor(bool hide = true) { m_hideCursor = hide; } - void map(s32int row = -1, s32int col = -1); void unmap(); - virtual void redraw(); - virtual void scroll(); //Scrolls 1 line - - virtual void updateCursor(); - void moveCursor(u32int row, u32int col); - void setCursorLine(u32int line); - void setCursorCol(u32int col); void put(WChar c, bool updatecsr = true); diff --git a/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp b/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp index 47941c6..f8cf138 100644 --- a/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp +++ b/Source/Kernel/VTManager/VirtualTerminal-sc.proto.cpp @@ -3,19 +3,13 @@ #include call_t VirtualTerminal::m_callTable[] = { - CALL1(VTIF_WRITEHEX, &VirtualTerminal::writeHexSC), - CALL2(VTIF_WRITEDEC, &VirtualTerminal::writeDecSC), CALL1(VTIF_WRITE, &VirtualTerminal::writeSC), CALL1(VTIF_PUT, &VirtualTerminal::putSC), CALL1(VTIF_READLINE, &VirtualTerminal::readLineSC), CALL1(VTIF_GETKEYPRESS, &VirtualTerminal::getKeypressSC), - CALL1(VTIF_SETCOLOR, &VirtualTerminal::setColorSC), - CALL1(VTIF_SETCSRLINE, &VirtualTerminal::setCursorLineSC), - CALL1(VTIF_SETCSRCOL, &VirtualTerminal::setCursorColSC), CALL0(VTIF_ISBOXED, &VirtualTerminal::isBoxedSC), CALL0(VTIF_GETHEIGHT, &VirtualTerminal::getHeightSC), CALL0(VTIF_GETWIDTH, &VirtualTerminal::getWidthSC), - CALL2(VTIF_LOCATE, &VirtualTerminal::locateSC), CALL0(0, 0) }; @@ -25,19 +19,9 @@ u32int VirtualTerminal::scall(u8int wat, u32int a, u32int b, u32int c, u32int d) return (u32int) - 1; } -u32int VirtualTerminal::writeHexSC(u32int number) { - writeHex(number); - return 0; -} - -u32int VirtualTerminal::writeDecSC(u32int n_hi, u32int n_lo) { - s64int n = ((u64int)n_hi << 32) | n_lo; - writeDec(n); - return 0; -} - u32int VirtualTerminal::writeSC(u32int wat) { String *s = (String*)wat; + //hexDump((u8int*)s->serialize(), s->size()); write(*s); return 0; } @@ -59,21 +43,6 @@ u32int VirtualTerminal::getKeypressSC(u32int flags) { return (u32int)ptr; } -u32int VirtualTerminal::setColorSC(u32int x) { - setColor((x >> 8) & 0xFF, x & 0xFF); - return 0; -} - -u32int VirtualTerminal::setCursorLineSC(u32int l) { - setCursorLine(l); - return 0; -} - -u32int VirtualTerminal::setCursorColSC(u32int c) { - setCursorCol(c); - return 0; -} - u32int VirtualTerminal::isBoxedSC() { return (isBoxed() ? 1 : 0); } @@ -85,14 +54,3 @@ u32int VirtualTerminal::getHeightSC() { u32int VirtualTerminal::getWidthSC() { return width(); } - -u32int VirtualTerminal::locateSC(u32int line, u32int col) { - if (line < 1000 and col < 1000) { - moveCursor(line, col); - } else if (line < 1000) { - setCursorLine(line); - } else if (col < 1000) { - setCursorCol(line); - } - return 0; -} diff --git a/Source/Kernel/VTManager/VirtualTerminal.proto.cpp b/Source/Kernel/VTManager/VirtualTerminal.proto.cpp index 34c10d0..39c21e3 100644 --- a/Source/Kernel/VTManager/VirtualTerminal.proto.cpp +++ b/Source/Kernel/VTManager/VirtualTerminal.proto.cpp @@ -3,8 +3,6 @@ #include #include -#include - VirtualTerminal::VirtualTerminal() : Ressource(VTIF_OBJTYPE, m_callTable), m_kbdMutex(false), m_kbdbuff() { m_kbdbuffStart = 0; @@ -16,7 +14,16 @@ VirtualTerminal::~VirtualTerminal() { void VirtualTerminal::write(const String& s, bool updatecsr) { for (u32int i = 0; i < s.size(); i++) { - put(s[i], false); + if (s[i] == WChar(MVT_ESC)) { + mvt_esc_cmd_t cmd; + cmd.cmd = s[i + 1]; + cmd.a = s[i + 2]; + cmd.b = s[i + 3]; + i += 3; + handleEscape(cmd); + } else { + put(s[i], false); + } } if (updatecsr) updateCursor(); } diff --git a/Source/Kernel/VTManager/VirtualTerminal.proto.h b/Source/Kernel/VTManager/VirtualTerminal.proto.h index ceb994c..1505d3b 100644 --- a/Source/Kernel/VTManager/VirtualTerminal.proto.h +++ b/Source/Kernel/VTManager/VirtualTerminal.proto.h @@ -7,6 +7,8 @@ #include #include +#include + #include struct vtchr { @@ -39,34 +41,34 @@ class VirtualTerminal : public Ressource { u32int locateSC(u32int, u32int); bool accessible() { return true; } + //Internal use + virtual void updateCursor() {} + public: static u32int scall(u8int, u32int, u32int, u32int, u32int); VirtualTerminal(); virtual ~VirtualTerminal(); - virtual void setColor(u8int fgcolor, u8int bgcolor = 0xFF) {} //For a pipe/file VT, this will do nothing. virtual bool isBoxed() = 0; virtual u8int height() { return 0; } virtual u8int width() { return 0; } - virtual void updateCursor() {} - virtual void moveCursor(u32int row, u32int col) {} //These are not implemented for pipe/file VTs - virtual void setCursorLine(u32int line) {} - virtual void setCursorCol(u32int col) {} //This one could be, and should be. It's used a lot for tabulating, etc. + virtual void handleEscape(mvt_esc_cmd_t cmd) = 0; //Display functions virtual void put(WChar c, bool updatecsr = true) = 0; void write(const String& s, bool updatecsr = true); + + //Display functions for kernel use void writeDec(s64int num, bool updatecsr = true); void writeHex(u32int i, bool updatecsr = true); - virtual void hexDump(u8int* ptr, u32int sz, bool addnl = true); //Always ignore parameter addnl - inline VirtualTerminal& operator<<(const String& s) { write(s); return *this; } inline VirtualTerminal& operator<<(s32int i) { writeDec(i); return *this; } inline VirtualTerminal& operator<<(s64int i) { writeDec(i); return *this; } inline VirtualTerminal& operator<<(u32int i) { writeHex(i); return *this; } + inline VirtualTerminal& operator<<(mvt_esc_cmd_t cmd) { handleEscape(cmd); return *this; } //Keyboard functions virtual void keyPress(keypress_t kp); //Called by Kbd:: when a key is pressed, overloaded by ScrollableVT diff --git a/Source/Library/App.ld b/Source/Library/App.ld new file mode 100644 index 0000000..793949a --- /dev/null +++ b/Source/Library/App.ld @@ -0,0 +1,33 @@ +ENTRY (start) +INPUT (libMelon.o) + +SECTIONS{ + . = 0x10000000; + + .text : { + *(.text) + } + + .rodata ALIGN (0x1000) :{ + *(.rodata) + } + + .data ALIGN (0x1000) : { + start_ctors = .; + *(.ctor*) + end_ctors = .; + start_dtors = .; + *(.dtor*) + end_dtors = .; + *(.data) + } + + .bss : { + sbss = .; + *(COMMON) + *(.bss) + ebss = .; + } + + end = .; _end = .; __end = .; +} diff --git a/Source/Library/Interface/VirtualTerminal.iface.h b/Source/Library/Interface/VirtualTerminal.iface.h index e0f59d5..9196771 100644 --- a/Source/Library/Interface/VirtualTerminal.iface.h +++ b/Source/Library/Interface/VirtualTerminal.iface.h @@ -8,21 +8,69 @@ #define VTIF_SGETPROUTVT 7 //Get process output virtual terminal (R) | no arguments #define VTIF_PUT 0x01 //Put one character to virtual terminal (v) | c:character -#define VTIF_WRITEHEX 0x02 //Write a number in hexadecimal (v) | i:number -#define VTIF_WRITEDEC 0x03 //Write a number in decimal (v) | j:number, J:number -#define VTIF_WRITE 0x04 //Write a string (v) | S:string +#define VTIF_WRITE 0x02 //Write a string (v) | S:string + +/* EVERYTHING NOW GOES THROUGH VTIF_WRITE +#define VTIF_WRITEHEX 0x03 //Write a number in hexadecimal (v) | i:number +#define VTIF_WRITEDEC 0x04 //Write a number in decimal (v) | j:number, J:number +*/ #define VTIF_READLINE 0x05 //Reads a line from virtual terminal (S) : b:show? #define VTIF_GETKEYPRESS 0x06 //Get a keypress from virtual terminal (*) : i:flags //Takes two flags : 1<<0 = show, 1<<1 = block - +/* EVERYTHING NOW GOES THROUGH VTIF_WRITE #define VTIF_SETCOLOR 0x10 //Set text color (v) | i:foreground_color, i:backgrond_color #define VTIF_SETCSRLINE 0x11 //Set cursor line (v) | i:line #define VTIF_SETCSRCOL 0x12 //Set cursor column (v) | i:column +#define VTIF_LOCATE 0x13 //Sets cursor position (v) | i:line, i:column +*/ #define VTIF_ISBOXED 0x13 //Is VT boxed ? (b) | no arguments #define VTIF_GETHEIGHT 0x1A //Get VT width (i) | no arguments #define VTIF_GETWIDTH 0x1B //Get VT height (i) | no arguments -#define VTIF_LOCATE 0x1C //Sets cursor position (v) | i:line, i:column + +// ***** MELON VT SPECIFIC ESCAPE COMMANDS ** +#define MVT_ESC "\032" + +struct mvt_esc_cmd_t { + int cmd; + int a, b; +}; + +#define MVTCMD0(name, command) \ + inline mvt_esc_cmd_t name() { \ + mvt_esc_cmd_t ret; ret.cmd = command; return ret; } + +#define MVTCMD1(name, command) \ + inline mvt_esc_cmd_t name(int a) { \ + mvt_esc_cmd_t ret; ret.cmd = command; ret.a = a; return ret; } + +#define MVTCMD2(name, command) \ + inline mvt_esc_cmd_t name(int a, int b) { \ + mvt_esc_cmd_t ret; ret.cmd = command; ret.a = a; ret.b = b; return ret; } + +#define MVTCMD_CLEAR 0x100 +#define MVTCMD_SCROLL 0x101 +#define MVTCMD_SETCOLOR 0x110 +#define MVTCMD_SETBGCOLOR 0x111 +#define MVTCMD_SETFGCOLOR 0x112 +#define MVTCMD_MOVECSR 0x120 +#define MVTCMD_SETCSRLIN 0x121 +#define MVTCMD_SETCSRCOL 0x122 +#define MVTCMD_HIDECSR 0x130 +#define MVTCMD_SHOWCSR 0x131 + +namespace MVT { + MVTCMD0(clear, MVTCMD_CLEAR); + MVTCMD0(scroll, MVTCMD_SCROLL); + MVTCMD2(setcolor, MVTCMD_SETCOLOR); + MVTCMD1(setbgcolor, MVTCMD_SETBGCOLOR); + MVTCMD1(setfgcolor, MVTCMD_SETFGCOLOR); + MVTCMD2(movecsr, MVTCMD_MOVECSR); + MVTCMD1(setcsrlin, MVTCMD_SETCSRLIN); + MVTCMD1(setcsrcol, MVTCMD_SETCSRCOL); + MVTCMD0(hidecsr, MVTCMD_HIDECSR); + MVTCMD0(showcsr, MVTCMD_SHOWCSR); +} #endif diff --git a/Source/Library/Link.ld b/Source/Library/Link.ld deleted file mode 100644 index 68591fd..0000000 --- a/Source/Library/Link.ld +++ /dev/null @@ -1,33 +0,0 @@ -ENTRY (start) -INPUT (Melon.o) - -SECTIONS{ - . = 0x10000000; - - .text : { - *(.text) - } - - .rodata ALIGN (0x1000) :{ - *(.rodata) - } - - .data ALIGN (0x1000) : { - start_ctors = .; - *(.ctor*) - end_ctors = .; - start_dtors = .; - *(.dtor*) - end_dtors = .; - *(.data) - } - - .bss : { - sbss = .; - *(COMMON) - *(.bss) - ebss = .; - } - - end = .; _end = .; __end = .; -} diff --git a/Source/Library/Makefile b/Source/Library/Makefile index c67daf7..6e3e269 100644 --- a/Source/Library/Makefile +++ b/Source/Library/Makefile @@ -6,10 +6,8 @@ CXXFLAGS = -nostartfiles -nostdlib -ffreestanding -fno-exceptions -fno-rtti -I C ASM = nasm ASMFLAGS = -f elf -LDFLAGS = -r LD = ld -Library = Melon.o Objects = Common/WChar.class.uo \ Common/CMem.ns.uo \ Common/Mutex.class.uo \ @@ -30,14 +28,14 @@ Objects = Common/WChar.class.uo \ Userland/Syscall/RessourceCaller.class.uo \ Userland/Start.uo -all: $(Library) +all: libMelon.o echo "* Done with library" rebuild: mrproper all -$(Library): $(Objects) - echo "* Linking melon library $(Library)..." - $(LD) $(LDFLAGS) $^ -o $@ +libMelon.o: $(Objects) + echo "* Linking static Melon library libMelon.o..." + $(LD) -r $^ -o $@ %.uo: %.cpp echo "* Compiling $<..." diff --git a/Source/Library/Melon.a b/Source/Library/Melon.a new file mode 100644 index 0000000..e6b00ab Binary files /dev/null and b/Source/Library/Melon.a differ diff --git a/Source/Library/Userland/Binding/VirtualTerminal.class.h b/Source/Library/Userland/Binding/VirtualTerminal.class.h index 2a38abd..3ef898b 100644 --- a/Source/Library/Userland/Binding/VirtualTerminal.class.h +++ b/Source/Library/Userland/Binding/VirtualTerminal.class.h @@ -25,15 +25,13 @@ class VirtualTerminal : public RessourceCaller, public OStream, public IStream { } VirtualTerminal(u32int id) : RessourceCaller(id, VTIF_OBJTYPE) { m_eof = false; } - /*void writeHex(u32int number) { - doCall(VTIF_WRITEHEX, number); - } - void writeDec(s64int number) { - doCall(VTIF_WRITEDEC, (number >> 32), number); - }*/ + //******** SYSCALLS ******** void write(const String &s) { doCall(VTIF_WRITE, (u32int)&s); } + void put(WChar c) { + doCall(VTIF_PUT, c); + } String read() { if (m_eof) return ""; String ret = String::unserialize(doCall(VTIF_READLINE, 1)); @@ -44,23 +42,15 @@ class VirtualTerminal : public RessourceCaller, public OStream, public IStream { } return ret += "\n"; } - keypress_t getKeypress(bool show = true, bool block = true) { - keypress_t* ptr = (keypress_t*)doCall(VTIF_GETKEYPRESS, (show ? 1 : 0) | (block ? 2 : 0)); - return *ptr; - } String readLine(bool show = true) { flush(); return String::unserialize(doCall(VTIF_READLINE, (show ? 1 : 0))); } - void setColor(u8int fg, u8int bg = 0xFF) { - doCall(VTIF_SETCOLOR, (fg << 8) | bg); - } - void setCsrLine(u32int line) { - doCall(VTIF_SETCSRLINE, line); - } - void setCsrCol(u32int col) { - doCall(VTIF_SETCSRCOL, col); + keypress_t getKeypress(bool show = true, bool block = true) { + keypress_t* ptr = (keypress_t*)doCall(VTIF_GETKEYPRESS, (show ? 1 : 0) | (block ? 2 : 0)); + return *ptr; } + //********* GET VT INFO SYSCALLS ******** bool isBoxed() { return doCall(VTIF_ISBOXED) != 0; } @@ -70,14 +60,20 @@ class VirtualTerminal : public RessourceCaller, public OStream, public IStream { u8int width() { return doCall(VTIF_GETWIDTH); } - void put(WChar c) { - doCall(VTIF_PUT, c); - } - void moveCursor(u8int line, u8int col) { - doCall(VTIF_LOCATE, line, col); - } - void put(u8int line, u8int col, WChar c) { - moveCursor(line, col); put(c); + //********** HANDLE COMMAND ******* + VirtualTerminal& operator << (const String& s) { OStream::operator<<(s); return *this; } + VirtualTerminal& operator << (s64int i) { OStream::operator<<(i); return *this; } + VirtualTerminal& operator << (s32int i) { OStream::operator<<(i); return *this; } + VirtualTerminal& operator << (u32int i) { OStream::operator<<(i); return *this; } + VirtualTerminal& operator << (ostream_modifiers_e m) { OStream::operator<<(m); return *this; } + VirtualTerminal& operator << (mvt_esc_cmd_t cmd) { + String s(" "); + s[0] = 0x1A; + s[1] = cmd.cmd; + s[2] = cmd.a; + s[3] = cmd.b; + OStream::put(s); + return *this; } }; -- cgit v1.2.3