diff --git a/src/sys/Makefile.inc b/src/sys/Makefile.inc index ec53ce7..3f2deb2 100644 --- a/src/sys/Makefile.inc +++ b/src/sys/Makefile.inc @@ -2,5 +2,5 @@ # global 'sys' options INCLUDES = -I../include -CFLAGS = -fno-builtin -nostdlib -nostdinc -fno-rtti -fno-exceptions +CFLAGS = -fno-builtin -nostdlib -nostdinc -fno-rtti -fno-exceptions -fomit-frame-pointer KERNEL = ubix.elf diff --git a/src/sys/include/ubixfs/ubixfs.h b/src/sys/include/ubixfs/ubixfs.h index f3c8061..7ab5c39 100644 --- a/src/sys/include/ubixfs/ubixfs.h +++ b/src/sys/include/ubixfs/ubixfs.h @@ -1,41 +1,35 @@ -/***************************************************************************************** - Copyright (c) 2002-2004 The UbixOS Project +/************************************************************************************** + Copyright (c) 2002 The UbixOS Project All rights reserved. - Redistribution and use in source and binary forms, with or without modification, are - permitted provided that the following conditions are met: +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of - conditions, the following disclaimer and the list of authors. Redistributions in binary - form must reproduce the above copyright notice, this list of conditions, the following - disclaimer and the list of authors in the documentation and/or other materials provided - with the distribution. Neither the name of the UbixOS Project nor the names of its - contributors may be used to endorse or promote products derived from this software - without specific prior written permission. +Redistributions of source code must retain the above copyright notice, this list of conditions, the following disclaimer and the list of authors. +Redistributions in binary form must reproduce the above copyright notice, this list of conditions, the following disclaimer and the list of authors +in the documentation and/or other materials provided with the distribution. Neither the name of the UbixOS Project nor the names of its +contributors may be used to endorse or promote products derived from this software without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT - OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Id$ -*****************************************************************************************/ +**************************************************************************************/ #ifndef _UBIXFS_H #define _UBIXFS_H #include -#include #include +#include #define UBIXDISKMAGIC ((uInt32)0x45) /* The disk magic number */ -#define MAXPARTITIONS 4 +#define MAXUBIXPARTITIONS 16 #define blockSize 8 #define blockByteSize blockSize*512 @@ -47,51 +41,65 @@ #define typeDirectory 4 #define typeDeleted 8 -/// Partition Information +/* Start */ +struct directoryList { + char dirName[256]; + char *dirCache; + uInt32 dirBlock; + struct directoryList *next; + struct directoryList *prev; + }; + +typedef struct directoryList * dirList_t; + +dirList_t ubixFSLoadDir(char *); +/* End */ + +//Partition Information struct ubixDiskLabel { uInt32 magicNum; uInt32 magicNum2; uInt16 driveType; uInt16 numPartitions; - struct drivePartitions { /// the partition table - uInt32 pSize; /// number of sectors in partition - uInt32 pOffset; /// starting sector - uInt32 pFsSize; /// filesystem basic fragment size - uInt32 pBatSize; /// BAT size - uInt8 pFsType; /// filesystem type, see below - uInt8 pFrag; /// filesystem fragments per block - } partitions[MAXPARTITIONS]; + struct ubixPartitions { //the partition table + uInt32 pSize; //number of sectors in partition + uInt32 pOffset; //starting sector + uInt32 pFsSize; //filesystem basic fragment size + uInt32 pBatSize; //BAT size + uInt8 pFsType; //filesystem type, see below + uInt8 pFrag; //filesystem fragments per block + } partitions[MAXUBIXPARTITIONS]; }; + struct partitionInformation { - uInt32 size; /// Size In Sectors - uInt32 startSector; /// Base Sector Of Partition - uInt32 blockAllocationTable; /// Base Sector Of BAT - uInt32 rootDirectory; /// Base Sector Of Root Directory + uInt32 size; //Size In Sectors + uInt32 startSector; //Base Sector Of Partition + uInt32 blockAllocationTable; //Base Sector Of BAT + uInt32 rootDirectory; //Base Sector Of Root Directory }; -/// Block Allocation Table Entry +//Block Allocation Table Entry struct blockAllocationTableEntry { - long attributes; /// Block Attributes - long realSector; /// Real Sector - long nextBlock; /// Sector Of Next Block - long reserved; /// Reserved + long attributes; //Block Attributes + long realSector; //Real Sector + long nextBlock; //Sector Of Next Block + long reserved; //Reserved }; -/// UbixFS Directory Entry +//UbixFS Directory Entry struct directoryEntry { - uInt32 startCluster; /// Starting Cluster Of File - uInt32 size; /// Size Of File - uInt32 creationDate; /// Date Created - uInt32 lastModified; /// Date Last Modified - uInt32 uid; /// UID Of Owner - uInt32 gid; /// GID Of Owner - uInt16 attributes; /// Files Attributes - uInt16 permissions; /// Files Permissions - char fileName[256]; /// File Name -}; + uInt32 startCluster; //Starting Cluster Of File + uInt32 size; //Size Of File + uInt32 creationDate; //Date Created + uInt32 lastModified; //Date Last Modified + uInt32 uid; //UID Of Owner + uInt32 gid; //GID Of Owner + uInt16 attributes; //Files Attributes + uInt16 permissions; //Files Permissions + char fileName[256]; //File Name + }; -/// Bootsector structure struct bootSect { uInt8 jmp[4]; uInt8 id[6]; @@ -107,17 +115,13 @@ uInt8 code[479]; }; -struct ubixFsInfo { +struct ubixFSInfo { struct blockAllocationTableEntry *blockAllocationTable; uInt32 batEntries; + uInt32 rootDir; }; -/** Registers UbixFS functions with the virtual file-system (using vfsRegisterFS). Returns 1 if a failure - happened, and 0 if success. */ int readFile(char *file); - -/** Sets up the Ubix filesystem with appropriate data. If the medium is a hard-drive (or any medium?), it looks - in the partition table. */ int writeFileByte(int ch,fileDescriptor *fd,long offset); int openFileUbixFS(char *file,fileDescriptor *fd); int mkDirUbixFS(char *dir,fileDescriptor *fd); @@ -135,9 +139,3 @@ void ubixFSUnlink(char *path,struct mountPoints *mp); #endif - -/*** - $Log$ - - END - ***/ diff --git a/src/sys/init/main.c b/src/sys/init/main.c index 500b0fb..c6bf915 100644 --- a/src/sys/init/main.c +++ b/src/sys/init/main.c @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -125,6 +126,7 @@ if (keyboardInit() != 0x0) { kpanic("Error: Initializing Keyboard\n"); } + //mouseInit(); /* Initialize PCI Sub System */ /* @@ -226,6 +228,9 @@ /*** $Log$ + Revision 1.30 2004/05/25 18:38:55 reddawg + Removed sample code + Revision 1.29 2004/05/25 15:50:43 reddawg mpiSpam() test diff --git a/src/sys/isa/Makefile b/src/sys/isa/Makefile index d15c5da..75c32c8 100644 --- a/src/sys/isa/Makefile +++ b/src/sys/isa/Makefile @@ -6,7 +6,7 @@ include ../Makefile.inc # Objects -OBJS = ne2k.o atkbd.o fdc.o 8259.o pit.o +OBJS = mouse.o ne2k.o atkbd.o fdc.o 8259.o pit.o all: $(OBJS) diff --git a/src/sys/isa/atkbd.c b/src/sys/isa/atkbd.c index 92b90fa..640b50b 100644 --- a/src/sys/isa/atkbd.c +++ b/src/sys/isa/atkbd.c @@ -325,8 +325,10 @@ /* Turn on the keyboard vector */ outportByte(mPic, eoi); + outportByte(sPic, eoi); irqEnable(0x1); outportByte(mPic, eoi); + outportByte(sPic, eoi); /* Print out information on keyboard */ kprintf("atkbd0 - Address: [0x%X]\n",&keyboardISR); @@ -425,6 +427,7 @@ } } outportByte(mPic, eoi); + outportByte(sPic, eoi); /* Return */ return; } @@ -457,6 +460,9 @@ /*** $Log$ + Revision 1.3 2004/05/19 04:07:42 reddawg + kmalloc(size,pid) no more it is no kmalloc(size); the way it should of been + Revision 1.2 2004/05/10 02:23:24 reddawg Minor Changes To Source Code To Prepare It For Open Source Release diff --git a/src/sys/isa/fdc.c b/src/sys/isa/fdc.c index 1e62e37..d23fa07 100644 --- a/src/sys/isa/fdc.c +++ b/src/sys/isa/fdc.c @@ -93,6 +93,7 @@ void floppyIsrhndlr() { done = TRUE; outportByte(0x20,0x20); + outportByte(0xA0,0x20); } void sendByte(int Int8) { @@ -306,6 +307,9 @@ /*** $Log$ + Revision 1.11 2004/05/20 22:51:09 reddawg + Cleaned Up Warnings + Revision 1.10 2004/05/19 23:36:52 reddawg Bug Fixes diff --git a/src/sys/isa/ne2k.c b/src/sys/isa/ne2k.c index 3c7f54a..c3f77d6 100644 --- a/src/sys/isa/ne2k.c +++ b/src/sys/isa/ne2k.c @@ -65,12 +65,14 @@ int ne2kInit(uInt32 ioAddr) { struct device *dev = (struct device *)kmalloc(sizeof(struct device)); dev->ioAddr = 0x280; - dev->irq = 3; + dev->irq = 10; - setVector(&ne2kISR, mVec+3, dPresent + dInt + dDpl3); + setVector(&ne2kISR, mVec+10, dPresent + dInt + dDpl3); outportByte(mPic, eoi); - irqEnable(3); + outportByte(sPic, eoi); + irqEnable(10); outportByte(mPic, eoi); + outportByte(sPic, eoi); // kprintf("ne0 - irq: %i, ioAddr: 0x%X MAC: %X:%X:%X:%X:%X:%X\n",dev->irq,dev->ioAddr,dev->net->mac[0] & 0xFF,dev->net->mac[1] & 0xFF,dev->net->mac[2] & 0xFF,dev->net->mac[3] & 0xFF,dev->net->mac[4] & 0xFF,dev->net->mac[5] & 0xFF); outportByte(dev->ioAddr + NE_CMD, 0x21); //stop mode @@ -193,7 +195,7 @@ uInt16 status = 0x0; struct device *dev = (struct device *)kmalloc(sizeof(struct device)); dev->ioAddr = 0x280; - dev->irq = 4; + dev->irq = 10; isr = inportByte(dev->ioAddr + NE_ISR); if ((isr & 0x02) == 0x02) { outportByte(dev->ioAddr + NE_ISR, 0x0A); @@ -214,6 +216,7 @@ */ outportByte(dev->ioAddr + NE_IMR,0x0); outportByte(mPic, eoi); + outportByte(sPic, eoi); outportByte(dev->ioAddr + NE_IMR,0x0B); kfree(dev); return; @@ -346,6 +349,9 @@ /*** $Log$ + Revision 1.12 2004/05/21 12:48:22 reddawg + Cleaned up + Revision 1.11 2004/05/19 04:07:42 reddawg kmalloc(size,pid) no more it is no kmalloc(size); the way it should of been diff --git a/src/sys/net/netif/ethernetif.c b/src/sys/net/netif/ethernetif.c index f3c343f..91b6fa1 100644 --- a/src/sys/net/netif/ethernetif.c +++ b/src/sys/net/netif/ethernetif.c @@ -83,7 +83,7 @@ ethernetif = netif->state; dev = (struct device *)kmalloc(sizeof(struct device)); dev->ioAddr = 0x280; - dev->irq = 3; + dev->irq = 10; /* Obtain MAC address from network interface. */ ethernetif->ethaddr->addr[0] = 0x00; diff --git a/src/sys/sys/idt.c b/src/sys/sys/idt.c index 483ee20..d7bfff4 100644 --- a/src/sys/sys/idt.c +++ b/src/sys/sys/idt.c @@ -398,6 +398,8 @@ " mov $0x20,%dx \n" " mov $0x20,%ax \n" " outb %al,%dx \n" + " mov $0xA0,%dx \n" + " outb %al,%dx \n" " movl 4(%ecx),%eax \n" " movl $1000,%ebx \n" " xor %edx,%edx \n" @@ -463,6 +465,9 @@ /*** $Log$ + Revision 1.8 2004/05/21 16:04:32 reddawg + Typo i hate working in windows then test compiling later + Revision 1.7 2004/05/21 16:02:49 reddawg We now end faulted tasks instead of holding them diff --git a/src/sys/ubixfs/block.c b/src/sys/ubixfs/block.c index a72e495..14e474b 100644 --- a/src/sys/ubixfs/block.c +++ b/src/sys/ubixfs/block.c @@ -24,6 +24,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Log$ + Revision 1.3 2004/05/19 15:20:06 reddawg + Fixed reference problems due to changes in drive subsystem + Revision 1.2 2004/04/28 02:22:55 reddawg This is a fiarly large commit but we are starting to use new driver model all around @@ -43,18 +46,17 @@ #include #include #include -#include void syncBat(struct mountPoints *mp) { - struct ubixFsInfo *fsInfo = mp->fsInfo; + struct ubixFSInfo *fsInfo = mp->fsInfo; mp->device->devInfo->write(mp->device->devInfo->info,fsInfo->blockAllocationTable,mp->diskLabel->partitions[mp->partition].pOffset,mp->diskLabel->partitions[mp->partition].pBatSize); } int freeBlocks(int block,fileDescriptor *fd) { int i = block; - struct ubixFsInfo *fsInfo = fd->mp->fsInfo; + struct ubixFSInfo *fsInfo = fd->mp->fsInfo; while (i != 0x0) { block = fsInfo->blockAllocationTable[i].nextBlock; @@ -71,7 +73,7 @@ int getFreeBlocks(int count,fileDescriptor *fd) { int i = 0x0,x = 0x0; - struct ubixFsInfo *fsInfo = fd->mp->fsInfo; + struct ubixFSInfo *fsInfo = fd->mp->fsInfo; getBlocks: for (i=1;i < fsInfo->batEntries;i++) { diff --git a/src/sys/ubixfs/directory.c b/src/sys/ubixfs/directory.c index 55ff8e7..0e256c5 100644 --- a/src/sys/ubixfs/directory.c +++ b/src/sys/ubixfs/directory.c @@ -24,6 +24,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. $Log$ + Revision 1.4 2004/05/19 15:20:06 reddawg + Fixed reference problems due to changes in drive subsystem + Revision 1.3 2004/05/19 04:07:43 reddawg kmalloc(size,pid) no more it is no kmalloc(size); the way it should of been @@ -49,7 +52,33 @@ #include #include #include -#include +#include + +static dirList_t dirList = 0x0; + +dirList_t ubixFSLoadDir(char *data) { + dirList_t tmpDir = 0x0; + + tmpDir = (dirList_t)kmalloc(sizeof(struct directoryList)); + + sprintf(tmpDir->dirName,"%s",data); + + if (0x0 == dirList) { + dirList = tmpDir; + } + else { + tmpDir->next = dirList; + tmpDir->prev = 0x0; + dirList->prev = tmpDir; + dirList = tmpDir; + } + + if (!kstrcmp(":",data)) { + tmpDir->dirCache = (char *)kmalloc(0x4000); + } + + return(tmpDir); + } int addDirEntry(struct directoryEntry *dir,fileDescriptor *fd) { int i = 0x0; @@ -83,7 +112,7 @@ struct directoryEntry *dir = 0x0; struct directoryEntry *entry = 0x0; - struct ubixFsInfo *fsInfo = fd->mp->fsInfo; + struct ubixFSInfo *fsInfo = fd->mp->fsInfo; block = getFreeBlocks(1,fd); if (block != 0x0) { diff --git a/src/sys/ubixfs/ubixfs.c b/src/sys/ubixfs/ubixfs.c index 17ca4ff..9873fea 100644 --- a/src/sys/ubixfs/ubixfs.c +++ b/src/sys/ubixfs/ubixfs.c @@ -23,35 +23,6 @@ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - $Log$ - Revision 1.7 2004/05/19 15:20:06 reddawg - Fixed reference problems due to changes in drive subsystem - - Revision 1.6 2004/05/19 04:07:43 reddawg - kmalloc(size,pid) no more it is no kmalloc(size); the way it should of been - - Revision 1.5 2004/04/29 15:45:19 reddawg - Fixed some bugs so now the automade images will work correctly - - Revision 1.4 2004/04/28 21:10:40 reddawg - Lots Of changes to make it work with existing os - - Revision 1.3 2004/04/28 13:33:09 reddawg - Overhaul to ubixfs and boot loader and MBR to work well with our schema - now BAT and dir and file entries are all offset 64Sectors from the start of the partition - - Revision 1.2 2004/04/28 02:22:55 reddawg - This is a fiarly large commit but we are starting to use new driver model - all around - - Revision 1.1.1.1 2004/04/15 12:07:08 reddawg - UbixOS v1.0 - - Revision 1.31 2004/04/13 16:36:34 reddawg - Changed our copyright, it is all now under a BSD-Style license - - - $Id$ *****************************************************************************************/ @@ -82,9 +53,10 @@ } void initUbixFS(struct mountPoints *mp) { - struct ubixFsInfo *fsInfo = 0x0; - mp->fsInfo = (struct ubixFsInfo *)kmalloc(sizeof(struct ubixFsInfo)); + struct ubixFSInfo *fsInfo = 0x0; + mp->fsInfo = (struct ubixFSInfo *)kmalloc(sizeof(struct ubixFSInfo)); fsInfo = mp->fsInfo; + fsInfo->rootDir = 0x0; //mp->diskLabel->partitions[mp->partition].pOffset -= 63; if ((mp->diskLabel->magicNum == UBIXDISKMAGIC) && (mp->diskLabel->magicNum2 == UBIXDISKMAGIC)) { fsInfo->blockAllocationTable = (struct blockAllocationTableEntry *)kmalloc(mp->diskLabel->partitions[mp->partition].pBatSize*512); @@ -107,8 +79,8 @@ int openFileUbixFS(char *file,fileDescriptor *fd) { int x=0; struct directoryEntry *dirEntry = (struct directoryEntry *)kmalloc(0x4000); - struct ubixFsInfo *fsInfo = fd->mp->fsInfo; - fd->mp->device->devInfo->read(fd->mp->device->devInfo->info,dirEntry,(fd->mp->diskLabel->partitions[fd->mp->partition].pOffset+fsInfo->blockAllocationTable[0].realSector),(0x4000/512)); + struct ubixFSInfo *fsInfo = fd->mp->fsInfo; + fd->mp->device->devInfo->read(fd->mp->device->devInfo->info,dirEntry,(fd->mp->diskLabel->partitions[fd->mp->partition].pOffset+fsInfo->blockAllocationTable[fsInfo->rootDir].realSector),(0x4000/512)); if ((fd->mode & fileRead) == fileRead) { for (x=0;x<(0x4000/sizeof(struct directoryEntry));x++) { if ((int)!kstrcmp(dirEntry[x].fileName,file)) { @@ -140,7 +112,7 @@ fd->size = 0x0; fd->start = dirEntry[x].startCluster; fd->dirBlock = 0x0; - fd->mp->device->devInfo->write(fd->mp->device->devInfo->info,dirEntry,(fd->mp->diskLabel->partitions[fd->mp->partition].pOffset+fsInfo->blockAllocationTable[0].realSector),8); + fd->mp->device->devInfo->write(fd->mp->device->devInfo->info,dirEntry,(fd->mp->diskLabel->partitions[fd->mp->partition].pOffset+fsInfo->blockAllocationTable[fsInfo->rootDir].realSector),8); kfree(dirEntry); return(0x1); } @@ -154,7 +126,7 @@ int blockCount = 0x0,batIndex = 0x0,batIndexPrev = fd->start,i = 0x0; struct directoryEntry *dirEntry = 0x0; - struct ubixFsInfo *fsInfo = fd->mp->fsInfo; + struct ubixFSInfo *fsInfo = fd->mp->fsInfo; /* Find Out How Many Blocks Long This File Is */ blockCount = (offset/4096); @@ -222,7 +194,7 @@ int readUbixFS(fileDescriptor *fd,char *data,long offset,long size) { int blockCount = 0x0,batIndex = fd->start; long i = 0x0; - struct ubixFsInfo *fsInfo = fd->mp->fsInfo; + struct ubixFSInfo *fsInfo = fd->mp->fsInfo; blockCount = ((offset)/4096); /* Find The Starting Block */ for (i=1;i<=blockCount;i++) { @@ -268,7 +240,7 @@ uInt32 blockIndex = fd->start; uInt32 blockIndexPrev = fd->start; uInt32 i = 0x0; - struct ubixFsInfo *fsInfo = fd->mp->fsInfo; + struct ubixFSInfo *fsInfo = fd->mp->fsInfo; struct directoryEntry *dirEntry = 0x0; blockOffset = (offset/0x1000); @@ -331,15 +303,15 @@ void ubixFSUnlink(char *path,struct mountPoints *mp) { int x=0; struct directoryEntry *dirEntry = (struct directoryEntry *)kmalloc(0x1000); - struct ubixFsInfo *fsInfo = mp->fsInfo; + struct ubixFSInfo *fsInfo = mp->fsInfo; - mp->device->devInfo->read(mp->device->devInfo->info,dirEntry,(mp->diskLabel->partitions[mp->partition].pOffset+fsInfo->blockAllocationTable[0].realSector),8); + mp->device->devInfo->read(mp->device->devInfo->info,dirEntry,(mp->diskLabel->partitions[mp->partition].pOffset+fsInfo->blockAllocationTable[fsInfo->rootDir].realSector),8); for (x=0;x<(4096/sizeof(struct directoryEntry));x++) { if ((int)!kstrcmp(dirEntry[x].fileName,path)) { dirEntry[x].attributes |= typeDeleted; dirEntry[x].fileName[0] = '?'; - mp->device->devInfo->write(mp->device->devInfo->info,dirEntry,(mp->diskLabel->partitions[mp->partition].pOffset+fsInfo->blockAllocationTable[0].realSector),8); + mp->device->devInfo->write(mp->device->devInfo->info,dirEntry,(mp->diskLabel->partitions[mp->partition].pOffset+fsInfo->blockAllocationTable[fsInfo->rootDir].realSector),8); return; } } @@ -348,6 +320,36 @@ } /*** + $Log$ + Revision 1.8 2004/06/01 00:04:53 reddawg + Try now mark + + Revision 1.7 2004/05/19 15:20:06 reddawg + Fixed reference problems due to changes in drive subsystem + + Revision 1.6 2004/05/19 04:07:43 reddawg + kmalloc(size,pid) no more it is no kmalloc(size); the way it should of been + + Revision 1.5 2004/04/29 15:45:19 reddawg + Fixed some bugs so now the automade images will work correctly + + Revision 1.4 2004/04/28 21:10:40 reddawg + Lots Of changes to make it work with existing os + + Revision 1.3 2004/04/28 13:33:09 reddawg + Overhaul to ubixfs and boot loader and MBR to work well with our schema + now BAT and dir and file entries are all offset 64Sectors from the start of the partition + + Revision 1.2 2004/04/28 02:22:55 reddawg + This is a fiarly large commit but we are starting to use new driver model + all around + + Revision 1.1.1.1 2004/04/15 12:07:08 reddawg + UbixOS v1.0 + + Revision 1.31 2004/04/13 16:36:34 reddawg + Changed our copyright, it is all now under a BSD-Style license + END ***/