diff --git a/.cproject b/.cproject index 6fd8994..d44b66f 100644 --- a/.cproject +++ b/.cproject @@ -22,12 +22,16 @@ + + diff --git a/.settings/org.eclipse.cdt.core.prefs b/.settings/org.eclipse.cdt.core.prefs index e076711..797f7ab 100644 --- a/.settings/org.eclipse.cdt.core.prefs +++ b/.settings/org.eclipse.cdt.core.prefs @@ -1,5 +1,11 @@ -#Fri Feb 13 21:19:22 EST 2009 +#Fri Feb 13 21:45:41 EST 2009 eclipse.preferences.version=1 +indexer/filesToParseUpFront=stdarg.h, stddef.h, sys/types.h +indexer/indexAllFiles=true +indexer/indexerId=org.eclipse.cdt.core.domsourceindexer +indexer/skipMacroReferences=false +indexer/skipReferences=false +indexer/skipTypeReferences=false org.eclipse.cdt.core.formatter.alignment_for_arguments_in_method_invocation=16 org.eclipse.cdt.core.formatter.alignment_for_base_clause_in_type_declaration=80 org.eclipse.cdt.core.formatter.alignment_for_compact_if=0 diff --git a/init/main.c b/init/main.c index 95b40f0..9ca879b 100644 --- a/init/main.c +++ b/init/main.c @@ -62,7 +62,7 @@ Desc: The Kernels Descriptor table: 0x00 - Dummy Entry 0x08 - Ring 0 CS - 0x10 - Ring 0 DS + 0x10 - Ring 0 DS 0x18 - Dummy LDT 0x20 - Scheduler TSS 0x28 - Ring 3 CS @@ -70,7 +70,7 @@ 0x38 - GPF TSS 0x40 - Stack Fault TSS - Notes: + Notes: *****************************************************************************************/ ubixDescriptorTable(ubixGDT,9) { @@ -90,20 +90,20 @@ } loadGDT = { (9 * sizeof(union descriptorTableUnion) - 1), ubixGDT }; /** - * \brief This is the entry point into the os where all of the kernels sub systems are started up. + * \brief This is the entry point into the OS where all of the kernels sub systems are started up. * * \param rootdev address of root device structure */ -int kmain(uInt32 rootdev) { +int kmain(u_intu_int32_t rootdev) { /* Set up counter for startup routine */ - int i = 0x0; - uInt32 *sysTask = 0x0; + int i = 0x0; + u_int32_t *sysTask = 0x0; /* We preform a clearScreen to make the TEXT buffer nice and empty */ screenClear(); /* Modify src/sys/include/ubixos/init.h to add a startup routine */ - for (i=0x0;ifreePages); + kprintf("Free Pages: [%i]\n",systemVitals->freePages); kprintf("MemoryMap: [0x%X]\n",vmmMemoryMap); kprintf("Starting UbixOS\n"); - + sysTask = kmalloc(0x2000); if(sysTask == NULL) kprintf("OS: Unable to allocate memory\n"); @@ -143,17 +143,17 @@ execThread(systemTask, (uInt32)sysTask+0x2000,0x0); execFile("sys:/bin/init",0x0,0x0,0x0); /* OS Initializer */ -// execFile("sys:/bin/login",0x0,0x0,0x1); -// execFile("sys:/bin/login",0x0,0x0,0x2); - + //execFile("sys:/bin/login",0x0,0x0,0x1); + //execFile("sys:/bin/login",0x0,0x0,0x2); + irqEnable(0x0); - + while (0x1) asm("hlt"); /* Keep haulting until the scheduler reacts */ - + /* Return to start however we should never get this far */ return(0x0); -} + } /*** END diff --git a/kernel/exec.c b/kernel/exec.c index 11f0c01..f63b9e4 100644 --- a/kernel/exec.c +++ b/kernel/exec.c @@ -63,7 +63,7 @@ Description: This function will create a thread from code in the current memory space Notes: - + 05/19/04 - This does not work the way I want it to it still makes a copy of kernel space so do not use out side of kernel space @@ -72,7 +72,7 @@ kTask_t * newProcess = 0x0; /* Find A New Thread */ newProcess = schedNewTask(); - assert(newProcess); + assert(newProcess); if (stack < 0x100000) kpanic("exec: stack not in valid area: [0x%X]\n",stack); @@ -113,7 +113,7 @@ newProcess->tss.trace_bitmap = 0x0000; newProcess->tss.io_map = 0x8000; newProcess->oInfo.vmStart = 0x6400000; - + newProcess->imageFd = 0x0; /* Set up default stack for thread here filled with arg list 3 times */ @@ -395,7 +395,7 @@ /* Load ELF Header */ - if ((binaryHeader = (elfHeader *)kmalloc(sizeof(elfHeader))) == 0x0) + if ((binaryHeader = (elfHeader *)kmalloc(sizeof(elfHeader))) == 0x0) endTask(_current->id); fread(binaryHeader,sizeof(elfHeader),1,tmpFd); @@ -610,7 +610,7 @@ return(-1); /* Load the ELF header */ - if ((binaryHeader = (elfHeader *)kmalloc(sizeof(elfHeader))) == 0x0) + if ((binaryHeader = (elfHeader *)kmalloc(sizeof(elfHeader))) == 0x0) K_PANIC("malloc failed!"); fread(binaryHeader,sizeof(elfHeader),1,_current->imageFd); @@ -677,7 +677,7 @@ //ldAddr = ldEnable(); break; case PT_PHDR: - proghdr = programHeader[i].phVaddr; + proghdr = programHeader[i].phVaddr; break; default: break;