diff --git a/core.4623 b/core.4623 new file mode 100644 index 0000000..73cc6cc Binary files /dev/null and b/core.4623 differ diff --git a/kernel/fs/Device.cpp b/kernel/fs/Device.cpp index 71fb5a3..7599b46 100644 --- a/kernel/fs/Device.cpp +++ b/kernel/fs/Device.cpp @@ -47,27 +47,6 @@ Device::Device(string aname, dword amajor, dword aminor, char atype, word apermi } } -Device::Device(const Device & orig) -{ - minor = orig.minor; - permissions = orig.permissions; - type = orig.type; - switch (type) - { - case 'b': - case 'c': - default: - major = orig.major; - break; - case 'l': - link = new string(*orig.link); - break; - case 'd': - folder = new DeviceFolder(*(DeviceFolder *)orig.folder); - break; - } -} - Device::~Device() { switch (type) @@ -81,11 +60,34 @@ Device::~Device() } } +Device::Device(const Device & orig) +{ + name = orig.name; + permissions = orig.permissions; + type = orig.type; + switch (type) + { + case 'b': + case 'c': + default: + major = orig.major; + minor = orig.minor; + break; + case 'l': + link = new string(*orig.link); + break; + case 'd': + folder = new DeviceFolder(*(DeviceFolder *)orig.folder); + break; + } +} + Device & Device::operator=(const Device & orig) { if (&orig != this) { this->~Device(); + name = orig.name; permissions = orig.permissions; type = orig.type; switch (type) diff --git a/kernel/fs/DeviceFolder.cpp b/kernel/fs/DeviceFolder.cpp index 0cf11e2..08b4c13 100644 --- a/kernel/fs/DeviceFolder.cpp +++ b/kernel/fs/DeviceFolder.cpp @@ -53,7 +53,7 @@ int DeviceFolder::addDevice(Device dev) { int i = 0; LinkedList::iterator it = devices.begin(); - while ((*it).name < dev.name && it != devices.end()) + while (it != devices.end() && (*it).name < dev.name) { it++; i++; @@ -81,6 +81,7 @@ int DeviceFolder::mklink(string name, string link) int DeviceFolder::mknod(string name, dword major, dword minor, char type, word permissions) { Device dev(name, major, minor, type, permissions); + printf("Well, we got here successfully.\n"); return addDevice(dev); } diff --git a/kernel/fs/devfs.cpp b/kernel/fs/devfs.cpp index 94d2a15..13b1f24 100644 --- a/kernel/fs/devfs.cpp +++ b/kernel/fs/devfs.cpp @@ -3,7 +3,7 @@ // device filesystem for HOS // Author: Josh Holtrop // Date: 06/03/04 -// Modified: 06/08/04 +// Modified: 06/10/04 #include "devfs.h" #include "Device.h" @@ -14,14 +14,20 @@ DeviceFolder *dev; void devfs_init(string mountPoint) { + printf("I'm going to make a new DeviceFolder\n"); dev = new DeviceFolder(); + printf("I'm going to make a new Device\n"); + Device device("aDevice", 3, 1, 'b', 0644); + printf("I'm going to add hda1 to devfs\n"); + dev->mknod("hda1", 3, 1, 'b', 0632); /* dev->mkdir("test", 0644); dev->mkdir("test1", 0755); dev->mkdir("test1", 0644); - dev->mknod("hda1", 3, 1, 'b', 0632); dev->mknod("psmouse", 4, 1, 'c', 0677); dev->mklink("root", "hda1"); -*/ dev->ls(); +*/ + printf("I'm going to list the devices i know about:\n"); + dev->ls(); // vfs_mount("devfs", mountPoint, 0755, 0, 0); } diff --git a/kernel/kernel.cpp b/kernel/kernel.cpp index 2499d1a..f99d571 100644 --- a/kernel/kernel.cpp +++ b/kernel/kernel.cpp @@ -70,6 +70,8 @@ void k_init() vfs_init(); + printf("Done.\n"); + dword key = 0; for (;;) { @@ -86,7 +88,11 @@ void isr(dword num) { case 14: printf("Page fault, CR2 = 0x%x\n", read_cr2()); - halt(); + { + enable_ints(); + for (;;) ; //infinetly loop so that my KVM will still work :) 06/10/04 + } +// halt(); break; case 0x20: // IRQ0 - timer interrupt timer++; diff --git a/kernel/lst/LDout.doc b/kernel/lst/LDout.doc index e6f7a3f..4fcdec9 100644 --- a/kernel/lst/LDout.doc +++ b/kernel/lst/LDout.doc @@ -14,217 +14,217 @@ Linker script and memory map *(.text) .text 0x00000000c0106000 0x384 ks.o 0x00000000c0106000 _start - .text 0x00000000c0106384 0x517 kernel.o + .text 0x00000000c0106384 0x523 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 + 0x00000000c010665c _isr + *fill* 0x00000000c01068a7 0x1 00 + .text 0x00000000c01068a8 0x308 asmfuncs.o + 0x00000000c01068c6 _read_cr3 + 0x00000000c01068ca _strcmp + 0x00000000c01069d9 _puts + 0x00000000c0106960 _memsetd + 0x00000000c010698e _invlpg_ + 0x00000000c01069f8 _putDecu + 0x00000000c010691c _memcpyd + 0x00000000c0106905 _memcpy + 0x00000000c0106933 _memset + 0x00000000c01068c2 _read_cr2 + 0x00000000c0106996 _writeCursorPosition + 0x00000000c0106949 _memsetw + 0x00000000c0106ac0 _putDec + 0x00000000c01068f0 _strcpy + 0x00000000c0106976 _strlen + 0x00000000c01069bc _getCursorPosition + 0x00000000c01068a8 _write_cr0 + 0x00000000c01068b7 _write_cr3 + 0x00000000c01068b3 _read_cr0 + .text 0x00000000c0106bb0 0x69a keyboard.o + 0x00000000c01070e4 _kbdGetKey + 0x00000000c010717a _kbd_resetLEDs + 0x00000000c0106bb0 _isr_keyboard + 0x00000000c0107136 _kbdWaitKey + *fill* 0x00000000c010724a 0x2 00 + .text 0x00000000c010724c 0x665 kio.o + 0x00000000c01077fc _kio_drawConsoleChar + 0x00000000c01073b6 _putc + 0x00000000c0107602 _kio_console_cls + 0x00000000c01074f2 _putHex + 0x00000000c010788a _kio_writeCursorPosition + 0x00000000c010759e _kio_console_scroll + 0x00000000c010765c _kio_drawConsole + 0x00000000c0107880 _kio_getCursorPosition + 0x00000000c010724c _kio_init + 0x00000000c0107276 _printf + 0x00000000c0107566 _kio_putBCD + *fill* 0x00000000c01078b1 0x3 00 + .text 0x00000000c01078b4 0x350 mm.o + 0x00000000c01078b4 __Z7mm_initv + 0x00000000c0107a96 __Z8mm_pfreej + 0x00000000c0107a58 __Z9mm_pfreenjj + 0x00000000c0107bf0 __Z14mm_getTotalMemv + 0x00000000c0107ae0 __Z9mm_pallocv + 0x00000000c0107b88 __Z10mm_freememv + 0x00000000c0107bfa __Z15mm_getTotalMegsv + .text 0x00000000c0107c04 0x201 mouse.o + 0x00000000c0107c04 _mouse_init + 0x00000000c0107cae _isr_mouse + *fill* 0x00000000c0107e05 0x3 00 + .text 0x00000000c0107e08 0x8f stdfont.o + 0x00000000c0107e68 __Z17stdfont_getBitmapj + 0x00000000c0107e08 __Z20stdfont_getFontWidthj + 0x00000000c0107e38 __Z21stdfont_getFontHeightj + *fill* 0x00000000c0107e97 0x1 00 + .text 0x00000000c0107e98 0x669 video.o + 0x00000000c0108378 __Z13video_psetp32ij + 0x00000000c010818c __Z10video_vertiiij + 0x00000000c0108394 __Z15video_psetpnullij + 0x00000000c0108070 __Z11video_horiziiij + 0x00000000c01083aa __Z15video_getHeightv + 0x00000000c01083ca __Z20video_getPhysBasePtrv + 0x00000000c0107e98 __Z10video_initv + 0x00000000c0108244 __Z10video_rectiiiij + 0x00000000c01083de __Z10video_lineiiiij + 0x00000000c010839a __Z14video_getWidthv + 0x00000000c01083ba __Z21video_getBitsPerPixelv + 0x00000000c0108170 __Z11video_psetiij + 0x00000000c01082e4 __Z13video_psetp16ij + 0x00000000c010829c __Z11video_rectfiiiij + 0x00000000c0108118 __Z10video_psetiij + 0x00000000c010832a __Z13video_psetp24ij + 0x00000000c0107f8a __Z16video_renderChariiiijij + 0x00000000c01083d4 __Z10video_Modev + *fill* 0x00000000c0108501 0x3 00 + .text 0x00000000c0108504 0x7d5 vmm.o + 0x00000000c0108aaa __Z21vmm_addHeapEntryBlockv + 0x00000000c0108b6c __Z20vmm_getLastHeapEntryv + 0x00000000c01088cc __Z21vmm_coalesceHeapEntryP9HeapEntry + 0x00000000c0108c9e __Z22vmm_getHeapEntryByBasej + 0x00000000c010881e __Z16vmm_getFreeChunkj + 0x00000000c0108c54 __Z4freePv + 0x00000000c0108996 __Z12vmm_moreCorej + 0x00000000c01087aa __Z6mallocj + 0x00000000c0108c1c __Z19vmm_heapEntriesLeftv + 0x00000000c0108504 __Z8vmm_initv + 0x00000000c0108b9c __Z25vmm_getFirstHoleHeapEntryj + 0x00000000c01085ac __Z12vmm_heb_initP14HeapEntryBlock + 0x00000000c0108a8e __Z17vmm_nextHeapEntryv + 0x00000000c0108628 __Z8vmm_map1jj + 0x00000000c0108700 __Z8vmm_mapnjjj + 0x00000000c010877c __Z10vmm_unmapnjj + 0x00000000c010873a __Z10vmm_unmap1j + 0x00000000c0108be2 __Z27vmm_getFirstUnusedHeapEntryv + *fill* 0x00000000c0108cd9 0x3 00 + .text 0x00000000c0108cdc 0x269 rtc.o + 0x00000000c0108d06 __Z13rtc_readMonthv + 0x00000000c0108edc __Z11rtc_setHourh + 0x00000000c0108cdc __Z11rtc_readDayv + 0x00000000c0108e0c __Z12rtc_setMonthh + 0x00000000c0108ea8 __Z13rtc_setMinuteh + 0x00000000c0108dd8 __Z10rtc_setDayh + 0x00000000c0108dae __Z12rtc_readHourv + 0x00000000c0108d30 __Z12rtc_readYearv + 0x00000000c0108d5a __Z14rtc_readSecondv + 0x00000000c0108e40 __Z11rtc_setYearh + 0x00000000c0108d84 __Z14rtc_readMinutev + 0x00000000c0108e74 __Z13rtc_setSecondh + *fill* 0x00000000c0108f45 0x3 00 + .text 0x00000000c0108f48 0x121 pic.o + 0x00000000c0108f48 __Z9pic_remapii + *fill* 0x00000000c0109069 0x3 00 + .text 0x00000000c010906c 0x15d cstring.o + 0x00000000c0109094 __Z12string_splitPcc + 0x00000000c010906c __Z6strcatPcPKc + 0x00000000c01090f2 __Z14string_advancePc + 0x00000000c010914e __Z5ucasePc + 0x00000000c010910c __Z5rtrimPc + 0x00000000c010918c __Z5lcasePc + *fill* 0x00000000c01091c9 0x3 00 + .text 0x00000000c01091cc 0xed9 string.o + 0x00000000c01098da __ZN6stringC1ERKS_S1_ + 0x00000000c01096ae __ZN6stringmIEPKc + 0x00000000c010935c __ZN6stringC1EPKc + 0x00000000c0109c54 __ZN6stringC2EcRKS_ + 0x00000000c01099d4 __ZN6stringC1ERKS_PKc + 0x00000000c010926c __ZN6stringC2ERKS_ + 0x00000000c01093b0 __ZN6stringaSERKS_ + 0x00000000c0109308 __ZN6stringC2EPKc + 0x00000000c010a01a __ZNK6stringleEPKc + 0x00000000c0109fd6 __ZNK6stringleERKS_ + 0x00000000c01091cc __ZN6stringC2Ev + 0x00000000c0109550 __ZN6stringpLEPKc + 0x00000000c0109864 __ZN6stringC2ERKS_S1_ + 0x00000000c0109d42 __ZN6stringixEj + 0x00000000c0109b6c __ZN6stringC2ERKS_c + 0x00000000c0109498 __ZNK6string4dataEv + 0x00000000c0109be0 __ZN6stringC1ERKS_c + 0x00000000c0109cb4 __ZN6stringC1EcRKS_ + 0x00000000c0109f7e __ZNK6stringgtEPKc + 0x00000000c0109d14 __ZNK6stringixEj + 0x00000000c010924c __ZN6stringD1Ev + 0x00000000c0109eda __ZNK6stringgtERKS_ + 0x00000000c0109a58 __ZN6stringC2EPKcRKS_ + 0x00000000c010960c __ZN6stringmIERKS_ + 0x00000000c0109dd8 __ZNK6stringeqEPKc + 0x00000000c010922c __ZN6stringD2Ev + 0x00000000c0109e4a __ZNK6stringneERKS_ + 0x00000000c01094a2 __ZNK6string4sizeEv + 0x00000000c010a060 __ZNK6stringgeEPKc + 0x00000000c0109950 __ZN6stringC2ERKS_PKc + 0x00000000c0109ff8 __ZNK6stringgeERKS_ + 0x00000000c01097f4 __ZN6stringmIEc + 0x00000000c01092ba __ZN6stringC1ERKS_ + 0x00000000c0109e8e __ZNK6stringltERKS_ + 0x00000000c0109e6c __ZNK6stringneEPKc + 0x00000000c0109ae2 __ZN6stringC1EPKcRKS_ + 0x00000000c0109d70 __ZNK6stringeqERKS_ + 0x00000000c0109f26 __ZNK6stringltEPKc + 0x00000000c0109770 __ZN6stringpLEc + 0x00000000c01094ae __ZN6stringpLERKS_ + 0x00000000c0109420 __ZN6stringaSEPKc + 0x00000000c01091fc __ZN6stringC1Ev + *fill* 0x00000000c010a0a5 0x3 00 + .text 0x00000000c010a0a8 0xe5 cmos.o + 0x00000000c010a100 __Z11cmos_gethd0v + 0x00000000c010a0a8 __Z11cmos_getfd0v + 0x00000000c010a0d4 __Z11cmos_getfd1v + 0x00000000c010a12c __Z11cmos_gethd1v + *fill* 0x00000000c010a18d 0x3 00 + .text 0x00000000c010a190 0x58 hos_defines.o + 0x00000000c010a1bc __ZdlPv + 0x00000000c010a1a6 __Znaj + 0x00000000c010a190 __Znwj + 0x00000000c010a1d2 __ZdaPv + .text 0x00000000c010a1e8 0x3a vfs.o + 0x00000000c010a1e8 __Z8vfs_initv + *fill* 0x00000000c010a222 0x2 00 + .text 0x00000000c010a224 0x10b devfs.o + 0x00000000c010a224 __Z10devfs_init6string + *fill* 0x00000000c010a32f 0x1 00 + .text 0x00000000c010a330 0x607 Device.o + 0x00000000c010a590 __ZN6DeviceD2Ev + 0x00000000c010a5fc __ZN6DeviceD1Ev + 0x00000000c010a3ac __ZN6DeviceC2E6string + 0x00000000c010a818 __ZN6DeviceaSERKS_ + 0x00000000c010a668 __ZN6DeviceC2ERKS_ + 0x00000000c010a740 __ZN6DeviceC1ERKS_ + 0x00000000c010a44c __ZN6DeviceC2E6stringjjct + 0x00000000c010a36e __ZN6DeviceC1Ev + 0x00000000c010a330 __ZN6DeviceC2Ev + 0x00000000c010a3fc __ZN6DeviceC1E6string + 0x00000000c010a8fe __ZN6Device7setLinkE6string + 0x00000000c010a4ee __ZN6DeviceC1E6stringjjct + *fill* 0x00000000c010a937 0x1 00 + .text 0x00000000c010a938 0x54e DeviceFolder.o + 0x00000000c010acfc __ZN12DeviceFolder6mklinkE6stringS0_ + 0x00000000c010ae70 __ZN12DeviceFolder4sizeEv + 0x00000000c010ab1a __ZN12DeviceFolderC2Ev + 0x00000000c010ab30 __ZN12DeviceFolderC1Ev + 0x00000000c010adbc __ZN12DeviceFolder5mknodE6stringjjct + 0x00000000c010ab46 __ZN12DeviceFolder9addDeviceE6Device + 0x00000000c010a938 __ZN12DeviceFolder2lsEv + 0x00000000c010ac62 __ZN12DeviceFolder5mkdirE6stringt 0x00000000c010b000 . = ALIGN (0x1000) - *fill* 0x00000000c010ad60 0x80b2374000002a0 00 + *fill* 0x00000000c010ae86 0x80b23740000017a 00 .gnu.linkonce.t._ZN10LinkedListI6DeviceE5beginEv 0x00000000c010b000 0x27 @@ -313,24 +313,27 @@ Linker script and memory map .data 0x00000000c010b300 0x4 vmm.o 0x00000000c010b300 _firstHeapEntry 0x00000000c010c000 . = ALIGN (0x1000) - *fill* 0x00000000c010b304 0x812a37000000cfc 00 + *fill* 0x00000000c010b304 0x812a70800000cfc 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 + .rodata 0x00000000c010c000 0x141 kernel.o + *fill* 0x00000000c010c141 0x1f 00 + .rodata 0x00000000c010c160 0x141 keyboard.o + *fill* 0x00000000c010c2a1 0x3 00 + .rodata 0x00000000c010c2a4 0x1e4 kio.o + *fill* 0x00000000c010c488 0x18 00 + .rodata 0x00000000c010c4a0 0x1200 stdfont.o + .rodata 0x00000000c010d6a0 0x5 vfs.o + *fill* 0x00000000c010d6a5 0x1b 00 + .rodata 0x00000000c010d6c0 0xed devfs.o + *fill* 0x00000000c010d7ad 0x13 00 + .rodata 0x00000000c010d7c0 0x61 DeviceFolder.o 0x00000000c010e000 . = ALIGN (0x1000) - *fill* 0x00000000c010d6b2 0x812a3d40000094e 00 + *fill* 0x00000000c010d821 0x812a77c000007df 00 .bss 0x00000000c010e000 0x22000 0x00000000c010e000 bss = . @@ -372,7 +375,7 @@ Linker script and memory map .bss 0x00000000c012f264 0x4 devfs.o 0x00000000c012f264 _dev 0x00000000c0130000 . = ALIGN (0x1000) - *fill* 0x00000000c012f268 0x812a53800000d98 00 + *fill* 0x00000000c012f268 0x812a8e000000d98 00 0x00000000c0130000 end = . 0x00000000c0130000 _end = . 0x00000000c0130000 __end = .