Memory Configuration Name Origin Length Attributes *default* 0x0000000000000000 0xffffffffffffffff Linker script and memory map .text 0x00000000c0106000 0x4000 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 __Z9kbdGetKeyv 0x00000000c0107172 __Z13kbd_resetLEDsv 0x00000000c010712e __Z10kbdWaitKeyv 0x00000000c0106ba8 __Z12isr_keyboardv *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 __Z10mouse_initv 0x00000000c0107ca6 __Z9isr_mousev *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 0xc7d string.o 0x00000000c01099ac __ZN6stringC1ERKS_S1_ 0x00000000c0109780 __ZN6stringmIEPKc 0x00000000c0109354 __ZN6stringC1EPKc 0x00000000c0109d26 __ZN6stringC2EcRKS_ 0x00000000c0109aa6 __ZN6stringC1ERKS_PKc 0x00000000c0109264 __ZN6stringC2ERKS_ 0x00000000c01093a8 __ZN6stringaSERKS_ 0x00000000c0109300 __ZN6stringC2EPKc 0x00000000c01091c4 __ZN6stringC2Ev 0x00000000c0109622 __ZN6stringpLEPKc 0x00000000c0109936 __ZN6stringC2ERKS_S1_ 0x00000000c0109e14 __ZN6stringixEj 0x00000000c0109c3e __ZN6stringC2ERKS_c 0x00000000c0109490 __ZNK6string4dataEv 0x00000000c0109cb2 __ZN6stringC1ERKS_c 0x00000000c0109d86 __ZN6stringC1EcRKS_ 0x00000000c0109de6 __ZNK6stringixEj 0x00000000c0109244 __ZN6stringD1Ev 0x00000000c0109b2a __ZN6stringC2EPKcRKS_ 0x00000000c01096de __ZN6stringmIERKS_ 0x00000000c010950e __ZNK6stringeqEPKc 0x00000000c0109224 __ZN6stringD2Ev 0x00000000c010949a __ZNK6string4sizeEv 0x00000000c0109a22 __ZN6stringC2ERKS_PKc 0x00000000c01098c6 __ZN6stringmIEc 0x00000000c01092b2 __ZN6stringC1ERKS_ 0x00000000c0109bb4 __ZN6stringC1EPKcRKS_ 0x00000000c01094a6 __ZNK6stringeqERKS_ 0x00000000c0109842 __ZN6stringpLEc 0x00000000c0109580 __ZN6stringpLERKS_ 0x00000000c0109418 __ZN6stringaSEPKc 0x00000000c01091f4 __ZN6stringC1Ev *fill* 0x00000000c0109e41 0x3 00 .text 0x00000000c0109e44 0xe5 cmos.o 0x00000000c0109e9c __Z11cmos_gethd0v 0x00000000c0109e44 __Z11cmos_getfd0v 0x00000000c0109e70 __Z11cmos_getfd1v 0x00000000c0109ec8 __Z11cmos_gethd1v *fill* 0x00000000c0109f29 0x3 00 .text 0x00000000c0109f2c 0x58 hos_defines.o 0x00000000c0109f58 __ZdlPv 0x00000000c0109f42 __Znaj 0x00000000c0109f2c __Znwj 0x00000000c0109f6e __ZdaPv .text 0x00000000c0109f84 0x1a vfs.o 0x00000000c0109f84 __Z8vfs_initv *fill* 0x00000000c0109f9e 0x2 00 .text 0x00000000c0109fa0 0x2d devfs.o 0x00000000c0109fa0 __Z10devfs_initv *fill* 0x00000000c0109fcd 0x3 00 0x00000000c010a000 . = ALIGN (0x1000) *fill* 0x00000000c0109fd0 0x80b237400000030 00 .gnu.linkonce.t._ZN12DeviceFolderC1Ev 0x00000000c010a000 0x28 .gnu.linkonce.t._ZN12DeviceFolderC1Ev 0x00000000c010a000 0x28 devfs.o 0x00000000c010a000 __ZN12DeviceFolderC1Ev .gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev 0x00000000c010a028 0x43 .gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev 0x00000000c010a028 0x43 devfs.o 0x00000000c010a028 __ZN10LinkedListI6DeviceEC1Ev .gnu.linkonce.t._ZN10LinkedListI12DeviceFolderEC1Ev 0x00000000c010a06c 0x43 .gnu.linkonce.t._ZN10LinkedListI12DeviceFolderEC1Ev 0x00000000c010a06c 0x43 devfs.o 0x00000000c010a06c __ZN10LinkedListI12DeviceFolderEC1Ev .gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev 0x00000000c010a0b0 0x2a .gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev 0x00000000c010a0b0 0x2a devfs.o 0x00000000c010a0b0 __ZN10LinkedListI6DeviceE10LinkedNodeC1Ev .gnu.linkonce.t._ZN10LinkedListI12DeviceFolderE10LinkedNodeC1Ev 0x00000000c010a0da 0x2a .gnu.linkonce.t._ZN10LinkedListI12DeviceFolderE10LinkedNodeC1Ev 0x00000000c010a0da 0x2a devfs.o 0x00000000c010a0da __ZN10LinkedListI12DeviceFolderE10LinkedNodeC1Ev .gnu.linkonce.t._ZN6DeviceC1Ev 0x00000000c010a104 0x1a .gnu.linkonce.t._ZN6DeviceC1Ev 0x00000000c010a104 0x1a devfs.o 0x00000000c010a104 __ZN6DeviceC1Ev .data 0x00000000c010a120 0xee0 0x00000000c010a120 data = . 0x00000000c010a120 _data = . 0x00000000c010a120 __data = . *(.data) .data 0x00000000c010a120 0x18 stdfont.o 0x00000000c010a120 _fonts .data 0x00000000c010a138 0x10 video.o 0x00000000c010a138 _vid_ptr16 0x00000000c010a144 _video_psetp 0x00000000c010a140 _vid_ptr32 0x00000000c010a13c _vid_ptr24 .data 0x00000000c010a148 0x4 vmm.o 0x00000000c010a148 _firstHeapEntry 0x00000000c010b000 . = ALIGN (0x1000) *fill* 0x00000000c010a14c 0x8117cc000000eb4 00 .rodata 0x00000000c010b000 0x2000 0x00000000c010b000 rodata = . 0x00000000c010b000 _rodata = . 0x00000000c010b000 __rodata = . *(.rodata) .rodata 0x00000000c010b000 0x121 kernel.o *fill* 0x00000000c010b121 0x1f 00 .rodata 0x00000000c010b140 0x141 keyboard.o *fill* 0x00000000c010b281 0x3 00 .rodata 0x00000000c010b284 0x1e4 kio.o *fill* 0x00000000c010b468 0x18 00 .rodata 0x00000000c010b480 0x1200 stdfont.o .rodata 0x00000000c010c680 0x4 vfs.o 0x00000000c010d000 . = ALIGN (0x1000) *fill* 0x00000000c010c684 0x8117d140000097c 00 .bss 0x00000000c010d000 0x22000 0x00000000c010d000 bss = . 0x00000000c010d000 _bss = . 0x00000000c010d000 __bss = . *(.bss) .bss 0x00000000c010d000 0x4 kernel.o 0x00000000c010d000 _timer *fill* 0x00000000c010d004 0x4 00 *fill* 0x00000000c010d008 0x18 00 .bss 0x00000000c010d020 0x12b keyboard.o 0x00000000c010d040 _kbdBuffer 0x00000000c010d148 _kbdExt 0x00000000c010d021 _kbdAscii 0x00000000c010d149 _kbdExt2 0x00000000c010d14a _ackReason 0x00000000c010d140 _kbdBufferStart 0x00000000c010d022 _kbdScan 0x00000000c010d144 _kbdBufferLen 0x00000000c010d020 _kbdFlags *fill* 0x00000000c010d14b 0x15 00 .bss 0x00000000c010d160 0xfc0 kio.o 0x00000000c010d180 _console_memory 0x00000000c010d160 _graphical 0x00000000c010d164 _cursorPosition .bss 0x00000000c010e120 0x20020 mm.o 0x00000000c010e124 _mm_megabytes 0x00000000c010e140 _page_bitmap 0x00000000c010e120 _mm_totalmem .bss 0x00000000c012e140 0x1c mouse.o 0x00000000c012e144 _mouse_y 0x00000000c012e148 _mouse_bytesRead 0x00000000c012e140 _mouse_x 0x00000000c012e14c _mouse_inbuffer *fill* 0x00000000c012e15c 0x4 00 .bss 0x00000000c012e160 0x104 video.o 0x00000000c012e160 _video_mode 0x00000000c012e260 _videoMode .bss 0x00000000c012e264 0x4 devfs.o 0x00000000c012e264 _dev 0x00000000c012f000 . = ALIGN (0x1000) *fill* 0x00000000c012e268 0x8117e7800000d98 00 0x00000000c012f000 end = . 0x00000000c012f000 _end = . 0x00000000c012f000 __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