Don't ask me how, but it's booting again
authorJohn Hodge <[email protected]>
Fri, 22 Oct 2010 06:13:56 +0000 (14:13 +0800)
committerJohn Hodge <[email protected]>
Fri, 22 Oct 2010 06:13:56 +0000 (14:13 +0800)
Kernel/syscalls.c
Kernel/vfs/open.c
Modules/Filesystems/FAT/fat.c
Usermode/Libraries/ld-acess.so_src/elf.c

index d286d21..14950dd 100644 (file)
@@ -248,6 +248,8 @@ void SyscallHandler(tSyscallRegs *Regs)
        
        // Read Directory
        case SYS_READDIR:
+               // TODO: What if the filename is longer?
+               // Maybe force it to be a 256 byte buffer
                if( !Syscall_Valid(8, Regs->Arg2) ) {
                        err = -EINVAL;
                        ret = -1;
index 32d6e4d..bd43a5f 100644 (file)
@@ -2,7 +2,7 @@
  * Acess2 VFS
  * - Open, Close and ChDir
  */
-#define DEBUG  1
+#define DEBUG  0
 #include <acess.h>
 #include <mm_virt.h>
 #include "vfs.h"
index a63bac0..7eab093 100644 (file)
@@ -17,7 +17,7 @@
  * \todo Implement changing of the parent directory when a file is written to\r
  * \todo Implement file creation / deletion\r
  */\r
-#define DEBUG  1\r
+#define DEBUG  0\r
 #define VERBOSE        1\r
 \r
 #define CACHE_FAT      0       //!< Caches the FAT in memory\r
@@ -941,7 +941,7 @@ tVFS_Node *FAT_int_CreateNode(tVFS_Node *Parent, fat_filetable *Entry, int Pos)
        tFAT_VolInfo    *disk = Parent->ImplPtr;\r
        \r
        ENTER("pParent pFT", Parent, Entry);\r
-       LOG("disk = %p\n", disk);\r
+       LOG("disk = %p", disk);\r
        \r
        memset(&node, 0, sizeof(tVFS_Node));\r
        \r
index b399f49..e1fcd2d 100644 (file)
@@ -51,6 +51,9 @@ int ElfRelocate(void *Base, char **envp, char *Filename)
        \r
        DEBUGS("ElfRelocate: (Base=0x%x)\n", Base);\r
        \r
+       // Check magic header\r
+       \r
+       \r
        // Parse Program Header to get Dynamic Table\r
        phtab = Base + hdr->phoff;\r
        iSegmentCount = hdr->phentcount;\r
@@ -119,7 +122,7 @@ int ElfRelocate(void *Base, char **envp, char *Filename)
        }
 \r
        if(dynsymtab == NULL) {\r
-               SysDebug("WARNING: No Dynamic Symbol table, returning\n");\r
+               SysDebug("ld-acess.so - WARNING: No Dynamic Symbol table, returning\n");\r
                return hdr->entrypoint;\r
        }\r
        \r

UCC git Repository :: git.ucc.asn.au