Memory Configuration Name Origin Length Attributes *default* 0x0000000000000000 0xffffffffffffffff Linker script and memory map .text 0x00000000c0106000 0x5000 0x00000000c0106000 code = . 0x00000000c0106000 _code = . 0x00000000c0106000 __code = . *(.text) .text 0x00000000c0106000 0x384 ks.o 0x00000000c0106000 _start .text 0x00000000c0106384 0x517 kernel.o 0x00000000c0106384 _k_init 0x00000000c010664c _isr *fill* 0x00000000c010689b 0x5 00 .text 0x00000000c01068a0 0x308 asmfuncs.o 0x00000000c01068be _read_cr3 0x00000000c01068c2 _strcmp 0x00000000c01069d1 _puts 0x00000000c0106958 _memsetd 0x00000000c0106986 _invlpg_ 0x00000000c01069f0 _putDecu 0x00000000c0106914 _memcpyd 0x00000000c01068fd _memcpy 0x00000000c010692b _memset 0x00000000c01068ba _read_cr2 0x00000000c010698e _writeCursorPosition 0x00000000c0106941 _memsetw 0x00000000c0106ab8 _putDec 0x00000000c01068e8 _strcpy 0x00000000c010696e _strlen 0x00000000c01069b4 _getCursorPosition 0x00000000c01068a0 _write_cr0 0x00000000c01068af _write_cr3 0x00000000c01068ab _read_cr0 .text 0x00000000c0106ba8 0x69a keyboard.o 0x00000000c01070dc _kbdGetKey 0x00000000c0107172 _kbd_resetLEDs 0x00000000c0106ba8 _isr_keyboard 0x00000000c010712e _kbdWaitKey *fill* 0x00000000c0107242 0x2 00 .text 0x00000000c0107244 0x665 kio.o 0x00000000c01077f4 _kio_drawConsoleChar 0x00000000c01073ae _putc 0x00000000c01075fa _kio_console_cls 0x00000000c01074ea _putHex 0x00000000c0107882 _kio_writeCursorPosition 0x00000000c0107596 _kio_console_scroll 0x00000000c0107654 _kio_drawConsole 0x00000000c0107878 _kio_getCursorPosition 0x00000000c0107244 _kio_init 0x00000000c010726e _printf 0x00000000c010755e _kio_putBCD *fill* 0x00000000c01078a9 0x3 00 .text 0x00000000c01078ac 0x350 mm.o 0x00000000c01078ac __Z7mm_initv 0x00000000c0107a8e __Z8mm_pfreej 0x00000000c0107a50 __Z9mm_pfreenjj 0x00000000c0107be8 __Z14mm_getTotalMemv 0x00000000c0107ad8 __Z9mm_pallocv 0x00000000c0107b80 __Z10mm_freememv 0x00000000c0107bf2 __Z15mm_getTotalMegsv .text 0x00000000c0107bfc 0x201 mouse.o 0x00000000c0107bfc _mouse_init 0x00000000c0107ca6 _isr_mouse *fill* 0x00000000c0107dfd 0x3 00 .text 0x00000000c0107e00 0x8f stdfont.o 0x00000000c0107e60 __Z17stdfont_getBitmapj 0x00000000c0107e00 __Z20stdfont_getFontWidthj 0x00000000c0107e30 __Z21stdfont_getFontHeightj *fill* 0x00000000c0107e8f 0x1 00 .text 0x00000000c0107e90 0x669 video.o 0x00000000c0108370 __Z13video_psetp32ij 0x00000000c0108184 __Z10video_vertiiij 0x00000000c010838c __Z15video_psetpnullij 0x00000000c0108068 __Z11video_horiziiij 0x00000000c01083a2 __Z15video_getHeightv 0x00000000c01083c2 __Z20video_getPhysBasePtrv 0x00000000c0107e90 __Z10video_initv 0x00000000c010823c __Z10video_rectiiiij 0x00000000c01083d6 __Z10video_lineiiiij 0x00000000c0108392 __Z14video_getWidthv 0x00000000c01083b2 __Z21video_getBitsPerPixelv 0x00000000c0108168 __Z11video_psetiij 0x00000000c01082dc __Z13video_psetp16ij 0x00000000c0108294 __Z11video_rectfiiiij 0x00000000c0108110 __Z10video_psetiij 0x00000000c0108322 __Z13video_psetp24ij 0x00000000c0107f82 __Z16video_renderChariiiijij 0x00000000c01083cc __Z10video_Modev *fill* 0x00000000c01084f9 0x3 00 .text 0x00000000c01084fc 0x7d5 vmm.o 0x00000000c0108aa2 __Z21vmm_addHeapEntryBlockv 0x00000000c0108b64 __Z20vmm_getLastHeapEntryv 0x00000000c01088c4 __Z21vmm_coalesceHeapEntryP9HeapEntry 0x00000000c0108c96 __Z22vmm_getHeapEntryByBasej 0x00000000c0108816 __Z16vmm_getFreeChunkj 0x00000000c0108c4c __Z4freePv 0x00000000c010898e __Z12vmm_moreCorej 0x00000000c01087a2 __Z6mallocj 0x00000000c0108c14 __Z19vmm_heapEntriesLeftv 0x00000000c01084fc __Z8vmm_initv 0x00000000c0108b94 __Z25vmm_getFirstHoleHeapEntryj 0x00000000c01085a4 __Z12vmm_heb_initP14HeapEntryBlock 0x00000000c0108a86 __Z17vmm_nextHeapEntryv 0x00000000c0108620 __Z8vmm_map1jj 0x00000000c01086f8 __Z8vmm_mapnjjj 0x00000000c0108774 __Z10vmm_unmapnjj 0x00000000c0108732 __Z10vmm_unmap1j 0x00000000c0108bda __Z27vmm_getFirstUnusedHeapEntryv *fill* 0x00000000c0108cd1 0x3 00 .text 0x00000000c0108cd4 0x269 rtc.o 0x00000000c0108cfe __Z13rtc_readMonthv 0x00000000c0108ed4 __Z11rtc_setHourh 0x00000000c0108cd4 __Z11rtc_readDayv 0x00000000c0108e04 __Z12rtc_setMonthh 0x00000000c0108ea0 __Z13rtc_setMinuteh 0x00000000c0108dd0 __Z10rtc_setDayh 0x00000000c0108da6 __Z12rtc_readHourv 0x00000000c0108d28 __Z12rtc_readYearv 0x00000000c0108d52 __Z14rtc_readSecondv 0x00000000c0108e38 __Z11rtc_setYearh 0x00000000c0108d7c __Z14rtc_readMinutev 0x00000000c0108e6c __Z13rtc_setSecondh *fill* 0x00000000c0108f3d 0x3 00 .text 0x00000000c0108f40 0x121 pic.o 0x00000000c0108f40 __Z9pic_remapii *fill* 0x00000000c0109061 0x3 00 .text 0x00000000c0109064 0x15d cstring.o 0x00000000c010908c __Z12string_splitPcc 0x00000000c0109064 __Z6strcatPcPKc 0x00000000c01090ea __Z14string_advancePc 0x00000000c0109146 __Z5ucasePc 0x00000000c0109104 __Z5rtrimPc 0x00000000c0109184 __Z5lcasePc *fill* 0x00000000c01091c1 0x3 00 .text 0x00000000c01091c4 0xed9 string.o 0x00000000c01098d2 __ZN6stringC1ERKS_S1_ 0x00000000c01096a6 __ZN6stringmIEPKc 0x00000000c0109354 __ZN6stringC1EPKc 0x00000000c0109c4c __ZN6stringC2EcRKS_ 0x00000000c01099cc __ZN6stringC1ERKS_PKc 0x00000000c0109264 __ZN6stringC2ERKS_ 0x00000000c01093a8 __ZN6stringaSERKS_ 0x00000000c0109300 __ZN6stringC2EPKc 0x00000000c010a012 __ZNK6stringleEPKc 0x00000000c0109fce __ZNK6stringleERKS_ 0x00000000c01091c4 __ZN6stringC2Ev 0x00000000c0109548 __ZN6stringpLEPKc 0x00000000c010985c __ZN6stringC2ERKS_S1_ 0x00000000c0109d3a __ZN6stringixEj 0x00000000c0109b64 __ZN6stringC2ERKS_c 0x00000000c0109490 __ZNK6string4dataEv 0x00000000c0109bd8 __ZN6stringC1ERKS_c 0x00000000c0109cac __ZN6stringC1EcRKS_ 0x00000000c0109f76 __ZNK6stringgtEPKc 0x00000000c0109d0c __ZNK6stringixEj 0x00000000c0109244 __ZN6stringD1Ev 0x00000000c0109ed2 __ZNK6stringgtERKS_ 0x00000000c0109a50 __ZN6stringC2EPKcRKS_ 0x00000000c0109604 __ZN6stringmIERKS_ 0x00000000c0109dd0 __ZNK6stringeqEPKc 0x00000000c0109224 __ZN6stringD2Ev 0x00000000c0109e42 __ZNK6stringneERKS_ 0x00000000c010949a __ZNK6string4sizeEv 0x00000000c010a058 __ZNK6stringgeEPKc 0x00000000c0109948 __ZN6stringC2ERKS_PKc 0x00000000c0109ff0 __ZNK6stringgeERKS_ 0x00000000c01097ec __ZN6stringmIEc 0x00000000c01092b2 __ZN6stringC1ERKS_ 0x00000000c0109e86 __ZNK6stringltERKS_ 0x00000000c0109e64 __ZNK6stringneEPKc 0x00000000c0109ada __ZN6stringC1EPKcRKS_ 0x00000000c0109d68 __ZNK6stringeqERKS_ 0x00000000c0109f1e __ZNK6stringltEPKc 0x00000000c0109768 __ZN6stringpLEc 0x00000000c01094a6 __ZN6stringpLERKS_ 0x00000000c0109418 __ZN6stringaSEPKc 0x00000000c01091f4 __ZN6stringC1Ev *fill* 0x00000000c010a09d 0x3 00 .text 0x00000000c010a0a0 0xe5 cmos.o 0x00000000c010a0f8 __Z11cmos_gethd0v 0x00000000c010a0a0 __Z11cmos_getfd0v 0x00000000c010a0cc __Z11cmos_getfd1v 0x00000000c010a124 __Z11cmos_gethd1v *fill* 0x00000000c010a185 0x3 00 .text 0x00000000c010a188 0x58 hos_defines.o 0x00000000c010a1b4 __ZdlPv 0x00000000c010a19e __Znaj 0x00000000c010a188 __Znwj 0x00000000c010a1ca __ZdaPv .text 0x00000000c010a1e0 0x3a vfs.o 0x00000000c010a1e0 __Z8vfs_initv *fill* 0x00000000c010a21a 0x2 00 .text 0x00000000c010a21c 0x3e devfs.o 0x00000000c010a21c __Z10devfs_init6string *fill* 0x00000000c010a25a 0x2 00 .text 0x00000000c010a25c 0x5d3 Device.o 0x00000000c010a648 __ZN6DeviceD2Ev 0x00000000c010a6b4 __ZN6DeviceD1Ev 0x00000000c010a2d8 __ZN6DeviceC2E6string 0x00000000c010a720 __ZN6DeviceaSERKS_ 0x00000000c010a4bc __ZN6DeviceC2ERKS_ 0x00000000c010a582 __ZN6DeviceC1ERKS_ 0x00000000c010a378 __ZN6DeviceC2E6stringjjct 0x00000000c010a29a __ZN6DeviceC1Ev 0x00000000c010a25c __ZN6DeviceC2Ev 0x00000000c010a328 __ZN6DeviceC1E6string 0x00000000c010a7f6 __ZN6Device7setLinkE6string 0x00000000c010a41a __ZN6DeviceC1E6stringjjct *fill* 0x00000000c010a82f 0x1 00 .text 0x00000000c010a830 0x530 DeviceFolder.o 0x00000000c010abe6 __ZN12DeviceFolder6mklinkE6stringS0_ 0x00000000c010ad4a __ZN12DeviceFolder4sizeEv 0x00000000c010aa12 __ZN12DeviceFolderC2Ev 0x00000000c010aa28 __ZN12DeviceFolderC1Ev 0x00000000c010aca6 __ZN12DeviceFolder5mknodE6stringjjct 0x00000000c010aa3e __ZN12DeviceFolder9addDeviceE6Device 0x00000000c010a830 __ZN12DeviceFolder2lsEv 0x00000000c010ab4c __ZN12DeviceFolder5mkdirE6stringt 0x00000000c010b000 . = ALIGN (0x1000) *fill* 0x00000000c010ad60 0x80b2374000002a0 00 .gnu.linkonce.t._ZN10LinkedListI6DeviceE5beginEv 0x00000000c010b000 0x27 .gnu.linkonce.t._ZN10LinkedListI6DeviceE5beginEv 0x00000000c010b000 0x27 DeviceFolder.o 0x00000000c010b000 __ZN10LinkedListI6DeviceE5beginEv .gnu.linkonce.t._ZN10LinkedListI6DeviceE3endEv 0x00000000c010b028 0x28 .gnu.linkonce.t._ZN10LinkedListI6DeviceE3endEv 0x00000000c010b028 0x28 DeviceFolder.o 0x00000000c010b028 __ZN10LinkedListI6DeviceE3endEv .gnu.linkonce.t._ZNK10LinkedListI6DeviceE8iteratorneERKS2_ 0x00000000c010b050 0x17 .gnu.linkonce.t._ZNK10LinkedListI6DeviceE8iteratorneERKS2_ 0x00000000c010b050 0x17 DeviceFolder.o 0x00000000c010b050 __ZNK10LinkedListI6DeviceE8iteratorneERKS2_ .gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratordeEv 0x00000000c010b068 0xa .gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratordeEv 0x00000000c010b068 0xa DeviceFolder.o 0x00000000c010b068 __ZN10LinkedListI6DeviceE8iteratordeEv .gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorppEi 0x00000000c010b072 0x1a .gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorppEi 0x00000000c010b072 0x1a DeviceFolder.o 0x00000000c010b072 __ZN10LinkedListI6DeviceE8iteratorppEi .gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev 0x00000000c010b08c 0x43 .gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev 0x00000000c010b08c 0x43 DeviceFolder.o 0x00000000c010b08c __ZN10LinkedListI6DeviceEC1Ev .gnu.linkonce.t._ZN10LinkedListI6DeviceE6insertEiS0_ 0x00000000c010b0d0 0x101 .gnu.linkonce.t._ZN10LinkedListI6DeviceE6insertEiS0_ 0x00000000c010b0d0 0x101 DeviceFolder.o 0x00000000c010b0d0 __ZN10LinkedListI6DeviceE6insertEiS0_ .gnu.linkonce.t._ZN10LinkedListI6DeviceE4sizeEv 0x00000000c010b1d2 0xb .gnu.linkonce.t._ZN10LinkedListI6DeviceE4sizeEv 0x00000000c010b1d2 0xb DeviceFolder.o 0x00000000c010b1d2 __ZN10LinkedListI6DeviceE4sizeEv .gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE 0x00000000c010b1de 0xd .gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE 0x00000000c010b1de 0xd DeviceFolder.o 0x00000000c010b1de __ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE .gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev 0x00000000c010b1ec 0x2a .gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev 0x00000000c010b1ec 0x2a DeviceFolder.o 0x00000000c010b1ec __ZN10LinkedListI6DeviceE10LinkedNodeC1Ev .gnu.linkonce.t._ZN10LinkedListI6DeviceE9push_backES0_ 0x00000000c010b216 0x82 .gnu.linkonce.t._ZN10LinkedListI6DeviceE9push_backES0_ 0x00000000c010b216 0x82 DeviceFolder.o 0x00000000c010b216 __ZN10LinkedListI6DeviceE9push_backES0_ .gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_ 0x00000000c010b298 0x40 .gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_ 0x00000000c010b298 0x40 DeviceFolder.o 0x00000000c010b298 __ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_ .data 0x00000000c010b2d8 0xd28 0x00000000c010b2d8 data = . 0x00000000c010b2d8 _data = . 0x00000000c010b2d8 __data = . *(.data) .data 0x00000000c010b2d8 0x18 stdfont.o 0x00000000c010b2d8 _fonts .data 0x00000000c010b2f0 0x10 video.o 0x00000000c010b2f0 _vid_ptr16 0x00000000c010b2fc _video_psetp 0x00000000c010b2f8 _vid_ptr32 0x00000000c010b2f4 _vid_ptr24 .data 0x00000000c010b300 0x4 vmm.o 0x00000000c010b300 _firstHeapEntry 0x00000000c010c000 . = ALIGN (0x1000) *fill* 0x00000000c010b304 0x812a37000000cfc 00 .rodata 0x00000000c010c000 0x2000 0x00000000c010c000 rodata = . 0x00000000c010c000 _rodata = . 0x00000000c010c000 __rodata = . *(.rodata) .rodata 0x00000000c010c000 0x121 kernel.o *fill* 0x00000000c010c121 0x1f 00 .rodata 0x00000000c010c140 0x141 keyboard.o *fill* 0x00000000c010c281 0x3 00 .rodata 0x00000000c010c284 0x1e4 kio.o *fill* 0x00000000c010c468 0x18 00 .rodata 0x00000000c010c480 0x1200 stdfont.o .rodata 0x00000000c010d680 0x5 vfs.o .rodata 0x00000000c010d685 0x2d DeviceFolder.o 0x00000000c010e000 . = ALIGN (0x1000) *fill* 0x00000000c010d6b2 0x812a3d40000094e 00 .bss 0x00000000c010e000 0x22000 0x00000000c010e000 bss = . 0x00000000c010e000 _bss = . 0x00000000c010e000 __bss = . *(.bss) .bss 0x00000000c010e000 0x4 kernel.o 0x00000000c010e000 _timer *fill* 0x00000000c010e004 0x4 00 *fill* 0x00000000c010e008 0x18 00 .bss 0x00000000c010e020 0x12b keyboard.o 0x00000000c010e040 _kbdBuffer 0x00000000c010e148 _kbdExt 0x00000000c010e021 _kbdAscii 0x00000000c010e149 _kbdExt2 0x00000000c010e14a _ackReason 0x00000000c010e140 _kbdBufferStart 0x00000000c010e022 _kbdScan 0x00000000c010e144 _kbdBufferLen 0x00000000c010e020 _kbdFlags *fill* 0x00000000c010e14b 0x15 00 .bss 0x00000000c010e160 0xfc0 kio.o 0x00000000c010e180 _console_memory 0x00000000c010e160 _graphical 0x00000000c010e164 _cursorPosition .bss 0x00000000c010f120 0x20020 mm.o 0x00000000c010f124 _mm_megabytes 0x00000000c010f140 _page_bitmap 0x00000000c010f120 _mm_totalmem .bss 0x00000000c012f140 0x1c mouse.o 0x00000000c012f144 _mouse_y 0x00000000c012f148 _mouse_bytesRead 0x00000000c012f140 _mouse_x 0x00000000c012f14c _mouse_inbuffer *fill* 0x00000000c012f15c 0x4 00 .bss 0x00000000c012f160 0x104 video.o 0x00000000c012f160 _video_mode 0x00000000c012f260 _videoMode .bss 0x00000000c012f264 0x4 devfs.o 0x00000000c012f264 _dev 0x00000000c0130000 . = ALIGN (0x1000) *fill* 0x00000000c012f268 0x812a53800000d98 00 0x00000000c0130000 end = . 0x00000000c0130000 _end = . 0x00000000c0130000 __end = . LOAD ks.o LOAD kernel.o LOAD asmfuncs.o LOAD fdc.o LOAD keyboard.o LOAD kio.o LOAD mm.o LOAD mouse.o LOAD stdfont.o LOAD video.o LOAD vmm.o LOAD rtc.o LOAD pic.o LOAD io.o LOAD cstring.o LOAD string.o LOAD cmos.o LOAD hos_defines.o LOAD vfs.o LOAD devfs.o LOAD Device.o LOAD DeviceFolder.o OUTPUT(kernel.bin binary) .note.GNU-stack 0x0000000000000000 0x0 .comment 0x0000000000000000 0x3fc .comment 0x0000000000000000 0x33 kernel.o .comment 0x0000000000000033 0x33 fdc.o .comment 0x0000000000000066 0x33 keyboard.o .comment 0x0000000000000099 0x33 kio.o .comment 0x00000000000000cc 0x33 mm.o .comment 0x00000000000000ff 0x33 mouse.o .comment 0x0000000000000132 0x33 stdfont.o .comment 0x0000000000000165 0x33 video.o .comment 0x0000000000000198 0x33 vmm.o .comment 0x00000000000001cb 0x33 rtc.o .comment 0x00000000000001fe 0x33 pic.o .comment 0x0000000000000231 0x33 io.o .comment 0x0000000000000264 0x33 cstring.o .comment 0x0000000000000297 0x33 string.o .comment 0x00000000000002ca 0x33 cmos.o .comment 0x00000000000002fd 0x33 hos_defines.o .comment 0x0000000000000330 0x33 vfs.o .comment 0x0000000000000363 0x33 devfs.o .comment 0x0000000000000396 0x33 Device.o .comment 0x00000000000003c9 0x33 DeviceFolder.o