summaryrefslogtreecommitdiff
path: root/Source/Kernel/Map.txt
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-08-21 23:59:19 +0200
committerAlexis211 <alexis211@gmail.com>2009-08-21 23:59:19 +0200
commit74e721676ddd5d996ccf2e1d35da57320f658609 (patch)
treeb39d766c8e27a654c89c2435131e5eaf193125d8 /Source/Kernel/Map.txt
parentae803baa4e0ec584c7afd3f6d55f2e6b32010b46 (diff)
downloadMelon-74e721676ddd5d996ccf2e1d35da57320f658609.tar.gz
Melon-74e721676ddd5d996ccf2e1d35da57320f658609.zip
Kernel now loads in higher half, and uses a VT for output.
Diffstat (limited to 'Source/Kernel/Map.txt')
-rw-r--r--Source/Kernel/Map.txt257
1 files changed, 169 insertions, 88 deletions
diff --git a/Source/Kernel/Map.txt b/Source/Kernel/Map.txt
index 9049ad0..fec07b3 100644
--- a/Source/Kernel/Map.txt
+++ b/Source/Kernel/Map.txt
@@ -4,6 +4,18 @@ Discarded input sections
.group 0x00000000 0x0 Core/kmain.wtf.o
.group 0x00000000 0x0 Core/kmain.wtf.o
.group 0x00000000 0x0 Core/kmain.wtf.o
+ .group 0x00000000 0x0 Core/kmain.wtf.o
+ .group 0x00000000 0x0 Core/kmain.wtf.o
+ .group 0x00000000 0x0 Core/kmain.wtf.o
+ .group 0x00000000 0x0 Core/Sys.ns.o
+ .group 0x00000000 0x0 Core/Sys.ns.o
+ .group 0x00000000 0x0 Core/Sys.ns.o
+ .text._Znwj 0x00000000 0x0 Core/Sys.ns.o
+ .text._ZN15VirtualTerminallsEPc
+ 0x00000000 0x0 Core/Sys.ns.o
+ .text._ZN15VirtualTerminallsEi
+ 0x00000000 0x0 Core/Sys.ns.o
+ .group 0x00000000 0x0 VTManager/VirtualTerminal.class.o
.group 0x00000000 0x0 Devices/Display/VGATextOutput.class.o
Memory Configuration
@@ -15,78 +27,132 @@ Linker script and memory map
0x00100000 . = 0x100000
-.text 0x00100000 0x6cf
+.setup 0x00100000 0x1e
+ *(.setup)
+ .setup 0x00100000 0x1e Core/loader.wtf.o
+ 0xc010001e . = (. + 0xc0000000)
+
+.text 0xc0100020 0x1277 load address 0x00100020
*(.text)
- .text 0x00100000 0x106 Core/kmain.wtf.o
- 0x00100000 kmain
- *fill* 0x00100106 0xa 00
- .text 0x00100110 0x53 Core/loader.wtf.o
- 0x0010011c loader
- *fill* 0x00100163 0x1 00
- .text 0x00100164 0xf Core/cppsupport.wtf.o
- 0x00100164 __cxa_pure_virtual
- 0x00100169 __cxa_atexit
- *fill* 0x00100173 0x1 00
- .text 0x00100174 0x1ec Core/Sys.ns.o
- 0x001001ce Sys::bochs_output(char*, char*, unsigned int)
- 0x00100192 Sys::inb(unsigned short)
- 0x001001af Sys::inw(unsigned short)
- 0x001002c8 Sys::panic(char*, char*, unsigned int)
- 0x00100344 Sys::reboot()
- 0x00100174 Sys::outb(unsigned short, unsigned char)
- 0x00100306 Sys::panic_assert(char*, unsigned int, char*)
- .text 0x00100360 0xd5 Core/CMem.ns.o
- 0x00100396 CMem::memset(unsigned char*, unsigned char, int)
- 0x001003cd CMem::memsetw(unsigned short*, unsigned short, int)
- 0x00100408 CMem::strlen(char const*)
- 0x00100360 CMem::memcpy(unsigned char*, unsigned char const*, int)
- *fill* 0x00100435 0x3 00
- .text 0x00100438 0x167 DisplayManager/Disp.ns.o
- 0x0010044c Disp::putChar(unsigned short, unsigned short, char, char)
- 0x00100442 Disp::textRows()
- 0x0010052e Disp::clear()
- 0x00100438 Disp::textCols()
- 0x0010054c Disp::setDisplay(Display*)
- 0x001004cd Disp::moveCursor(unsigned short, unsigned short)
- *fill* 0x0010059f 0x1 00
- .text 0x001005a0 0x12f Devices/Display/VGATextOutput.class.o
- 0x001005a0 VGATextOutput::textCols()
- 0x00100698 VGATextOutput::clear()
- 0x00100612 VGATextOutput::moveCursor(unsigned short, unsigned short)
- 0x001005aa VGATextOutput::textRows()
- 0x001005b4 VGATextOutput::putChar(unsigned short, unsigned short, char, char)
+ .text 0xc0100020 0x1f0 Core/kmain.wtf.o
+ 0xc0100020 kmain
+ .text 0xc0100210 0x75 Core/loader.wtf.o
+ 0xc010021c loader
+ *fill* 0xc0100285 0x3 00
+ .text 0xc0100288 0xf Core/cppsupport.wtf.o
+ 0xc0100288 __cxa_pure_virtual
+ 0xc010028d __cxa_atexit
+ *fill* 0xc0100297 0x1 00
+ .text 0xc0100298 0x3b0 Core/Sys.ns.o
+ 0xc01002f2 Sys::bochs_output(char*, char*, unsigned int)
+ 0xc01002b6 Sys::inb(unsigned short)
+ 0xc01002d3 Sys::inw(unsigned short)
+ 0xc01003ec Sys::panic(char*, char*, unsigned int)
+ 0xc010062c Sys::reboot()
+ 0xc0100298 Sys::outb(unsigned short, unsigned char)
+ 0xc010050c Sys::panic_assert(char*, unsigned int, char*)
+ .text 0xc0100648 0xd5 Core/CMem.ns.o
+ 0xc010067e CMem::memset(unsigned char*, unsigned char, int)
+ 0xc01006b5 CMem::memsetw(unsigned short*, unsigned short, int)
+ 0xc01006f0 CMem::strlen(char const*)
+ 0xc0100648 CMem::memcpy(unsigned char*, unsigned char const*, int)
+ *fill* 0xc010071d 0x3 00
+ .text 0xc0100720 0x8e MemoryManager/Mem.ns.o
+ 0xc0100778 Mem::kalloc(unsigned int, bool)
+ 0xc0100720 Mem::kallocInternal(unsigned int, bool)
+ *fill* 0xc01007ae 0x2 00
+ .text 0xc01007b0 0x167 DisplayManager/Disp.ns.o
+ 0xc01007ba Disp::textRows()
+ 0xc01008a6 Disp::clear()
+ 0xc01007b0 Disp::textCols()
+ 0xc01008c4 Disp::setDisplay(Display*)
+ 0xc0100845 Disp::moveCursor(unsigned short, unsigned short)
+ 0xc01007c4 Disp::putChar(unsigned short, unsigned short, char, unsigned char)
+ *fill* 0xc0100917 0x1 00
+ .text 0xc0100918 0x84d VTManager/VirtualTerminal.class.o
+ 0xc0100b7e VirtualTerminal::map(int, int)
+ 0xc0100bec VirtualTerminal::unmap()
+ 0xc0100e26 VirtualTerminal::put(char, bool)
+ 0xc0100dee VirtualTerminal::setCursorLine(unsigned int)
+ 0xc0100a18 VirtualTerminal::setColor(unsigned char, unsigned char)
+ 0xc0100e0a VirtualTerminal::setCursorCol(unsigned int)
+ 0xc0100998 VirtualTerminal::VirtualTerminal(unsigned int, unsigned int, unsigned char, unsigned char)
+ 0xc0100d8c VirtualTerminal::updateCursor()
+ 0xc0100f74 VirtualTerminal::write(char*, bool)
+ 0xc0100fc8 VirtualTerminal::writeDec(int, bool)
+ 0xc0100bf8 VirtualTerminal::redraw()
+ 0xc0100a66 VirtualTerminal::putChar(unsigned int, unsigned int, char)
+ 0xc01010ca VirtualTerminal::writeHex(unsigned int, bool)
+ 0xc0100cd2 VirtualTerminal::scroll()
+ 0xc0100918 VirtualTerminal::VirtualTerminal(unsigned int, unsigned int, unsigned char, unsigned char)
+ 0xc0100b14 VirtualTerminal::clear()
+ 0xc0100dc8 VirtualTerminal::moveCursor(unsigned int, unsigned int)
+ *fill* 0xc0101165 0x3 00
+ .text 0xc0101168 0x12f Devices/Display/VGATextOutput.class.o
+ 0xc0101168 VGATextOutput::textCols()
+ 0xc0101260 VGATextOutput::clear()
+ 0xc01011da VGATextOutput::moveCursor(unsigned short, unsigned short)
+ 0xc010117c VGATextOutput::putChar(unsigned short, unsigned short, char, unsigned char)
+ 0xc0101172 VGATextOutput::textRows()
+
+.text._Znwj 0xc0101297 0x1b load address 0x00101297
+ .text._Znwj 0xc0101297 0x1b Core/kmain.wtf.o
+ 0xc0101297 operator new(unsigned int)
+
+.text._ZN15VirtualTerminallsEPc
+ 0xc01012b2 0x25 load address 0x001012b2
+ .text._ZN15VirtualTerminallsEPc
+ 0xc01012b2 0x25 Core/kmain.wtf.o
+ 0xc01012b2 VirtualTerminal::operator<<(char*)
+
+.text._ZN15VirtualTerminallsEi
+ 0xc01012d8 0x25 load address 0x001012d8
+ .text._ZN15VirtualTerminallsEi
+ 0xc01012d8 0x25 Core/kmain.wtf.o
+ 0xc01012d8 VirtualTerminal::operator<<(int)
.text._ZN7DisplayC2Ev
- 0x001006d0 0xe
+ 0xc01012fe 0xe load address 0x001012fe
.text._ZN7DisplayC2Ev
- 0x001006d0 0xe Core/kmain.wtf.o
- 0x001006d0 Display::Display()
+ 0xc01012fe 0xe Core/kmain.wtf.o
+ 0xc01012fe Display::Display()
.text._ZN13VGATextOutputC1Ev
- 0x001006de 0x1c
+ 0xc010130c 0x1c load address 0x0010130c
.text._ZN13VGATextOutputC1Ev
- 0x001006de 0x1c Core/kmain.wtf.o
- 0x001006de VGATextOutput::VGATextOutput()
+ 0xc010130c 0x1c Core/kmain.wtf.o
+ 0xc010130c VGATextOutput::VGATextOutput()
-.rodata 0x00101000 0x220
+.text._Znaj 0xc0101328 0x1b load address 0x00101328
+ .text._Znaj 0xc0101328 0x1b VTManager/VirtualTerminal.class.o
+ 0xc0101328 operator new[](unsigned int)
+
+.rodata 0xc0102000 0x293 load address 0x00102000
*(.rodata)
- .rodata 0x00101000 0x1fd Core/kmain.wtf.o
- .rodata 0x001011fd 0x23 Core/Sys.ns.o
+ .rodata 0xc0102000 0x23f Core/kmain.wtf.o
+ .rodata 0xc010223f 0x51 Core/Sys.ns.o
+ .rodata 0xc0102290 0x3 VTManager/VirtualTerminal.class.o
.rodata._ZTV7Display
- 0x00101220 0x1c
+ 0xc0102298 0x1c load address 0x00102298
.rodata._ZTV7Display
- 0x00101220 0x1c Core/kmain.wtf.o
- 0x00101220 vtable for Display
+ 0xc0102298 0x1c Core/kmain.wtf.o
+ 0xc0102298 vtable for Display
.rodata._ZTV13VGATextOutput
- 0x00101240 0x1c
+ 0xc01022b8 0x1c load address 0x001022b8
.rodata._ZTV13VGATextOutput
- 0x00101240 0x1c Devices/Display/VGATextOutput.class.o
- 0x00101240 vtable for VGATextOutput
+ 0xc01022b8 0x1c Devices/Display/VGATextOutput.class.o
+ 0xc01022b8 vtable for VGATextOutput
-.rel.dyn 0x0010125c 0x0
+.rel.dyn 0xc01022d4 0x0 load address 0x001022d4
.rel.text 0x00000000 0x0 Core/kmain.wtf.o
+ .rel.text._Znwj
+ 0x00000000 0x0 Core/kmain.wtf.o
+ .rel.text._ZN15VirtualTerminallsEPc
+ 0x00000000 0x0 Core/kmain.wtf.o
+ .rel.text._ZN15VirtualTerminallsEi
+ 0x00000000 0x0 Core/kmain.wtf.o
.rel.text._ZN7DisplayC2Ev
0x00000000 0x0 Core/kmain.wtf.o
.rel.text._ZN13VGATextOutputC1Ev
@@ -94,58 +160,69 @@ Linker script and memory map
.rel.rodata._ZTV7Display
0x00000000 0x0 Core/kmain.wtf.o
-.data 0x00102000 0x24
- 0x00102000 start_ctors = .
+.data 0xc0103000 0x24 load address 0x00103000
+ 0xc0103000 start_ctors = .
*(.ctor*)
- 0x00102000 end_ctors = .
- 0x00102000 start_dtors = .
+ 0xc0103000 end_ctors = .
+ 0xc0103000 start_dtors = .
*(.dtor*)
- 0x00102000 end_dtors = .
+ 0xc0103000 end_dtors = .
*(.data)
- .data 0x00102000 0x24 Core/kmain.wtf.o
- 0x00102020 melonLogoCols
- 0x00102000 melonLogo
- 0x0010201c melonLogoLines
- .data 0x00102024 0x0 Core/cppsupport.wtf.o
- .data 0x00102024 0x0 Core/Sys.ns.o
- .data 0x00102024 0x0 Core/CMem.ns.o
- .data 0x00102024 0x0 DisplayManager/Disp.ns.o
- .data 0x00102024 0x0 Devices/Display/VGATextOutput.class.o
-
-.bss 0x00102024 0x4010
- 0x00102024 sbss = .
+ .data 0xc0103000 0x24 Core/kmain.wtf.o
+ 0xc0103020 melonLogoCols
+ 0xc0103000 melonLogo
+ 0xc010301c melonLogoLines
+ .data 0xc0103024 0x0 Core/cppsupport.wtf.o
+ .data 0xc0103024 0x0 Core/Sys.ns.o
+ .data 0xc0103024 0x0 Core/CMem.ns.o
+ .data 0xc0103024 0x0 MemoryManager/Mem.ns.o
+ .data 0xc0103024 0x0 DisplayManager/Disp.ns.o
+ .data 0xc0103024 0x0 VTManager/VirtualTerminal.class.o
+ .data 0xc0103024 0x0 Devices/Display/VGATextOutput.class.o
+
+.bss 0xc0103024 0x401c load address 0x00103024
+ 0xc0103024 sbss = .
*(COMMON)
*(.bss)
- .bss 0x00102024 0x0 Core/kmain.wtf.o
- .bss 0x00102024 0x4000 Core/loader.wtf.o
- .bss 0x00106024 0x4 Core/cppsupport.wtf.o
- 0x00106024 __dso_handle
- .bss 0x00106028 0x0 Core/Sys.ns.o
- .bss 0x00106028 0x0 Core/CMem.ns.o
- .bss 0x00106028 0xc DisplayManager/Disp.ns.o
- 0x00106028 Disp::mode
- .bss 0x00106034 0x0 Devices/Display/VGATextOutput.class.o
- 0x00106034 ebss = .
- 0x00106034 end = .
- 0x00106034 _end = .
- 0x00106034 __end = .
+ .bss 0xc0103024 0x0 Core/kmain.wtf.o
+ .bss 0xc0103024 0x4000 Core/loader.wtf.o
+ .bss 0xc0107024 0x4 Core/cppsupport.wtf.o
+ 0xc0107024 __dso_handle
+ .bss 0xc0107028 0x0 Core/Sys.ns.o
+ .bss 0xc0107028 0x0 Core/CMem.ns.o
+ .bss 0xc0107028 0xc MemoryManager/Mem.ns.o
+ 0xc0107030 Mem::kheapFree
+ 0xc0107028 Mem::kheapUsable
+ 0xc010702c Mem::placementAddress
+ .bss 0xc0107034 0xc DisplayManager/Disp.ns.o
+ 0xc0107034 Disp::mode
+ .bss 0xc0107040 0x0 VTManager/VirtualTerminal.class.o
+ .bss 0xc0107040 0x0 Devices/Display/VGATextOutput.class.o
+ 0xc0107040 ebss = .
+ 0xc0107040 end = .
+ 0xc0107040 _end = .
+ 0xc0107040 __end = .
LOAD Core/kmain.wtf.o
LOAD Core/loader.wtf.o
LOAD Core/cppsupport.wtf.o
LOAD Core/Sys.ns.o
LOAD Core/CMem.ns.o
+LOAD MemoryManager/Mem.ns.o
LOAD DisplayManager/Disp.ns.o
+LOAD VTManager/VirtualTerminal.class.o
LOAD Devices/Display/VGATextOutput.class.o
OUTPUT(Melon.ke elf32-i386)
-.comment 0x00000000 0x8b
+.comment 0x00000000 0xaf
.comment 0x00000000 0x12 Core/kmain.wtf.o
.comment 0x00000012 0x1f Core/loader.wtf.o
.comment 0x00000031 0x12 Core/cppsupport.wtf.o
.comment 0x00000043 0x12 Core/Sys.ns.o
.comment 0x00000055 0x12 Core/CMem.ns.o
- .comment 0x00000067 0x12 DisplayManager/Disp.ns.o
- .comment 0x00000079 0x12 Devices/Display/VGATextOutput.class.o
+ .comment 0x00000067 0x12 MemoryManager/Mem.ns.o
+ .comment 0x00000079 0x12 DisplayManager/Disp.ns.o
+ .comment 0x0000008b 0x12 VTManager/VirtualTerminal.class.o
+ .comment 0x0000009d 0x12 Devices/Display/VGATextOutput.class.o
.note.GNU-stack
0x00000000 0x0
@@ -158,6 +235,10 @@ OUTPUT(Melon.ke elf32-i386)
.note.GNU-stack
0x00000000 0x0 Core/CMem.ns.o
.note.GNU-stack
+ 0x00000000 0x0 MemoryManager/Mem.ns.o
+ .note.GNU-stack
0x00000000 0x0 DisplayManager/Disp.ns.o
.note.GNU-stack
+ 0x00000000 0x0 VTManager/VirtualTerminal.class.o
+ .note.GNU-stack
0x00000000 0x0 Devices/Display/VGATextOutput.class.o