Import backup from 2004-06-16

This commit is contained in:
Josh Holtrop 2004-06-16 22:00:00 -04:00
parent c76725eac3
commit f3fe4ef3b8
16 changed files with 463 additions and 761 deletions

BIN
core.4623

Binary file not shown.

View File

@ -1,6 +1,6 @@
##################################################################### #####################################################################
# Author: Josh Holtrop / Benjamen R. Meyer # # 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 # # Purpose: To build Josh Holtrop's OS (HOS) using GNU make #
# Note: This makefile is for use on Linux & other Unix-like systems # # Note: This makefile is for use on Linux & other Unix-like systems #
##################################################################### #####################################################################
@ -17,7 +17,7 @@ KERNEL_FORMAT=aout
NASM_BIN=nasm NASM_BIN=nasm
NASM_FLAGS=-f $(KERNEL_FORMAT) NASM_FLAGS=-f $(KERNEL_FORMAT)
# C Compile Information: # C++ Compile Information:
CPP=g++ CPP=g++
CPP_FLAGS=-fleading-underscore -fno-builtin -nostdlib -nostdinc++ -nostartfiles -fno-rtti -fno-exceptions -nodefaultlibs -I. -Wall 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 # # Linking the kernel together #
############################### ###############################
all: Asm_Kernel Asm_Functions C_Kernel 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 # # Assembly Kernel Loader #
@ -66,11 +66,11 @@ C_Kernel:
$(CPP) $(CPP_FLAGS) -c hos_defines.cpp -o hos_defines.o $(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/vfs.cpp -o vfs.o
$(CPP) $(CPP_FLAGS) -c fs/devfs.cpp -o devfs.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/Mount.cpp -o Mount.o
$(CPP) $(CPP_FLAGS) -c fs/DeviceFolder.cpp -o DeviceFolder.o
################################################# #################################################
# Clean up the source directory of any binaries # # Clean up the source directory of any binaries #
################################################# #################################################
clean: clean:
- rm *.s *.o *.bin *~ block/*~ char/*~ fs/*~ lang/*~ mm/*~ sys/*~ video/*~ - rm *.s *.o *.bin *~ block/*~ char/*~ fs/*~ lang/*~ mm/*~ sys/*~ video/*~

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

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);
}

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

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();
}

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
kernel/fs/Mount.cpp Normal file
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
kernel/fs/Mount.h Normal file
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

View File

@ -3,30 +3,23 @@
// device filesystem for HOS // device filesystem for HOS
// Author: Josh Holtrop // Author: Josh Holtrop
// Date: 06/03/04 // Date: 06/03/04
// Modified: 06/10/04 // Modified: 06/16/04
#include "devfs.h" #include "devfs.h"
#include "Device.h"
#include "DeviceFolder.h"
#include "kio.h" #include "kio.h"
#include "lang/string.h"
DeviceFolder *dev; #include "vfs.h"
void devfs_init(string mountPoint) void devfs_init(string mountPoint)
{ {
printf("I'm going to make a new DeviceFolder\n"); vfs_mount("devfs ", mountPoint);
dev = new DeviceFolder(mountPoint); vfs_mount("testdev ", "/mnt/win");
printf("I'm going to add hda1 to devfs\n"); vfs_mount("/dev/hda6", "/scratch");
dev->mknod("hda1", 0, 0, 3, 1, 'b', 0632); vfs_mount("/dev/rd0 ", "/");
dev->mkdir("test", 0, 501, 0644); vfs_mount("/dev/sda1", "/mnt/usb");
dev->mkdir("test1", 0, 0, 0755); vfs_mount("sysfs ", "/sys");
dev->mkdir("test1", 1, 1, 0644); vfs_mount("sysfs ", "/tmp");
dev->mknod("psmouse", 2, 3, 4, 1, 'c', 0677); vfs_mount("otherfs ", "/sys");
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);
} }

View File

@ -8,8 +8,7 @@
#ifndef __HOS_DEVFS__ #ifndef __HOS_DEVFS__
#define __HOS_DEVFS__ __HOS_DEVFS__ #define __HOS_DEVFS__ __HOS_DEVFS__
#include "Device.h" #include "lang/string.h"
#include "DeviceFolder.h"
void devfs_init(string mountPoint); void devfs_init(string mountPoint);

View File

@ -1,7 +1,8 @@
// vfs.c
// vfs.cpp
// Author: Josh Holtrop // Author: Josh Holtrop
// Date: 03/11/04 // Date: 03/11/04
// Modified: 03/16/04 // Modified: 04/16/04
#include "hos_defines.h" #include "hos_defines.h"
#include "vfs.h" #include "vfs.h"
@ -12,18 +13,43 @@
#include "lang/string.h" #include "lang/string.h"
#include "devfs.h" #include "devfs.h"
#include "kio.h" #include "kio.h"
//#include "DeviceFolder.h" #include "Mount.h"
//LinkedList<Mount> *mntList; LinkedList<Mount> *mounts;
void vfs_init() 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;
}

View File

@ -1,14 +1,18 @@
// vfs.h // vfs.h
// Author: Josh Holtrop // Author: Josh Holtrop
// Date: 03/11/04 // Date: 03/11/04
// Modified: 05/21/04 // Modified: 06/16/04
#ifndef __HOS_VFS__ #ifndef __HOS_VFS__
#define __HOS_VFS__ __HOS_VFS__ #define __HOS_VFS__ __HOS_VFS__
#include "hos_defines.h" #include "hos_defines.h"
#include "lang/string.h"
void vfs_init(); void vfs_init();
int vfs_mount(string device, string mountPoint);
void list();
#endif #endif

View File

@ -19,7 +19,8 @@
#include "sys/pic.h" //Programmable Interrupt Controller functions #include "sys/pic.h" //Programmable Interrupt Controller functions
#include "sys/rtc.h" //Real Time Clock functions #include "sys/rtc.h" //Real Time Clock functions
#include "video/video.h" //video 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" { 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()); printf("%b/%b/%b %b:%b:%b\n", rtc_readMonth(), rtc_readDay(), rtc_readYear(), rtc_readHour(), rtc_readMinute(), rtc_readSecond());
vfs_init(); vfs_init();
devfs_init("/dev");
list();
printf("Done.\n"); printf("Done.\n");

View File

@ -7,377 +7,373 @@ Name Origin Length Attributes
Linker script and memory map Linker script and memory map
.text 0x00000000c0106000 0x6000 .text 0x00000000c0106000 0x5000
0x00000000c0106000 code = . 0x00000000c0106000 code = .
0x00000000c0106000 _code = . 0x00000000c0106000 _code = .
0x00000000c0106000 __code = . 0x00000000c0106000 __code = .
*(.text) *(.text)
.text 0x00000000c0106000 0x384 ks.o .text 0x00000000c0106000 0x384 ks.o
0x00000000c0106000 _start 0x00000000c0106000 _start
.text 0x00000000c0106384 0x523 kernel.o .text 0x00000000c0106384 0x55b kernel.o
0x00000000c0106384 _k_init 0x00000000c0106384 _k_init
0x00000000c010665c _isr 0x00000000c0106694 _isr
*fill* 0x00000000c01068a7 0x1 00 *fill* 0x00000000c01068df 0x1 00
.text 0x00000000c01068a8 0x308 asmfuncs.o .text 0x00000000c01068e0 0x308 asmfuncs.o
0x00000000c01068c6 _read_cr3 0x00000000c01068fe _read_cr3
0x00000000c01068ca _strcmp 0x00000000c0106902 _strcmp
0x00000000c01069d9 _puts 0x00000000c0106a11 _puts
0x00000000c0106960 _memsetd 0x00000000c0106998 _memsetd
0x00000000c010698e _invlpg_ 0x00000000c01069c6 _invlpg_
0x00000000c01069f8 _putDecu 0x00000000c0106a30 _putDecu
0x00000000c010691c _memcpyd 0x00000000c0106954 _memcpyd
0x00000000c0106905 _memcpy 0x00000000c010693d _memcpy
0x00000000c0106933 _memset 0x00000000c010696b _memset
0x00000000c01068c2 _read_cr2 0x00000000c01068fa _read_cr2
0x00000000c0106996 _writeCursorPosition 0x00000000c01069ce _writeCursorPosition
0x00000000c0106949 _memsetw 0x00000000c0106981 _memsetw
0x00000000c0106ac0 _putDec 0x00000000c0106af8 _putDec
0x00000000c01068f0 _strcpy 0x00000000c0106928 _strcpy
0x00000000c0106976 _strlen 0x00000000c01069ae _strlen
0x00000000c01069bc _getCursorPosition 0x00000000c01069f4 _getCursorPosition
0x00000000c01068a8 _write_cr0 0x00000000c01068e0 _write_cr0
0x00000000c01068b7 _write_cr3 0x00000000c01068ef _write_cr3
0x00000000c01068b3 _read_cr0 0x00000000c01068eb _read_cr0
.text 0x00000000c0106bb0 0x69a keyboard.o .text 0x00000000c0106be8 0x69a keyboard.o
0x00000000c01070e4 _kbdGetKey 0x00000000c010711c _kbdGetKey
0x00000000c010717a _kbd_resetLEDs 0x00000000c01071b2 _kbd_resetLEDs
0x00000000c0106bb0 _isr_keyboard 0x00000000c0106be8 _isr_keyboard
0x00000000c0107136 _kbdWaitKey 0x00000000c010716e _kbdWaitKey
*fill* 0x00000000c010724a 0x2 00 *fill* 0x00000000c0107282 0x2 00
.text 0x00000000c010724c 0x665 kio.o .text 0x00000000c0107284 0x665 kio.o
0x00000000c01077fc _kio_drawConsoleChar 0x00000000c0107834 _kio_drawConsoleChar
0x00000000c01073b6 _putc 0x00000000c01073ee _putc
0x00000000c0107602 _kio_console_cls 0x00000000c010763a _kio_console_cls
0x00000000c01074f2 _putHex 0x00000000c010752a _putHex
0x00000000c010788a _kio_writeCursorPosition 0x00000000c01078c2 _kio_writeCursorPosition
0x00000000c010759e _kio_console_scroll 0x00000000c01075d6 _kio_console_scroll
0x00000000c010765c _kio_drawConsole 0x00000000c0107694 _kio_drawConsole
0x00000000c0107880 _kio_getCursorPosition 0x00000000c01078b8 _kio_getCursorPosition
0x00000000c010724c _kio_init 0x00000000c0107284 _kio_init
0x00000000c0107276 _printf 0x00000000c01072ae _printf
0x00000000c0107566 _kio_putBCD 0x00000000c010759e _kio_putBCD
*fill* 0x00000000c01078b1 0x3 00 *fill* 0x00000000c01078e9 0x3 00
.text 0x00000000c01078b4 0x350 mm.o .text 0x00000000c01078ec 0x350 mm.o
0x00000000c01078b4 __Z7mm_initv 0x00000000c01078ec __Z7mm_initv
0x00000000c0107a96 __Z8mm_pfreej 0x00000000c0107ace __Z8mm_pfreej
0x00000000c0107a58 __Z9mm_pfreenjj 0x00000000c0107a90 __Z9mm_pfreenjj
0x00000000c0107bf0 __Z14mm_getTotalMemv 0x00000000c0107c28 __Z14mm_getTotalMemv
0x00000000c0107ae0 __Z9mm_pallocv 0x00000000c0107b18 __Z9mm_pallocv
0x00000000c0107b88 __Z10mm_freememv 0x00000000c0107bc0 __Z10mm_freememv
0x00000000c0107bfa __Z15mm_getTotalMegsv 0x00000000c0107c32 __Z15mm_getTotalMegsv
.text 0x00000000c0107c04 0x201 mouse.o .text 0x00000000c0107c3c 0x201 mouse.o
0x00000000c0107c04 _mouse_init 0x00000000c0107c3c _mouse_init
0x00000000c0107cae _isr_mouse 0x00000000c0107ce6 _isr_mouse
*fill* 0x00000000c0107e05 0x3 00 *fill* 0x00000000c0107e3d 0x3 00
.text 0x00000000c0107e08 0x8f stdfont.o .text 0x00000000c0107e40 0x8f stdfont.o
0x00000000c0107e68 __Z17stdfont_getBitmapj 0x00000000c0107ea0 __Z17stdfont_getBitmapj
0x00000000c0107e08 __Z20stdfont_getFontWidthj 0x00000000c0107e40 __Z20stdfont_getFontWidthj
0x00000000c0107e38 __Z21stdfont_getFontHeightj 0x00000000c0107e70 __Z21stdfont_getFontHeightj
*fill* 0x00000000c0107e97 0x1 00 *fill* 0x00000000c0107ecf 0x1 00
.text 0x00000000c0107e98 0x669 video.o .text 0x00000000c0107ed0 0x669 video.o
0x00000000c0108378 __Z13video_psetp32ij 0x00000000c01083b0 __Z13video_psetp32ij
0x00000000c010818c __Z10video_vertiiij 0x00000000c01081c4 __Z10video_vertiiij
0x00000000c0108394 __Z15video_psetpnullij 0x00000000c01083cc __Z15video_psetpnullij
0x00000000c0108070 __Z11video_horiziiij 0x00000000c01080a8 __Z11video_horiziiij
0x00000000c01083aa __Z15video_getHeightv 0x00000000c01083e2 __Z15video_getHeightv
0x00000000c01083ca __Z20video_getPhysBasePtrv 0x00000000c0108402 __Z20video_getPhysBasePtrv
0x00000000c0107e98 __Z10video_initv 0x00000000c0107ed0 __Z10video_initv
0x00000000c0108244 __Z10video_rectiiiij 0x00000000c010827c __Z10video_rectiiiij
0x00000000c01083de __Z10video_lineiiiij 0x00000000c0108416 __Z10video_lineiiiij
0x00000000c010839a __Z14video_getWidthv 0x00000000c01083d2 __Z14video_getWidthv
0x00000000c01083ba __Z21video_getBitsPerPixelv 0x00000000c01083f2 __Z21video_getBitsPerPixelv
0x00000000c0108170 __Z11video_psetiij 0x00000000c01081a8 __Z11video_psetiij
0x00000000c01082e4 __Z13video_psetp16ij 0x00000000c010831c __Z13video_psetp16ij
0x00000000c010829c __Z11video_rectfiiiij 0x00000000c01082d4 __Z11video_rectfiiiij
0x00000000c0108118 __Z10video_psetiij 0x00000000c0108150 __Z10video_psetiij
0x00000000c010832a __Z13video_psetp24ij 0x00000000c0108362 __Z13video_psetp24ij
0x00000000c0107f8a __Z16video_renderChariiiijij 0x00000000c0107fc2 __Z16video_renderChariiiijij
0x00000000c01083d4 __Z10video_Modev 0x00000000c010840c __Z10video_Modev
*fill* 0x00000000c0108501 0x3 00 *fill* 0x00000000c0108539 0x3 00
.text 0x00000000c0108504 0x7d5 vmm.o .text 0x00000000c010853c 0x8b8 vmm.o
0x00000000c0108aaa __Z21vmm_addHeapEntryBlockv 0x00000000c0108ae2 __Z21vmm_addHeapEntryBlockv
0x00000000c0108b6c __Z20vmm_getLastHeapEntryv 0x00000000c0108ba4 __Z20vmm_getLastHeapEntryv
0x00000000c01088cc __Z21vmm_coalesceHeapEntryP9HeapEntry 0x00000000c0108904 __Z21vmm_coalesceHeapEntryP9HeapEntry
0x00000000c0108c9e __Z22vmm_getHeapEntryByBasej 0x00000000c0108d12 __Z7reallocPvj
0x00000000c010881e __Z16vmm_getFreeChunkj 0x00000000c0108cd6 __Z22vmm_getHeapEntryByBasej
0x00000000c0108c54 __Z4freePv 0x00000000c0108856 __Z16vmm_getFreeChunkj
0x00000000c0108996 __Z12vmm_moreCorej 0x00000000c0108c8c __Z4freePv
0x00000000c01087aa __Z6mallocj 0x00000000c01089ce __Z12vmm_moreCorej
0x00000000c0108c1c __Z19vmm_heapEntriesLeftv 0x00000000c01087e2 __Z6mallocj
0x00000000c0108504 __Z8vmm_initv 0x00000000c0108c54 __Z19vmm_heapEntriesLeftv
0x00000000c0108b9c __Z25vmm_getFirstHoleHeapEntryj 0x00000000c010853c __Z8vmm_initv
0x00000000c01085ac __Z12vmm_heb_initP14HeapEntryBlock 0x00000000c0108da6 __Z6callocjj
0x00000000c0108a8e __Z17vmm_nextHeapEntryv 0x00000000c0108bd4 __Z25vmm_getFirstHoleHeapEntryj
0x00000000c0108628 __Z8vmm_map1jj 0x00000000c01085e4 __Z12vmm_heb_initP14HeapEntryBlock
0x00000000c0108700 __Z8vmm_mapnjjj 0x00000000c0108ac6 __Z17vmm_nextHeapEntryv
0x00000000c010877c __Z10vmm_unmapnjj 0x00000000c0108660 __Z8vmm_map1jj
0x00000000c010873a __Z10vmm_unmap1j 0x00000000c0108738 __Z8vmm_mapnjjj
0x00000000c0108be2 __Z27vmm_getFirstUnusedHeapEntryv 0x00000000c01087b4 __Z10vmm_unmapnjj
*fill* 0x00000000c0108cd9 0x3 00 0x00000000c0108772 __Z10vmm_unmap1j
.text 0x00000000c0108cdc 0x269 rtc.o 0x00000000c0108c1a __Z27vmm_getFirstUnusedHeapEntryv
0x00000000c0108d06 __Z13rtc_readMonthv .text 0x00000000c0108df4 0x269 rtc.o
0x00000000c0108edc __Z11rtc_setHourh 0x00000000c0108e1e __Z13rtc_readMonthv
0x00000000c0108cdc __Z11rtc_readDayv 0x00000000c0108ff4 __Z11rtc_setHourh
0x00000000c0108e0c __Z12rtc_setMonthh 0x00000000c0108df4 __Z11rtc_readDayv
0x00000000c0108ea8 __Z13rtc_setMinuteh 0x00000000c0108f24 __Z12rtc_setMonthh
0x00000000c0108dd8 __Z10rtc_setDayh 0x00000000c0108fc0 __Z13rtc_setMinuteh
0x00000000c0108dae __Z12rtc_readHourv 0x00000000c0108ef0 __Z10rtc_setDayh
0x00000000c0108d30 __Z12rtc_readYearv 0x00000000c0108ec6 __Z12rtc_readHourv
0x00000000c0108d5a __Z14rtc_readSecondv 0x00000000c0108e48 __Z12rtc_readYearv
0x00000000c0108e40 __Z11rtc_setYearh 0x00000000c0108e72 __Z14rtc_readSecondv
0x00000000c0108d84 __Z14rtc_readMinutev 0x00000000c0108f58 __Z11rtc_setYearh
0x00000000c0108e74 __Z13rtc_setSecondh 0x00000000c0108e9c __Z14rtc_readMinutev
*fill* 0x00000000c0108f45 0x3 00 0x00000000c0108f8c __Z13rtc_setSecondh
.text 0x00000000c0108f48 0x121 pic.o *fill* 0x00000000c010905d 0x3 00
0x00000000c0108f48 __Z9pic_remapii .text 0x00000000c0109060 0x121 pic.o
*fill* 0x00000000c0109069 0x3 00 0x00000000c0109060 __Z9pic_remapii
.text 0x00000000c010906c 0x15d cstring.o *fill* 0x00000000c0109181 0x3 00
0x00000000c0109094 __Z12string_splitPcc .text 0x00000000c0109184 0x15d cstring.o
0x00000000c010906c __Z6strcatPcPKc 0x00000000c01091ac __Z12string_splitPcc
0x00000000c01090f2 __Z14string_advancePc 0x00000000c0109184 __Z6strcatPcPKc
0x00000000c010914e __Z5ucasePc 0x00000000c010920a __Z14string_advancePc
0x00000000c010910c __Z5rtrimPc 0x00000000c0109266 __Z5ucasePc
0x00000000c010918c __Z5lcasePc 0x00000000c0109224 __Z5rtrimPc
*fill* 0x00000000c01091c9 0x3 00 0x00000000c01092a4 __Z5lcasePc
.text 0x00000000c01091cc 0xed9 string.o *fill* 0x00000000c01092e1 0x3 00
0x00000000c01098da __ZN6stringC1ERKS_S1_ .text 0x00000000c01092e4 0xed9 string.o
0x00000000c01096ae __ZN6stringmIEPKc 0x00000000c01099f2 __ZN6stringC1ERKS_S1_
0x00000000c010935c __ZN6stringC1EPKc 0x00000000c01097c6 __ZN6stringmIEPKc
0x00000000c0109c54 __ZN6stringC2EcRKS_ 0x00000000c0109474 __ZN6stringC1EPKc
0x00000000c01099d4 __ZN6stringC1ERKS_PKc 0x00000000c0109d6c __ZN6stringC2EcRKS_
0x00000000c010926c __ZN6stringC2ERKS_ 0x00000000c0109aec __ZN6stringC1ERKS_PKc
0x00000000c01093b0 __ZN6stringaSERKS_ 0x00000000c0109384 __ZN6stringC2ERKS_
0x00000000c0109308 __ZN6stringC2EPKc 0x00000000c01094c8 __ZN6stringaSERKS_
0x00000000c010a01a __ZNK6stringleEPKc 0x00000000c0109420 __ZN6stringC2EPKc
0x00000000c0109fd6 __ZNK6stringleERKS_ 0x00000000c010a132 __ZNK6stringleEPKc
0x00000000c01091cc __ZN6stringC2Ev 0x00000000c010a0ee __ZNK6stringleERKS_
0x00000000c0109550 __ZN6stringpLEPKc 0x00000000c01092e4 __ZN6stringC2Ev
0x00000000c0109864 __ZN6stringC2ERKS_S1_ 0x00000000c0109668 __ZN6stringpLEPKc
0x00000000c0109d42 __ZN6stringixEj 0x00000000c010997c __ZN6stringC2ERKS_S1_
0x00000000c0109b6c __ZN6stringC2ERKS_c 0x00000000c0109e5a __ZN6stringixEj
0x00000000c0109498 __ZNK6string4dataEv 0x00000000c0109c84 __ZN6stringC2ERKS_c
0x00000000c0109be0 __ZN6stringC1ERKS_c 0x00000000c01095b0 __ZNK6string4dataEv
0x00000000c0109cb4 __ZN6stringC1EcRKS_ 0x00000000c0109cf8 __ZN6stringC1ERKS_c
0x00000000c0109f7e __ZNK6stringgtEPKc 0x00000000c0109dcc __ZN6stringC1EcRKS_
0x00000000c0109d14 __ZNK6stringixEj 0x00000000c010a096 __ZNK6stringgtEPKc
0x00000000c010924c __ZN6stringD1Ev 0x00000000c0109e2c __ZNK6stringixEj
0x00000000c0109eda __ZNK6stringgtERKS_ 0x00000000c0109364 __ZN6stringD1Ev
0x00000000c0109a58 __ZN6stringC2EPKcRKS_ 0x00000000c0109ff2 __ZNK6stringgtERKS_
0x00000000c010960c __ZN6stringmIERKS_ 0x00000000c0109b70 __ZN6stringC2EPKcRKS_
0x00000000c0109dd8 __ZNK6stringeqEPKc 0x00000000c0109724 __ZN6stringmIERKS_
0x00000000c010922c __ZN6stringD2Ev 0x00000000c0109ef0 __ZNK6stringeqEPKc
0x00000000c0109e4a __ZNK6stringneERKS_ 0x00000000c0109344 __ZN6stringD2Ev
0x00000000c01094a2 __ZNK6string4sizeEv 0x00000000c0109f62 __ZNK6stringneERKS_
0x00000000c010a060 __ZNK6stringgeEPKc 0x00000000c01095ba __ZNK6string4sizeEv
0x00000000c0109950 __ZN6stringC2ERKS_PKc 0x00000000c010a178 __ZNK6stringgeEPKc
0x00000000c0109ff8 __ZNK6stringgeERKS_ 0x00000000c0109a68 __ZN6stringC2ERKS_PKc
0x00000000c01097f4 __ZN6stringmIEc 0x00000000c010a110 __ZNK6stringgeERKS_
0x00000000c01092ba __ZN6stringC1ERKS_ 0x00000000c010990c __ZN6stringmIEc
0x00000000c0109e8e __ZNK6stringltERKS_ 0x00000000c01093d2 __ZN6stringC1ERKS_
0x00000000c0109e6c __ZNK6stringneEPKc 0x00000000c0109fa6 __ZNK6stringltERKS_
0x00000000c0109ae2 __ZN6stringC1EPKcRKS_ 0x00000000c0109f84 __ZNK6stringneEPKc
0x00000000c0109d70 __ZNK6stringeqERKS_ 0x00000000c0109bfa __ZN6stringC1EPKcRKS_
0x00000000c0109f26 __ZNK6stringltEPKc 0x00000000c0109e88 __ZNK6stringeqERKS_
0x00000000c0109770 __ZN6stringpLEc 0x00000000c010a03e __ZNK6stringltEPKc
0x00000000c01094ae __ZN6stringpLERKS_ 0x00000000c0109888 __ZN6stringpLEc
0x00000000c0109420 __ZN6stringaSEPKc 0x00000000c01095c6 __ZN6stringpLERKS_
0x00000000c01091fc __ZN6stringC1Ev 0x00000000c0109538 __ZN6stringaSEPKc
*fill* 0x00000000c010a0a5 0x3 00 0x00000000c0109314 __ZN6stringC1Ev
.text 0x00000000c010a0a8 0xe5 cmos.o *fill* 0x00000000c010a1bd 0x3 00
0x00000000c010a100 __Z11cmos_gethd0v .text 0x00000000c010a1c0 0xe5 cmos.o
0x00000000c010a0a8 __Z11cmos_getfd0v 0x00000000c010a218 __Z11cmos_gethd0v
0x00000000c010a0d4 __Z11cmos_getfd1v 0x00000000c010a1c0 __Z11cmos_getfd0v
0x00000000c010a12c __Z11cmos_gethd1v 0x00000000c010a1ec __Z11cmos_getfd1v
*fill* 0x00000000c010a18d 0x3 00 0x00000000c010a244 __Z11cmos_gethd1v
.text 0x00000000c010a190 0x58 hos_defines.o *fill* 0x00000000c010a2a5 0x3 00
0x00000000c010a1bc __ZdlPv .text 0x00000000c010a2a8 0x58 hos_defines.o
0x00000000c010a1a6 __Znaj 0x00000000c010a2d4 __ZdlPv
0x00000000c010a190 __Znwj 0x00000000c010a2be __Znaj
0x00000000c010a1d2 __ZdaPv 0x00000000c010a2a8 __Znwj
.text 0x00000000c010a1e8 0x3a vfs.o 0x00000000c010a2ea __ZdaPv
0x00000000c010a1e8 __Z8vfs_initv .text 0x00000000c010a300 0x24d vfs.o
*fill* 0x00000000c010a222 0x2 00 0x00000000c010a32e __Z4listv
.text 0x00000000c010a224 0x20d devfs.o 0x00000000c010a3d0 __Z9vfs_mount6stringS_
0x00000000c010a224 __Z10devfs_init6string 0x00000000c010a300 __Z8vfs_initv
*fill* 0x00000000c010a431 0x3 00 *fill* 0x00000000c010a54d 0x3 00
.text 0x00000000c010a434 0x6e7 Device.o .text 0x00000000c010a550 0x2b7 devfs.o
0x00000000c010a72c __ZN6DeviceD2Ev 0x00000000c010a550 __Z10devfs_init6string
0x00000000c010a798 __ZN6DeviceD1Ev *fill* 0x00000000c010a807 0x1 00
0x00000000c010a4e4 __ZN6DeviceC2E6string .text 0x00000000c010a808 0x145 Mount.o
0x00000000c010a9e4 __ZN6DeviceaSERKS_ 0x00000000c010a858 __ZN5MountC2E6stringS0_
0x00000000c010a678 __ZN6DeviceC1E6stringjjjjct 0x00000000c010a8ac __ZN5MountC1E6stringS0_
0x00000000c010a804 __ZN6DeviceC2ERKS_ 0x00000000c010a900 __ZNK5MounteqERKS_
0x00000000c010a8f4 __ZN6DeviceC1ERKS_ 0x00000000c010a830 __ZN5MountC1Ev
0x00000000c010a48c __ZN6DeviceC1Ev 0x00000000c010a808 __ZN5MountC2Ev
0x00000000c010a434 __ZN6DeviceC2Ev 0x00000000c010b000 . = ALIGN (0x1000)
0x00000000c010a554 __ZN6DeviceC1E6string *fill* 0x00000000c010a94d 0x80b2310000006b3 00
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
.gnu.linkonce.t._ZN10LinkedListI6DeviceE5beginEv .gnu.linkonce.t._ZN10LinkedListI5MountEC1Ev
0x00000000c010c000 0x27 0x00000000c010b000 0x43
.gnu.linkonce.t._ZN10LinkedListI6DeviceE5beginEv .gnu.linkonce.t._ZN10LinkedListI5MountEC1Ev
0x00000000c010c000 0x27 DeviceFolder.o 0x00000000c010b000 0x43 vfs.o
0x00000000c010c000 __ZN10LinkedListI6DeviceE5beginEv 0x00000000c010b000 __ZN10LinkedListI5MountEC1Ev
.gnu.linkonce.t._ZN10LinkedListI6DeviceE3endEv .gnu.linkonce.t._ZN10LinkedListI5MountE5beginEv
0x00000000c010c028 0x28 0x00000000c010b044 0x27
.gnu.linkonce.t._ZN10LinkedListI6DeviceE3endEv .gnu.linkonce.t._ZN10LinkedListI5MountE5beginEv
0x00000000c010c028 0x28 DeviceFolder.o 0x00000000c010b044 0x27 vfs.o
0x00000000c010c028 __ZN10LinkedListI6DeviceE3endEv 0x00000000c010b044 __ZN10LinkedListI5MountE5beginEv
.gnu.linkonce.t._ZNK10LinkedListI6DeviceE8iteratorneERKS2_ .gnu.linkonce.t._ZN10LinkedListI5MountE3endEv
0x00000000c010c050 0x17 0x00000000c010b06c 0x28
.gnu.linkonce.t._ZNK10LinkedListI6DeviceE8iteratorneERKS2_ .gnu.linkonce.t._ZN10LinkedListI5MountE3endEv
0x00000000c010c050 0x17 DeviceFolder.o 0x00000000c010b06c 0x28 vfs.o
0x00000000c010c050 __ZNK10LinkedListI6DeviceE8iteratorneERKS2_ 0x00000000c010b06c __ZN10LinkedListI5MountE3endEv
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratordeEv .gnu.linkonce.t._ZNK10LinkedListI5MountE8iteratorneERKS2_
0x00000000c010c068 0xa 0x00000000c010b094 0x17
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratordeEv .gnu.linkonce.t._ZNK10LinkedListI5MountE8iteratorneERKS2_
0x00000000c010c068 0xa DeviceFolder.o 0x00000000c010b094 0x17 vfs.o
0x00000000c010c068 __ZN10LinkedListI6DeviceE8iteratordeEv 0x00000000c010b094 __ZNK10LinkedListI5MountE8iteratorneERKS2_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorppEi .gnu.linkonce.t._ZN10LinkedListI5MountE8iteratordeEv
0x00000000c010c072 0x12 0x00000000c010b0ac 0xa
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorppEi .gnu.linkonce.t._ZN10LinkedListI5MountE8iteratordeEv
0x00000000c010c072 0x12 DeviceFolder.o 0x00000000c010b0ac 0xa vfs.o
0x00000000c010c072 __ZN10LinkedListI6DeviceE8iteratorppEi 0x00000000c010b0ac __ZN10LinkedListI5MountE8iteratordeEv
.gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev .gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorppEv
0x00000000c010c084 0x43 0x00000000c010b0b6 0x12
.gnu.linkonce.t._ZN10LinkedListI6DeviceEC1Ev .gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorppEv
0x00000000c010c084 0x43 DeviceFolder.o 0x00000000c010b0b6 0x12 vfs.o
0x00000000c010c084 __ZN10LinkedListI6DeviceEC1Ev 0x00000000c010b0b6 __ZN10LinkedListI5MountE8iteratorppEv
.gnu.linkonce.t._ZN10LinkedListI6DeviceE6insertEiS0_ .gnu.linkonce.t._ZN10LinkedListI5MountE6insertEiS0_
0x00000000c010c0c8 0x101 0x00000000c010b0c8 0x101
.gnu.linkonce.t._ZN10LinkedListI6DeviceE6insertEiS0_ .gnu.linkonce.t._ZN10LinkedListI5MountE6insertEiS0_
0x00000000c010c0c8 0x101 DeviceFolder.o 0x00000000c010b0c8 0x101 vfs.o
0x00000000c010c0c8 __ZN10LinkedListI6DeviceE6insertEiS0_ 0x00000000c010b0c8 __ZN10LinkedListI5MountE6insertEiS0_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE4sizeEv .gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1Ev
0x00000000c010c1ca 0xb 0x00000000c010b1ca 0x2a
.gnu.linkonce.t._ZN10LinkedListI6DeviceE4sizeEv .gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1Ev
0x00000000c010c1ca 0xb DeviceFolder.o 0x00000000c010b1ca 0x2a vfs.o
0x00000000c010c1ca __ZN10LinkedListI6DeviceE4sizeEv 0x00000000c010b1ca __ZN10LinkedListI5MountE10LinkedNodeC1Ev
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE .gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorC1EPNS1_10LinkedNodeE
0x00000000c010c1d6 0xd 0x00000000c010b1f4 0xd
.gnu.linkonce.t._ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE .gnu.linkonce.t._ZN10LinkedListI5MountE8iteratorC1EPNS1_10LinkedNodeE
0x00000000c010c1d6 0xd DeviceFolder.o 0x00000000c010b1f4 0xd vfs.o
0x00000000c010c1d6 __ZN10LinkedListI6DeviceE8iteratorC1EPNS1_10LinkedNodeE 0x00000000c010b1f4 __ZN10LinkedListI5MountE8iteratorC1EPNS1_10LinkedNodeE
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev .gnu.linkonce.t._ZN10LinkedListI5MountE9push_backES0_
0x00000000c010c1e4 0x2a 0x00000000c010b202 0x82
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1Ev .gnu.linkonce.t._ZN10LinkedListI5MountE9push_backES0_
0x00000000c010c1e4 0x2a DeviceFolder.o 0x00000000c010b202 0x82 vfs.o
0x00000000c010c1e4 __ZN10LinkedListI6DeviceE10LinkedNodeC1Ev 0x00000000c010b202 __ZN10LinkedListI5MountE9push_backES0_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE9push_backES0_ .gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1ES0_
0x00000000c010c20e 0x82 0x00000000c010b284 0x40
.gnu.linkonce.t._ZN10LinkedListI6DeviceE9push_backES0_ .gnu.linkonce.t._ZN10LinkedListI5MountE10LinkedNodeC1ES0_
0x00000000c010c20e 0x82 DeviceFolder.o 0x00000000c010b284 0x40 vfs.o
0x00000000c010c20e __ZN10LinkedListI6DeviceE9push_backES0_ 0x00000000c010b284 __ZN10LinkedListI5MountE10LinkedNodeC1ES0_
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_ .gnu.linkonce.t._ZN5MountaSERKS_
0x00000000c010c290 0x40 0x00000000c010b2c4 0x4d
.gnu.linkonce.t._ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_ .gnu.linkonce.t._ZN5MountaSERKS_
0x00000000c010c290 0x40 DeviceFolder.o 0x00000000c010b2c4 0x4d vfs.o
0x00000000c010c290 __ZN10LinkedListI6DeviceE10LinkedNodeC1ES0_ 0x00000000c010b2c4 __ZN5MountaSERKS_
.data 0x00000000c010c2d0 0xd30 .gnu.linkonce.t._ZN5MountC1ERKS_
0x00000000c010c2d0 data = . 0x00000000c010b312 0x4a
0x00000000c010c2d0 _data = . .gnu.linkonce.t._ZN5MountC1ERKS_
0x00000000c010c2d0 __data = . 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)
.data 0x00000000c010c2d0 0x18 stdfont.o .data 0x00000000c010b388 0x18 stdfont.o
0x00000000c010c2d0 _fonts 0x00000000c010b388 _fonts
.data 0x00000000c010c2e8 0x10 video.o .data 0x00000000c010b3a0 0x10 video.o
0x00000000c010c2e8 _vid_ptr16 0x00000000c010b3a0 _vid_ptr16
0x00000000c010c2f4 _video_psetp 0x00000000c010b3ac _video_psetp
0x00000000c010c2f0 _vid_ptr32 0x00000000c010b3a8 _vid_ptr32
0x00000000c010c2ec _vid_ptr24 0x00000000c010b3a4 _vid_ptr24
.data 0x00000000c010c2f8 0x4 vmm.o .data 0x00000000c010b3b0 0x4 vmm.o
0x00000000c010c2f8 _firstHeapEntry 0x00000000c010b3b0 _firstHeapEntry
0x00000000c010d000 . = ALIGN (0x1000) 0x00000000c010c000 . = ALIGN (0x1000)
*fill* 0x00000000c010c2fc 0x812a70800000d04 00 *fill* 0x00000000c010b3b4 0x8116e3800000c4c 00
.rodata 0x00000000c010d000 0x2000 .rodata 0x00000000c010c000 0x2000
0x00000000c010d000 rodata = . 0x00000000c010c000 rodata = .
0x00000000c010d000 _rodata = . 0x00000000c010c000 _rodata = .
0x00000000c010d000 __rodata = . 0x00000000c010c000 __rodata = .
*(.rodata) *(.rodata)
.rodata 0x00000000c010d000 0x141 kernel.o .rodata 0x00000000c010c000 0x141 kernel.o
*fill* 0x00000000c010d141 0x1f 00 *fill* 0x00000000c010c141 0x1f 00
.rodata 0x00000000c010d160 0x141 keyboard.o .rodata 0x00000000c010c160 0x141 keyboard.o
*fill* 0x00000000c010d2a1 0x3 00 *fill* 0x00000000c010c2a1 0x3 00
.rodata 0x00000000c010d2a4 0x1e4 kio.o .rodata 0x00000000c010c2a4 0x1e4 kio.o
*fill* 0x00000000c010d488 0x18 00 *fill* 0x00000000c010c488 0x18 00
.rodata 0x00000000c010d4a0 0x1200 stdfont.o .rodata 0x00000000c010c4a0 0x1200 stdfont.o
.rodata 0x00000000c010e6a0 0x5 vfs.o .rodata 0x00000000c010d6a0 0x7 vfs.o
*fill* 0x00000000c010e6a5 0x1b 00 .rodata 0x00000000c010d6a7 0x6d devfs.o
.rodata 0x00000000c010e6c0 0xad devfs.o 0x00000000c010e000 . = ALIGN (0x1000)
.rodata 0x00000000c010e76d 0x33 DeviceFolder.o *fill* 0x00000000c010d714 0x8116e9c000008ec 00
0x00000000c010f000 . = ALIGN (0x1000)
*fill* 0x00000000c010e7a0 0x812a77c00000860 00
.bss 0x00000000c010f000 0x22000 .bss 0x00000000c010e000 0x22000
0x00000000c010f000 bss = . 0x00000000c010e000 bss = .
0x00000000c010f000 _bss = . 0x00000000c010e000 _bss = .
0x00000000c010f000 __bss = . 0x00000000c010e000 __bss = .
*(.bss) *(.bss)
.bss 0x00000000c010f000 0x4 kernel.o .bss 0x00000000c010e000 0x4 kernel.o
0x00000000c010f000 _timer 0x00000000c010e000 _timer
*fill* 0x00000000c010f004 0x4 00 *fill* 0x00000000c010e004 0x4 00
*fill* 0x00000000c010f008 0x18 00 *fill* 0x00000000c010e008 0x18 00
.bss 0x00000000c010f020 0x12b keyboard.o .bss 0x00000000c010e020 0x12b keyboard.o
0x00000000c010f040 _kbdBuffer 0x00000000c010e040 _kbdBuffer
0x00000000c010f148 _kbdExt 0x00000000c010e148 _kbdExt
0x00000000c010f021 _kbdAscii 0x00000000c010e021 _kbdAscii
0x00000000c010f149 _kbdExt2 0x00000000c010e149 _kbdExt2
0x00000000c010f14a _ackReason 0x00000000c010e14a _ackReason
0x00000000c010f140 _kbdBufferStart 0x00000000c010e140 _kbdBufferStart
0x00000000c010f022 _kbdScan 0x00000000c010e022 _kbdScan
0x00000000c010f144 _kbdBufferLen 0x00000000c010e144 _kbdBufferLen
0x00000000c010f020 _kbdFlags 0x00000000c010e020 _kbdFlags
*fill* 0x00000000c010f14b 0x15 00 *fill* 0x00000000c010e14b 0x15 00
.bss 0x00000000c010f160 0xfc0 kio.o .bss 0x00000000c010e160 0xfc0 kio.o
0x00000000c010f180 _console_memory 0x00000000c010e180 _console_memory
0x00000000c010f160 _graphical 0x00000000c010e160 _graphical
0x00000000c010f164 _cursorPosition 0x00000000c010e164 _cursorPosition
.bss 0x00000000c0110120 0x20020 mm.o .bss 0x00000000c010f120 0x20020 mm.o
0x00000000c0110124 _mm_megabytes 0x00000000c010f124 _mm_megabytes
0x00000000c0110140 _page_bitmap 0x00000000c010f140 _page_bitmap
0x00000000c0110120 _mm_totalmem 0x00000000c010f120 _mm_totalmem
.bss 0x00000000c0130140 0x1c mouse.o .bss 0x00000000c012f140 0x1c mouse.o
0x00000000c0130144 _mouse_y 0x00000000c012f144 _mouse_y
0x00000000c0130148 _mouse_bytesRead 0x00000000c012f148 _mouse_bytesRead
0x00000000c0130140 _mouse_x 0x00000000c012f140 _mouse_x
0x00000000c013014c _mouse_inbuffer 0x00000000c012f14c _mouse_inbuffer
*fill* 0x00000000c013015c 0x4 00 *fill* 0x00000000c012f15c 0x4 00
.bss 0x00000000c0130160 0x104 video.o .bss 0x00000000c012f160 0x104 video.o
0x00000000c0130160 _video_mode 0x00000000c012f160 _video_mode
0x00000000c0130260 _videoMode 0x00000000c012f260 _videoMode
.bss 0x00000000c0130264 0x4 devfs.o .bss 0x00000000c012f264 0x4 vfs.o
0x00000000c0130264 _dev 0x00000000c012f264 _mounts
0x00000000c0131000 . = ALIGN (0x1000) 0x00000000c0130000 . = ALIGN (0x1000)
*fill* 0x00000000c0130268 0x812a8e000000d98 00 *fill* 0x00000000c012f268 0x8116ff000000d98 00
0x00000000c0131000 end = . 0x00000000c0130000 end = .
0x00000000c0131000 _end = . 0x00000000c0130000 _end = .
0x00000000c0131000 __end = . 0x00000000c0130000 __end = .
LOAD ks.o LOAD ks.o
LOAD kernel.o LOAD kernel.o
LOAD asmfuncs.o LOAD asmfuncs.o
@ -398,14 +394,13 @@ LOAD cmos.o
LOAD hos_defines.o LOAD hos_defines.o
LOAD vfs.o LOAD vfs.o
LOAD devfs.o LOAD devfs.o
LOAD Device.o LOAD Mount.o
LOAD DeviceFolder.o
OUTPUT(kernel.bin binary) OUTPUT(kernel.bin binary)
.note.GNU-stack .note.GNU-stack
0x0000000000000000 0x0 0x0000000000000000 0x0
.comment 0x0000000000000000 0x3fc .comment 0x0000000000000000 0x3c9
.comment 0x0000000000000000 0x33 kernel.o .comment 0x0000000000000000 0x33 kernel.o
.comment 0x0000000000000033 0x33 fdc.o .comment 0x0000000000000033 0x33 fdc.o
.comment 0x0000000000000066 0x33 keyboard.o .comment 0x0000000000000066 0x33 keyboard.o
@ -424,5 +419,4 @@ OUTPUT(kernel.bin binary)
.comment 0x00000000000002fd 0x33 hos_defines.o .comment 0x00000000000002fd 0x33 hos_defines.o
.comment 0x0000000000000330 0x33 vfs.o .comment 0x0000000000000330 0x33 vfs.o
.comment 0x0000000000000363 0x33 devfs.o .comment 0x0000000000000363 0x33 devfs.o
.comment 0x0000000000000396 0x33 Device.o .comment 0x0000000000000396 0x33 Mount.o
.comment 0x00000000000003c9 0x33 DeviceFolder.o

View File

@ -14,9 +14,10 @@ Goals: (A = accomplished, P = in progress, T = todo)
(P) VFS abstraction layer for a single file system (P) VFS abstraction layer for a single file system
(P) ram disk driver (P) ram disk driver
(P) vfat file system support (P) devfs file system driver
(T) devfs file system driver (T) ext2 file system support
(T) vfat file system support
(T) Multitasking support (T) Multitasking support
(T) Console Manager (T) Console Manager
(T) HASH command shell (T) HASH command shell
@ -24,7 +25,6 @@ Goals: (A = accomplished, P = in progress, T = todo)
(T) Various other utilities/applications (T) Various other utilities/applications
(T) Hard Drive (ATA) driver (T) Hard Drive (ATA) driver
(T) cdrom (ATAPI) driver (T) cdrom (ATAPI) driver
(T) ext2/3 file system support
Change Log Change Log