Import backup from 2004-06-16

This commit is contained in:
josh committed 2017-07-25 22:23:47 -04:00
1 parent c76725eac3
commit f3fe4ef3b8
16 files changed
+463 -761

No files matched your search

+5 -5
View File
@@ -1,6 +1,6 @@
#####################################################################
# Author: Josh Holtrop / Benjamen R. Meyer #
# Date: 02/15/04 Modified: 06/07/04 #
# Date: 02/15/04 Modified: 06/16/04 #
# Purpose: To build Josh Holtrop's OS (HOS) using GNU make #
# Note: This makefile is for use on Linux & other Unix-like systems #
#####################################################################
@@ -17,7 +17,7 @@ KERNEL_FORMAT=aout
NASM_BIN=nasm
NASM_FLAGS=-f $(KERNEL_FORMAT)
# C Compile Information:
# C++ Compile Information:
CPP=g++
CPP_FLAGS=-fleading-underscore -fno-builtin -nostdlib -nostdinc++ -nostartfiles -fno-rtti -fno-exceptions -nodefaultlibs -I. -Wall
@@ -30,7 +30,7 @@ LD_FLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ld
# Linking the kernel together #
###############################
all: Asm_Kernel Asm_Functions C_Kernel
$(LD) $(LD_FLAGS) -o kernel.bin -Map ./lst/LDout.doc ks.o kernel.o asmfuncs.o fdc.o keyboard.o kio.o mm.o mouse.o stdfont.o video.o vmm.o rtc.o pic.o io.o cstring.o string.o cmos.o hos_defines.o vfs.o devfs.o Device.o DeviceFolder.o
$(LD) $(LD_FLAGS) -o kernel.bin -Map ./lst/LDout.doc ks.o kernel.o asmfuncs.o fdc.o keyboard.o kio.o mm.o mouse.o stdfont.o video.o vmm.o rtc.o pic.o io.o cstring.o string.o cmos.o hos_defines.o vfs.o devfs.o Mount.o
##########################
# Assembly Kernel Loader #
@@ -66,11 +66,11 @@ C_Kernel:
$(CPP) $(CPP_FLAGS) -c hos_defines.cpp -o hos_defines.o
$(CPP) $(CPP_FLAGS) -c fs/vfs.cpp -o vfs.o
$(CPP) $(CPP_FLAGS) -c fs/devfs.cpp -o devfs.o
$(CPP) $(CPP_FLAGS) -c fs/Device.cpp -o Device.o
$(CPP) $(CPP_FLAGS) -c fs/DeviceFolder.cpp -o DeviceFolder.o
$(CPP) $(CPP_FLAGS) -c fs/Mount.cpp -o Mount.o
#################################################
# Clean up the source directory of any binaries #
#################################################
clean:
- rm *.s *.o *.bin *~ block/*~ char/*~ fs/*~ lang/*~ mm/*~ sys/*~ video/*~
-74
View File
@@ -1,74 +0,0 @@
#####################################################################
# Author: Benjamen R. Meyer #
# Date: 2004-2-15 #
# Purpose: To build Josh Holtrop's OS (HOS) using GNU make #
# Note: This makefile is for use on Linux & other Unix-like systems #
#####################################################################
##############
# Variables: #
##############
# Format of kernel object files:
# Do not change unless you know what you are doing
KERNEL_FORMAT=coff
# Assembler information:
NASM_BIN=nasm
NASM_FLAGS=-f $(KERNEL_FORMAT)
# C Compile Information:
CC=gcc
CC_FLAGS=-ffreestanding -fno-builtin -nostdlib -nodefaultlibs -I. -Wall
# Linker Information:
LD=ld
LD_FLAGS=-nodefaultlibs -nostdlib --no-demangle -T link.ms
###############################
# Linking the kernel together #
###############################
all: Asm_Kernel Asm_Functions C_Kernel
$(LD) $(LD_FLAGS) -o kernel.pe -Map ./lst/LDout.doc ks.o kernel.o asmfuncs.o fdc.o functions.o keyboard.o kio.o mm.o mouse.o stdfont.o video.o vmm.o rtc.o pic.o io.o string.o cmos.o
objcopy -O binary kernel.pe kernel.bin
- rm kernel.pe
##########################
# Assembly Kernel Loader #
##########################
Asm_Kernel: kernel.asm
$(NASM_BIN) $(NASM_FLAGS) -o ks.o -l ./lst/kernel.lst kernel.asm
#################################
# Assembly Functions for Kernel #
#################################
Asm_Functions: asmfuncs.asm
$(NASM_BIN) $(NASM_FLAGS) -o asmfuncs.o -l ./lst/asmfuncs.lst asmfuncs.asm
############
# C Kernel #
############
C_Kernel:
$(CC) $(CC_FLAGS) -c kernel.c -o kernel.o
$(CC) $(CC_FLAGS) -c kio.c -o kio.o
$(CC) $(CC_FLAGS) -c functions.c -o functions.o
$(CC) $(CC_FLAGS) -c sys/rtc.c -o rtc.o
$(CC) $(CC_FLAGS) -c sys/pic.c -o pic.o
$(CC) $(CC_FLAGS) -c sys/io.c -o io.o
$(CC) $(CC_FLAGS) -c sys/cmos.c -o cmos.o
$(CC) $(CC_FLAGS) -c string/string.c -o string.o
$(CC) $(CC_FLAGS) -c video/stdfont.c -o stdfont.o
$(CC) $(CC_FLAGS) -c video/video.c -o video.o
$(CC) $(CC_FLAGS) -c block/fdc.c -o fdc.o
$(CC) $(CC_FLAGS) -c char/keyboard.c -o keyboard.o
$(CC) $(CC_FLAGS) -c char/mouse.c -o mouse.o
$(CC) $(CC_FLAGS) -c mm/mm.c -o mm.o
$(CC) $(CC_FLAGS) -c mm/vmm.c -o vmm.o
#################################################
# Clean up the source directory of any binaries #
#################################################
clean:
- rm *.o ./lst/*.lst ./lst/*.doc *.bin
-128
View File
@@ -1,128 +0,0 @@
// Device.cpp
// Device object for use in devfs
// Author: Josh Holtrop
// Date: 06/03/04
// Modified: 06/09/04
#include "Device.h"
#include "DeviceFolder.h"
#include "hos_defines.h"
#include "lang/string.h"
Device::Device()
{
uid = gid = major = minor = permissions = type = 0;
}
Device::Device(string aname)
{
uid = gid = major = minor = permissions = type = 0;
name = aname;
}
//Types:
// h = hard link (. and .. only)
// l = link, call setLink()
// d = directory, automatically initializes a new DeviceFolder object
// b = block device
// c = char device
Device::Device(string aname, dword auid, dword agid, dword amajor, dword aminor, char atype, word apermissions)
{
name = aname;
uid = auid;
gid = agid;
permissions = apermissions;
type = atype;
switch (type)
{
case 'd':
folder = new DeviceFolder();
break;
case 'b':
case 'c':
major = amajor;
minor = aminor;
break;
case 'l':
case 'h':
default:
}
}
Device::~Device()
{
switch (type)
{
case 'l':
case 'h':
delete link;
break;
case 'd':
delete (DeviceFolder *)folder;
break;
}
}
Device::Device(const Device & orig)
{
name = orig.name;
uid = orig.uid;
gid = orig.gid;
permissions = orig.permissions;
type = orig.type;
switch (type)
{
case 'b':
case 'c':
default:
major = orig.major;
minor = orig.minor;
break;
case 'l':
case 'h':
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;
uid = orig.uid;
gid = orig.gid;
permissions = orig.permissions;
type = orig.type;
switch (type)
{
case 'b':
case 'c':
default:
major = orig.major;
minor = orig.minor;
break;
case 'l':
case 'h':
link = new string(*orig.link);
break;
case 'd':
folder = new DeviceFolder(*(DeviceFolder *)orig.folder);
break;
}
}
return *this;
}
void Device::setLink(string alink)
{
if (type == 'l' || type == 'h')
link = new string(alink);
}
-47
View File
@@ -1,47 +0,0 @@
// Device.h
// Device object for use in devfs
// Author: Josh Holtrop
// Date: 06/03/04
// Modified: 06/08/04
#ifndef __HOS_DEVICE__
#define __HOS_DEVICE__ __HOS_DEVICE__
#include "hos_defines.h"
#include "lang/string.h"
#include "lang/LinkedList.h"
#define DEVICE_FOLDER 0
#define DEVICE_BLOCK 1
#define DEVICE_CHAR 2
#define DEVICE_LINK 3
class Device
{
public:
string name;
union
{
dword major;
//can't be DeviceFolder * because not then Device & DeviceFolder are inter-dependent
void *folder;
string *link;
};
dword uid;
dword gid;
dword minor;
word permissions; //0644 or similar
char type; //'b', 'c', 'l', 'd'
Device();
Device(string aname);
Device(string aname, dword auid, dword agid, dword amajor, dword aminor, char atype, word apermissions);
Device(const Device & orig);
~Device();
Device & operator=(const Device & orig);
void setLink(string alink);
};
#endif
-94
View File
@@ -1,94 +0,0 @@
// DeviceFolder.cpp
// DeviceFolder object for use in devfs
// Author: Josh Holtrop
// Date: 06/03/04
// Modified: 06/09/04
#include "DeviceFolder.h"
#include "Device.h"
#include "lang/LinkedList.h"
#include "kio.h"
void DeviceFolder::ls()
{
LinkedList<Device>::iterator it = devices.begin();
while (it != devices.end())
{
printf("%c", (*it).type);
const char *bitmask = "rwxrwxrwx";
int i = 0;
for (dword mask = 0x100; mask; mask >>= 1)
{
if ((*it).permissions & mask)
printf("%c", bitmask[i]);
else
printf("-");
i++;
}
printf("\t%d\t%d\t", (*it).uid, (*it).gid);
switch ((*it).type)
{
case 'b':
case 'c':
default:
printf("%d, %d\t%s\n", (*it).major, (*it).minor, (*it).name.data());
break;
case 'd':
printf("\t%s/\n", (*it).name.data());
break;
case 'l':
printf("\t%s -> %s\n", (*it).name.data(), (*it).link->data());
break;
}
it++;
}
}
DeviceFolder::DeviceFolder(string location)
{
//initialize . and .. here
}
int DeviceFolder::addDevice(Device dev)
{
int i = 0;
LinkedList<Device>::iterator it = devices.begin();
while (it != devices.end() && (*it).name < dev.name)
{
it++;
i++;
}
if (it != devices.end())
if ((*it).name == dev.name)
return 1; //name conflict
devices.insert(i, dev);
return 0;
}
int DeviceFolder::mkdir(string name, dword uid, dword gid, word permissions)
{
Device dev(name, uid, gid, 0, 0, 'd', permissions);
return addDevice(dev);
}
int DeviceFolder::mklink(string name, dword uid, dword gid, string link)
{
Device dev(name, uid, gid, 0, 0, 'l', 0777);
dev.setLink(link);
return addDevice(dev);
}
int DeviceFolder::mknod(string name, dword uid, dword gid, dword major, dword minor, char type, word permissions)
{
Device dev(name, uid, gid, major, minor, type, permissions);
return addDevice(dev);
}
int DeviceFolder::size()
{
return devices.size();
}
-30
View File
@@ -1,30 +0,0 @@
// DeviceFolder.h
// DeviceFolder object for use in devfs
// Author: Josh Holtrop
// Date: 06/03/04
// Modified: 06/09/04
#ifndef __HOS_DEVICEFOLDER__
#define __HOS_DEVICEFOLDER__ __HOS_DEVICEFOLDER__
#include "lang/LinkedList.h"
#include "Device.h"
#include "kio.h"
class DeviceFolder
{
private:
LinkedList<Device> devices;
int addDevice(Device name);
public:
DeviceFolder(string location);
int size();
int mkdir(string name, dword uid, dword gid, word permissions);
int mklink(string name, dword uid, dword gid, string link);
int mknod(string name, dword uid, dword gid, dword major, dword minor, char type, word permissions);
void ls();
};
#endif
+28
View File
@@ -0,0 +1,28 @@
// Mount.cpp
// Author: Josh Holtrop
// Date: 06/16/04
// Modified: 06/16/04
#include "lang/string.h"
#include "Mount.h"
Mount::Mount()
{
}
Mount::Mount(string dev, string mount)
{
mountPoint = mount;
device = dev;
}
bool Mount::operator==(const Mount & second) const
{
/* Match *either* device or mountPoint to signal an invalid mount attempt */
return (device == second.device || mountPoint == second.mountPoint);
}
+28
View File
@@ -0,0 +1,28 @@
// Mount.h
// Author: Josh Holtrop
// Date: 06/16/04
// Modified: 06/16/04
#ifndef __HOS_MOUNT__
#define __HOS_MOUNT__ __HOS_MOUNT__
#include "hos_defines.h"
class Mount
{
public:
string mountPoint;
string device;
dword major;
dword minor;
Mount();
Mount(string dev, string mount);
bool operator==(const Mount & second) const;
};
#endif
+11 -18
View File
@@ -3,30 +3,23 @@
// device filesystem for HOS
// Author: Josh Holtrop
// Date: 06/03/04
// Modified: 06/10/04
// Modified: 06/16/04
#include "devfs.h"
#include "Device.h"
#include "DeviceFolder.h"
#include "kio.h"
DeviceFolder *dev;
#include "lang/string.h"
#include "vfs.h"
void devfs_init(string mountPoint)
{
printf("I'm going to make a new DeviceFolder\n");
dev = new DeviceFolder(mountPoint);
printf("I'm going to add hda1 to devfs\n");
dev->mknod("hda1", 0, 0, 3, 1, 'b', 0632);
dev->mkdir("test", 0, 501, 0644);
dev->mkdir("test1", 0, 0, 0755);
dev->mkdir("test1", 1, 1, 0644);
dev->mknod("psmouse", 2, 3, 4, 1, 'c', 0677);
dev->mklink("root", 5, 6, "hda1");
printf("I'm going to list the devices i know about:\n");
dev->ls();
// vfs_mount("devfs", mountPoint, 0755, 0, 0);
vfs_mount("devfs ", mountPoint);
vfs_mount("testdev ", "/mnt/win");
vfs_mount("/dev/hda6", "/scratch");
vfs_mount("/dev/rd0 ", "/");
vfs_mount("/dev/sda1", "/mnt/usb");
vfs_mount("sysfs ", "/sys");
vfs_mount("sysfs ", "/tmp");
vfs_mount("otherfs ", "/sys");
}
+1 -2
View File
@@ -8,8 +8,7 @@
#ifndef __HOS_DEVFS__
#define __HOS_DEVFS__ __HOS_DEVFS__
#include "Device.h"
#include "DeviceFolder.h"
#include "lang/string.h"
void devfs_init(string mountPoint);
+33 -7
View File
@@ -1,7 +1,8 @@
// vfs.c
// vfs.cpp
// Author: Josh Holtrop
// Date: 03/11/04
// Modified: 03/16/04
// Modified: 04/16/04
#include "hos_defines.h"
#include "vfs.h"
@@ -12,18 +13,43 @@
#include "lang/string.h"
#include "devfs.h"
#include "kio.h"
//#include "DeviceFolder.h"
#include "Mount.h"
//LinkedList<Mount> *mntList;
LinkedList<Mount> *mounts;
void vfs_init()
{
//mntList = new LinkedList<Mount>;
devfs_init("/dev");
mounts = new LinkedList<Mount>;
}
void list()
{
LinkedList<Mount>::iterator it = mounts->begin();
while (it != mounts->end())
{
printf("%s\t%s\n", (*it).device.data(), (*it).mountPoint.data());
++it;
}
}
int vfs_mount(string device, string mountPoint)
{
Mount mount(device, mountPoint);
LinkedList<Mount>::iterator it = mounts->begin();
int i = 0;
while (it != mounts->end() && (*it).mountPoint <= mount.mountPoint)
{
if (*it == mount)
return 1; //device already mounted or mount point already taken
i++;
++it;
}
mounts->insert(i, mount);
return 0;
}
+5 -1
View File
@@ -1,14 +1,18 @@
// vfs.h
// Author: Josh Holtrop
// Date: 03/11/04
// Modified: 05/21/04
// Modified: 06/16/04
#ifndef __HOS_VFS__
#define __HOS_VFS__ __HOS_VFS__
#include "hos_defines.h"
#include "lang/string.h"
void vfs_init();
int vfs_mount(string device, string mountPoint);
void list();
#endif
+4 -1
View File
@@ -19,7 +19,8 @@
#include "sys/pic.h" //Programmable Interrupt Controller functions
#include "sys/rtc.h" //Real Time Clock functions
#include "video/video.h" //video functions
#include "fs/vfs.h"
#include "fs/vfs.h" //Virtual File System layer
#include "fs/devfs.h" //Device filesystem
extern "C" {
@@ -69,6 +70,8 @@ void k_init()
printf("%b/%b/%b %b:%b:%b\n", rtc_readMonth(), rtc_readDay(), rtc_readYear(), rtc_readHour(), rtc_readMinute(), rtc_readSecond());
vfs_init();
devfs_init("/dev");
list();
printf("Done.\n");
+345 -351
View File
@@ -7,377 +7,373 @@ Name Origin Length Attributes
Linker script and memory map
.text 0x00000000c0106000 0x6000
.text 0x00000000c0106000 0x5000
0x00000000c0106000 code = .
0x00000000c0106000 _code = .
0x00000000c0106000 __code = .
*(.text)
.text 0x00000000c0106000 0x384 ks.o
0x00000000c0106000 _start
.text 0x00000000c0106384 0x523 kernel.o
.text 0x00000000c0106384 0x55b kernel.o
0x00000000c0106384 _k_init
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 0x20d devfs.o
0x00000000c010a224 __Z10devfs_init6string
*fill* 0x00000000c010a431 0x3 00
.text 0x00000000c010a434 0x6e7 Device.o
0x00000000c010a72c __ZN6DeviceD2Ev
0x00000000c010a798 __ZN6DeviceD1Ev
0x00000000c010a4e4 __ZN6DeviceC2E6string
0x00000000c010a9e4 __ZN6DeviceaSERKS_
0x00000000c010a678 __ZN6DeviceC1E6stringjjjjct
0x00000000c010a804 __ZN6DeviceC2ERKS_
0x00000000c010a8f4 __ZN6DeviceC1ERKS_
0x00000000c010a48c __ZN6DeviceC1Ev
0x00000000c010a434 __ZN6DeviceC2Ev
0x00000000c010a554 __ZN6DeviceC1E6string
0x00000000c010aae2 __ZN6Device7setLinkE6string
0x00000000c010a5c4 __ZN6DeviceC2E6stringjjjjct
*fill* 0x00000000c010ab1b 0x1 00
.text 0x00000000c010ab1c 0x572 DeviceFolder.o
0x00000000c010b078 __ZN12DeviceFolder4sizeEv
0x00000000c010ad2c __ZN12DeviceFolderC2Ev
0x00000000c010ad42 __ZN12DeviceFolderC1Ev
0x00000000c010ae74 __ZN12DeviceFolder5mkdirE6stringjjt
0x00000000c010afd2 __ZN12DeviceFolder5mknodE6stringjjjjct
0x00000000c010ad58 __ZN12DeviceFolder9addDeviceE6Device
0x00000000c010af10 __ZN12DeviceFolder6mklinkE6stringjjS0_
0x00000000c010ab1c __ZN12DeviceFolder2lsEv
0x00000000c010c000 . = ALIGN (0x1000)
*fill* 0x00000000c010b08e 0x80b237400000f72 00
0x00000000c0106694 _isr
*fill* 0x00000000c01068df 0x1 00
.text 0x00000000c01068e0 0x308 asmfuncs.o
0x00000000c01068fe _read_cr3
0x00000000c0106902 _strcmp
0x00000000c0106a11 _puts
0x00000000c0106998 _memsetd
0x00000000c01069c6 _invlpg_
0x00000000c0106a30 _putDecu
0x00000000c0106954 _memcpyd
0x00000000c010693d _memcpy
0x00000000c010696b _memset
0x00000000c01068fa _read_cr2
0x00000000c01069ce _writeCursorPosition
0x00000000c0106981 _memsetw
0x00000000c0106af8 _putDec
0x00000000c0106928 _strcpy
0x00000000c01069ae _strlen
0x00000000c01069f4 _getCursorPosition
0x00000000c01068e0 _write_cr0
0x00000000c01068ef _write_cr3
0x00000000c01068eb _read_cr0
.text 0x00000000c0106be8 0x69a keyboard.o
0x00000000c010711c _kbdGetKey
0x00000000c01071b2 _kbd_resetLEDs
0x00000000c0106be8 _isr_keyboard
0x00000000c010716e _kbdWaitKey
*fill* 0x00000000c0107282 0x2 00
.text 0x00000000c0107284 0x665 kio.o
0x00000000c0107834 _kio_drawConsoleChar
0x00000000c01073ee _putc
0x00000000c010763a _kio_console_cls
0x00000000c010752a _putHex
0x00000000c01078c2 _kio_writeCursorPosition
0x00000000c01075d6 _kio_console_scroll
0x00000000c0107694 _kio_drawConsole
0x00000000c01078b8 _kio_getCursorPosition
0x00000000c0107284 _kio_init
0x00000000c01072ae _printf
0x00000000c010759e _kio_putBCD
*fill* 0x00000000c01078e9 0x3 00
.text 0x00000000c01078ec 0x350 mm.o
0x00000000c01078ec __Z7mm_initv
0x00000000c0107ace __Z8mm_pfreej
0x00000000c0107a90 __Z9mm_pfreenjj
0x00000000c0107c28 __Z14mm_getTotalMemv
0x00000000c0107b18 __Z9mm_pallocv
0x00000000c0107bc0 __Z10mm_freememv
0x00000000c0107c32 __Z15mm_getTotalMegsv
.text 0x00000000c0107c3c 0x201 mouse.o
0x00000000c0107c3c _mouse_init
0x00000000c0107ce6 _isr_mouse
*fill* 0x00000000c0107e3d 0x3 00
.text 0x00000000c0107e40 0x8f stdfont.o
0x00000000c0107ea0 __Z17stdfont_getBitmapj
0x00000000c0107e40 __Z20stdfont_getFontWidthj
0x00000000c0107e70 __Z21stdfont_getFontHeightj
*fill* 0x00000000c0107ecf 0x1 00
.text 0x00000000c0107ed0 0x669 video.o
0x00000000c01083b0 __Z13video_psetp32ij
0x00000000c01081c4 __Z10video_vertiiij
0x00000000c01083cc __Z15video_psetpnullij
0x00000000c01080a8 __Z11video_horiziiij
0x00000000c01083e2 __Z15video_getHeightv
0x00000000c0108402 __Z20video_getPhysBasePtrv
0x00000000c0107ed0 __Z10video_initv
0x00000000c010827c __Z10video_rectiiiij
0x00000000c0108416 __Z10video_lineiiiij
0x00000000c01083d2 __Z14video_getWidthv
0x00000000c01083f2 __Z21video_getBitsPerPixelv
0x00000000c01081a8 __Z11video_psetiij
0x00000000c010831c __Z13video_psetp16ij
0x00000000c01082d4 __Z11video_rectfiiiij
0x00000000c0108150 __Z10video_psetiij
0x00000000c0108362 __Z13video_psetp24ij
0x00000000c0107fc2 __Z16video_renderChariiiijij
0x00000000c010840c __Z10video_Modev
*fill* 0x00000000c0108539 0x3 00
.text 0x00000000c010853c 0x8b8 vmm.o
0x00000000c0108ae2 __Z21vmm_addHeapEntryBlockv
0x00000000c0108ba4 __Z20vmm_getLastHeapEntryv
0x00000000c0108904 __Z21vmm_coalesceHeapEntryP9HeapEntry
0x00000000c0108d12 __Z7reallocPvj
0x00000000c0108cd6 __Z22vmm_getHeapEntryByBasej
0x00000000c0108856 __Z16vmm_getFreeChunkj
0x00000000c0108c8c __Z4freePv
0x00000000c01089ce __Z12vmm_moreCorej
0x00000000c01087e2 __Z6mallocj
0x00000000c0108c54 __Z19vmm_heapEntriesLeftv
0x00000000c010853c __Z8vmm_initv
0x00000000c0108da6 __Z6callocjj
0x00000000c0108bd4 __Z25vmm_getFirstHoleHeapEntryj
0x00000000c01085e4 __Z12vmm_heb_initP14HeapEntryBlock
0x00000000c0108ac6 __Z17vmm_nextHeapEntryv
0x00000000c0108660 __Z8vmm_map1jj
0x00000000c0108738 __Z8vmm_mapnjjj
0x00000000c01087b4 __Z10vmm_unmapnjj
0x00000000c0108772 __Z10vmm_unmap1j
0x00000000c0108c1a __Z27vmm_getFirstUnusedHeapEntryv
.text 0x00000000c0108df4 0x269 rtc.o
0x00000000c0108e1e __Z13rtc_readMonthv
0x00000000c0108ff4 __Z11rtc_setHourh
0x00000000c0108df4 __Z11rtc_readDayv
0x00000000c0108f24 __Z12rtc_setMonthh
0x00000000c0108fc0 __Z13rtc_setMinuteh
0x00000000c0108ef0 __Z10rtc_setDayh
0x00000000c0108ec6 __Z12rtc_readHourv
0x00000000c0108e48 __Z12rtc_readYearv
0x00000000c0108e72 __Z14rtc_readSecondv
0x00000000c0108f58 __Z11rtc_setYearh
0x00000000c0108e9c __Z14rtc_readMinutev
0x00000000c0108f8c __Z13rtc_setSecondh
*fill* 0x00000000c010905d 0x3 00
.text 0x00000000c0109060 0x121 pic.o
0x00000000c0109060 __Z9pic_remapii
*fill* 0x00000000c0109181 0x3 00
.text 0x00000000c0109184 0x15d cstring.o
0x00000000c01091ac __Z12string_splitPcc
0x00000000c0109184 __Z6strcatPcPKc
0x00000000c010920a __Z14string_advancePc
0x00000000c0109266 __Z5ucasePc
0x00000000c0109224 __Z5rtrimPc
0x00000000c01092a4 __Z5lcasePc
*fill* 0x00000000c01092e1 0x3 00
.text 0x00000000c01092e4 0xed9 string.o
0x00000000c01099f2 __ZN6stringC1ERKS_S1_
0x00000000c01097c6 __ZN6stringmIEPKc
0x00000000c0109474 __ZN6stringC1EPKc
0x00000000c0109d6c __ZN6stringC2EcRKS_
0x00000000c0109aec __ZN6stringC1ERKS_PKc
0x00000000c0109384 __ZN6stringC2ERKS_
0x00000000c01094c8 __ZN6stringaSERKS_
0x00000000c0109420 __ZN6stringC2EPKc
0x00000000c010a132 __ZNK6stringleEPKc
0x00000000c010a0ee __ZNK6stringleERKS_
0x00000000c01092e4 __ZN6stringC2Ev
0x00000000c0109668 __ZN6stringpLEPKc
0x00000000c010997c __ZN6stringC2ERKS_S1_
0x00000000c0109e5a __ZN6stringixEj
0x00000000c0109c84 __ZN6stringC2ERKS_c
0x00000000c01095b0 __ZNK6string4dataEv
0x00000000c0109cf8 __ZN6stringC1ERKS_c
0x00000000c0109dcc __ZN6stringC1EcRKS_
0x00000000c010a096 __ZNK6stringgtEPKc
0x00000000c0109e2c __ZNK6stringixEj
0x00000000c0109364 __ZN6stringD1Ev
0x00000000c0109ff2 __ZNK6stringgtERKS_
0x00000000c0109b70 __ZN6stringC2EPKcRKS_
0x00000000c0109724 __ZN6stringmIERKS_
0x00000000c0109ef0 __ZNK6stringeqEPKc
0x00000000c0109344 __ZN6stringD2Ev
0x00000000c0109f62 __ZNK6stringneERKS_
0x00000000c01095ba __ZNK6string4sizeEv
0x00000000c010a178 __ZNK6stringgeEPKc
0x00000000c0109a68 __ZN6stringC2ERKS_PKc
0x00000000c010a110 __ZNK6stringgeERKS_
0x00000000c010990c __ZN6stringmIEc
0x00000000c01093d2 __ZN6stringC1ERKS_
0x00000000c0109fa6 __ZNK6stringltERKS_
0x00000000c0109f84 __ZNK6stringneEPKc
0x00000000c0109bfa __ZN6stringC1EPKcRKS_
0x00000000c0109e88 __ZNK6stringeqERKS_
0x00000000c010a03e __ZNK6stringltEPKc
0x00000000c0109888 __ZN6stringpLEc
0x00000000c01095c6 __ZN6stringpLERKS_
0x00000000c0109538 __ZN6stringaSEPKc
0x00000000c0109314 __ZN6stringC1Ev
*fill* 0x00000000c010a1bd 0x3 00
.text 0x00000000c010a1c0 0xe5 cmos.o
0x00000000c010a218 __Z11cmos_gethd0v
0x00000000c010a1c0 __Z11cmos_getfd0v
0x00000000c010a1ec __Z11cmos_getfd1v
0x00000000c010a244 __Z11cmos_gethd1v
*fill* 0x00000000c010a2a5 0x3 00
.text 0x00000000c010a2a8 0x58 hos_defines.o
0x00000000c010a2d4 __ZdlPv
0x00000000c010a2be __Znaj
0x00000000c010a2a8 __Znwj
0x00000000c010a2ea __ZdaPv
.text 0x00000000c010a300 0x24d vfs.o
0x00000000c010a32e __Z4listv
0x00000000c010a3d0 __Z9vfs_mount6stringS_
0x00000000c010a300 __Z8vfs_initv
*fill* 0x00000000c010a54d 0x3 00
.text 0x00000000c010a550 0x2b7 devfs.o
0x00000000c010a550 __Z10devfs_init6string
*fill* 0x00000000c010a807 0x1 00
.text 0x00000000c010a808 0x145 Mount.o
0x00000000c010a858 __ZN5MountC2E6stringS0_
0x00000000c010a8ac __ZN5MountC1E6stringS0_
0x00000000c010a900 __ZNK5MounteqERKS_
0x00000000c010a830 __ZN5MountC1Ev
0x00000000c010a808 __ZN5MountC2Ev
0x00000000c010b000 . = ALIGN (0x1000)
*fill* 0x00000000c010a94d 0x80b2310000006b3 00
.gnu.linkonce.t._ZN10LinkedListI6DeviceE5beginEv
0x00000000c010c000 0x27
.gnu.linkonce.t._ZN10LinkedListI6DeviceE5beginEv
0x00000000c010c000 0x27 DeviceFolder.o
0x00000000c010c000 __ZN10LinkedListI6DeviceE5beginEv
.gnu.linkonce.t._ZN10LinkedListI5MountEC1Ev
0x00000000c010b000 0x43
.gnu.linkonce.t._ZN10LinkedListI5MountEC1Ev
0x00000000c010b000 0x43 vfs.o
0x00000000c010b000 __ZN10LinkedListI5MountEC1Ev
.gnu.linkonce.t._ZN10LinkedListI6DeviceE3endEv
0x00000000c010c028 0x28
.gnu.linkonce.t._ZN10LinkedListI6DeviceE3endEv
0x00000000c010c028 0x28 DeviceFolder.o
0x00000000c010c028 __ZN10LinkedListI6DeviceE3endEv
.gnu.linkonce.t._ZN10LinkedListI5MountE5beginEv
0x00000000c010b044 0x27
.gnu.linkonce.t._ZN10LinkedListI5MountE5beginEv
0x00000000c010b044 0x27 vfs.o
0x00000000c010b044 __ZN10LinkedListI5MountE5beginEv
.gnu.linkonce.t._ZNK10LinkedListI6DeviceE8iteratorneERKS2_
0x00000000c010c050 0x17
.gnu.linkonce.t._ZNK10LinkedListI6DeviceE8iteratorneERKS2_
0x00000000c010c050 0x17 DeviceFolder.o
0x00000000c010c050 __ZNK10LinkedListI6DeviceE8iteratorneERKS2_
.gnu.linkonce.t._ZN10LinkedListI5MountE3endEv
0x00000000c010b06c 0x28
.gnu.linkonce.t._ZN10LinkedListI5MountE3endEv
0x00000000c010b06c 0x28 vfs.o
0x00000000c010b06c __ZN10LinkedListI5MountE3endEv
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratordeEv
0x00000000c010c068 0xa
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratordeEv
0x00000000c010c068 0xa DeviceFolder.o
0x00000000c010c068 __ZN10LinkedListI6DeviceE8iteratordeEv
.gnu.linkonce.t._ZNK10LinkedListI5MountE8iteratorneERKS2_
0x00000000c010b094 0x17
.gnu.linkonce.t._ZNK10LinkedListI5MountE8iteratorneERKS2_
0x00000000c010b094 0x17 vfs.o
0x00000000c010b094 __ZNK10LinkedListI5MountE8iteratorneERKS2_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorppEi
0x00000000c010c072 0x12
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorppEi
0x00000000c010c072 0x12 DeviceFolder.o
0x00000000c010c072 __ZN10LinkedListI6DeviceE8iteratorppEi
.gnu.linkonce.t._ZN10LinkedListI5MountE8iteratordeEv
0x00000000c010b0ac 0xa
.gnu.linkonce.t._ZN10LinkedListI5MountE8iteratordeEv
0x00000000c010b0ac 0xa vfs.o
0x00000000c010b0ac __ZN10LinkedListI5MountE8iteratordeEv
.gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev
0x00000000c010c084 0x43
.gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev
0x00000000c010c084 0x43 DeviceFolder.o
0x00000000c010c084 __ZN10LinkedListI6DeviceEC1Ev
.gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorppEv
0x00000000c010b0b6 0x12
.gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorppEv
0x00000000c010b0b6 0x12 vfs.o
0x00000000c010b0b6 __ZN10LinkedListI5MountE8iteratorppEv
.gnu.linkonce.t._ZN10LinkedListI6DeviceE6insertEiS0_
0x00000000c010c0c8 0x101
.gnu.linkonce.t._ZN10LinkedListI6DeviceE6insertEiS0_
0x00000000c010c0c8 0x101 DeviceFolder.o
0x00000000c010c0c8 __ZN10LinkedListI6DeviceE6insertEiS0_
.gnu.linkonce.t._ZN10LinkedListI5MountE6insertEiS0_
0x00000000c010b0c8 0x101
.gnu.linkonce.t._ZN10LinkedListI5MountE6insertEiS0_
0x00000000c010b0c8 0x101 vfs.o
0x00000000c010b0c8 __ZN10LinkedListI5MountE6insertEiS0_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE4sizeEv
0x00000000c010c1ca 0xb
.gnu.linkonce.t._ZN10LinkedListI6DeviceE4sizeEv
0x00000000c010c1ca 0xb DeviceFolder.o
0x00000000c010c1ca __ZN10LinkedListI6DeviceE4sizeEv
.gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1Ev
0x00000000c010b1ca 0x2a
.gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1Ev
0x00000000c010b1ca 0x2a vfs.o
0x00000000c010b1ca __ZN10LinkedListI5MountE10LinkedNodeC1Ev
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE
0x00000000c010c1d6 0xd
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE
0x00000000c010c1d6 0xd DeviceFolder.o
0x00000000c010c1d6 __ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE
.gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorC1EPNS1_10LinkedNodeE
0x00000000c010b1f4 0xd
.gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorC1EPNS1_10LinkedNodeE
0x00000000c010b1f4 0xd vfs.o
0x00000000c010b1f4 __ZN10LinkedListI5MountE8iteratorC1EPNS1_10LinkedNodeE
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev
0x00000000c010c1e4 0x2a
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev
0x00000000c010c1e4 0x2a DeviceFolder.o
0x00000000c010c1e4 __ZN10LinkedListI6DeviceE10LinkedNodeC1Ev
.gnu.linkonce.t._ZN10LinkedListI5MountE9push_backES0_
0x00000000c010b202 0x82
.gnu.linkonce.t._ZN10LinkedListI5MountE9push_backES0_
0x00000000c010b202 0x82 vfs.o
0x00000000c010b202 __ZN10LinkedListI5MountE9push_backES0_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE9push_backES0_
0x00000000c010c20e 0x82
.gnu.linkonce.t._ZN10LinkedListI6DeviceE9push_backES0_
0x00000000c010c20e 0x82 DeviceFolder.o
0x00000000c010c20e __ZN10LinkedListI6DeviceE9push_backES0_
.gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1ES0_
0x00000000c010b284 0x40
.gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1ES0_
0x00000000c010b284 0x40 vfs.o
0x00000000c010b284 __ZN10LinkedListI5MountE10LinkedNodeC1ES0_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_
0x00000000c010c290 0x40
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_
0x00000000c010c290 0x40 DeviceFolder.o
0x00000000c010c290 __ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_
.gnu.linkonce.t._ZN5MountaSERKS_
0x00000000c010b2c4 0x4d
.gnu.linkonce.t._ZN5MountaSERKS_
0x00000000c010b2c4 0x4d vfs.o
0x00000000c010b2c4 __ZN5MountaSERKS_
.data 0x00000000c010c2d0 0xd30
0x00000000c010c2d0 data = .
0x00000000c010c2d0 _data = .
0x00000000c010c2d0 __data = .
.gnu.linkonce.t._ZN5MountC1ERKS_
0x00000000c010b312 0x4a
.gnu.linkonce.t._ZN5MountC1ERKS_
0x00000000c010b312 0x4a vfs.o
0x00000000c010b312 __ZN5MountC1ERKS_
.gnu.linkonce.t._ZN5MountD1Ev
0x00000000c010b35c 0x28
.gnu.linkonce.t._ZN5MountD1Ev
0x00000000c010b35c 0x28 vfs.o
0x00000000c010b35c __ZN5MountD1Ev
.data 0x00000000c010b388 0xc78
0x00000000c010b388 data = .
0x00000000c010b388 _data = .
0x00000000c010b388 __data = .
*(.data)
.data 0x00000000c010c2d0 0x18 stdfont.o
0x00000000c010c2d0 _fonts
.data 0x00000000c010c2e8 0x10 video.o
0x00000000c010c2e8 _vid_ptr16
0x00000000c010c2f4 _video_psetp
0x00000000c010c2f0 _vid_ptr32
0x00000000c010c2ec _vid_ptr24
.data 0x00000000c010c2f8 0x4 vmm.o
0x00000000c010c2f8 _firstHeapEntry
0x00000000c010d000 . = ALIGN (0x1000)
*fill* 0x00000000c010c2fc 0x812a70800000d04 00
.data 0x00000000c010b388 0x18 stdfont.o
0x00000000c010b388 _fonts
.data 0x00000000c010b3a0 0x10 video.o
0x00000000c010b3a0 _vid_ptr16
0x00000000c010b3ac _video_psetp
0x00000000c010b3a8 _vid_ptr32
0x00000000c010b3a4 _vid_ptr24
.data 0x00000000c010b3b0 0x4 vmm.o
0x00000000c010b3b0 _firstHeapEntry
0x00000000c010c000 . = ALIGN (0x1000)
*fill* 0x00000000c010b3b4 0x8116e3800000c4c 00
.rodata 0x00000000c010d000 0x2000
0x00000000c010d000 rodata = .
0x00000000c010d000 _rodata = .
0x00000000c010d000 __rodata = .
.rodata 0x00000000c010c000 0x2000
0x00000000c010c000 rodata = .
0x00000000c010c000 _rodata = .
0x00000000c010c000 __rodata = .
*(.rodata)
.rodata 0x00000000c010d000 0x141 kernel.o
*fill* 0x00000000c010d141 0x1f 00
.rodata 0x00000000c010d160 0x141 keyboard.o
*fill* 0x00000000c010d2a1 0x3 00
.rodata 0x00000000c010d2a4 0x1e4 kio.o
*fill* 0x00000000c010d488 0x18 00
.rodata 0x00000000c010d4a0 0x1200 stdfont.o
.rodata 0x00000000c010e6a0 0x5 vfs.o
*fill* 0x00000000c010e6a5 0x1b 00
.rodata 0x00000000c010e6c0 0xad devfs.o
.rodata 0x00000000c010e76d 0x33 DeviceFolder.o
0x00000000c010f000 . = ALIGN (0x1000)
*fill* 0x00000000c010e7a0 0x812a77c00000860 00
.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 0x7 vfs.o
.rodata 0x00000000c010d6a7 0x6d devfs.o
0x00000000c010e000 . = ALIGN (0x1000)
*fill* 0x00000000c010d714 0x8116e9c000008ec 00
.bss 0x00000000c010f000 0x22000
0x00000000c010f000 bss = .
0x00000000c010f000 _bss = .
0x00000000c010f000 __bss = .
.bss 0x00000000c010e000 0x22000
0x00000000c010e000 bss = .
0x00000000c010e000 _bss = .
0x00000000c010e000 __bss = .
*(.bss)
.bss 0x00000000c010f000 0x4 kernel.o
0x00000000c010f000 _timer
*fill* 0x00000000c010f004 0x4 00
*fill* 0x00000000c010f008 0x18 00
.bss 0x00000000c010f020 0x12b keyboard.o
0x00000000c010f040 _kbdBuffer
0x00000000c010f148 _kbdExt
0x00000000c010f021 _kbdAscii
0x00000000c010f149 _kbdExt2
0x00000000c010f14a _ackReason
0x00000000c010f140 _kbdBufferStart
0x00000000c010f022 _kbdScan
0x00000000c010f144 _kbdBufferLen
0x00000000c010f020 _kbdFlags
*fill* 0x00000000c010f14b 0x15 00
.bss 0x00000000c010f160 0xfc0 kio.o
0x00000000c010f180 _console_memory
0x00000000c010f160 _graphical
0x00000000c010f164 _cursorPosition
.bss 0x00000000c0110120 0x20020 mm.o
0x00000000c0110124 _mm_megabytes
0x00000000c0110140 _page_bitmap
0x00000000c0110120 _mm_totalmem
.bss 0x00000000c0130140 0x1c mouse.o
0x00000000c0130144 _mouse_y
0x00000000c0130148 _mouse_bytesRead
0x00000000c0130140 _mouse_x
0x00000000c013014c _mouse_inbuffer
*fill* 0x00000000c013015c 0x4 00
.bss 0x00000000c0130160 0x104 video.o
0x00000000c0130160 _video_mode
0x00000000c0130260 _videoMode
.bss 0x00000000c0130264 0x4 devfs.o
0x00000000c0130264 _dev
0x00000000c0131000 . = ALIGN (0x1000)
*fill* 0x00000000c0130268 0x812a8e000000d98 00
0x00000000c0131000 end = .
0x00000000c0131000 _end = .
0x00000000c0131000 __end = .
.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 vfs.o
0x00000000c012f264 _mounts
0x00000000c0130000 . = ALIGN (0x1000)
*fill* 0x00000000c012f268 0x8116ff000000d98 00
0x00000000c0130000 end = .
0x00000000c0130000 _end = .
0x00000000c0130000 __end = .
LOAD ks.o
LOAD kernel.o
LOAD asmfuncs.o
@@ -398,14 +394,13 @@ LOAD cmos.o
LOAD hos_defines.o
LOAD vfs.o
LOAD devfs.o
LOAD Device.o
LOAD DeviceFolder.o
LOAD Mount.o
OUTPUT(kernel.bin binary)
.note.GNU-stack
0x0000000000000000 0x0
.comment 0x0000000000000000 0x3fc
.comment 0x0000000000000000 0x3c9
.comment 0x0000000000000000 0x33 kernel.o
.comment 0x0000000000000033 0x33 fdc.o
.comment 0x0000000000000066 0x33 keyboard.o
@@ -424,5 +419,4 @@ OUTPUT(kernel.bin binary)
.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
.comment 0x0000000000000396 0x33 Mount.o