diff --git a/src/bin/init/main.c b/src/bin/init/main.c index c9cac0f..fae25b6 100644 --- a/src/bin/init/main.c +++ b/src/bin/init/main.c @@ -44,20 +44,14 @@ exit(-1); } - /* Test to see if we were started by the system if not exit */ - if (getpid() != 1) { - printf("Error: This program must be started by kernel.\n"); - //exit(1); - } - /* Make sure we have superuser permissions if not exit */ if ((getuid() != 0) && (getgid() != 0)) { printf("Error: This program must be run by root.\n"); - exit(1); + exit(-1); } /* Start the SDE(SCreen Drawing Engine) */ - startSDE(); + //startSDE(); printf("Initializing System.\n"); @@ -103,6 +97,9 @@ /*** $Log$ + Revision 1.10 2004/05/26 13:11:41 reddawg + Makefile: adjust all the Makefile to strip binaries to conserve floppy space + Revision 1.9 2004/05/26 12:19:19 reddawg init: init now starts the ubix registry system diff --git a/src/bin/shell/commands.c b/src/bin/shell/commands.c index b8420fd..97f71b3 100644 --- a/src/bin/shell/commands.c +++ b/src/bin/shell/commands.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include "shell.h" @@ -84,13 +85,11 @@ sched_yield(); } } - /* else if (memcmp(data->args->arg,"mkdir",5) == 0x0) { if (data->argv[1]) { - mkdir(data->argv[1]); + mkdir(data->argv[1],0xEAA); } } - */ else { return(0); } diff --git a/src/lib/libc_old/generic/mkdir.c b/src/lib/libc_old/generic/mkdir.c index 3f58803..ac1dee4 100644 --- a/src/lib/libc_old/generic/mkdir.c +++ b/src/lib/libc_old/generic/mkdir.c @@ -21,7 +21,9 @@ **************************************************************************************/ -int mkdir(const char *path) { +#include + +int mkdir(const char *path,mode_t mode) { asm( "int %0\n" : : "i" (0x80),"a" (29),"b" (path) diff --git a/src/sys/include/string.h b/src/sys/include/string.h index d49d2a6..fa1cf2e 100644 --- a/src/sys/include/string.h +++ b/src/sys/include/string.h @@ -35,6 +35,7 @@ void * kmemcpy(void * dst, const void * src, size_t length); void *kmemset(void * dst, int c, size_t length); int kstrlen(const char * string); +int kstrcmp(char *, char *); int sprintf(char * str, const char * format, ...); @@ -42,6 +43,9 @@ /*** $Log$ + Revision 1.2 2004/05/21 15:22:35 reddawg + Cleaned up + END ***/ diff --git a/src/sys/include/ubixfs/ubixfs.h b/src/sys/include/ubixfs/ubixfs.h index 7ab5c39..ad062d2 100644 --- a/src/sys/include/ubixfs/ubixfs.h +++ b/src/sys/include/ubixfs/ubixfs.h @@ -124,7 +124,6 @@ int readFile(char *file); int writeFileByte(int ch,fileDescriptor *fd,long offset); int openFileUbixFS(char *file,fileDescriptor *fd); -int mkDirUbixFS(char *dir,fileDescriptor *fd); int getFreeBlocks(int count,fileDescriptor *fd); //extern struct ubixDiskLabel *diskLabel; @@ -137,5 +136,6 @@ int freeBlocks(int block,fileDescriptor *fd); int addDirEntry(struct directoryEntry *dir,fileDescriptor *fd); void ubixFSUnlink(char *path,struct mountPoints *mp); +int ubixFSmkDir(char *dir,fileDescriptor *fd); #endif diff --git a/src/sys/kernel/exec.c b/src/sys/kernel/exec.c index e0f4c02..2fd5b9b 100644 --- a/src/sys/kernel/exec.c +++ b/src/sys/kernel/exec.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -457,6 +458,9 @@ /*** $Log$ + Revision 1.14 2004/06/01 00:04:53 reddawg + Try now mark + Revision 1.13 2004/05/25 22:44:08 reddawg Removed debug code diff --git a/src/sys/kernel/idletask.c b/src/sys/kernel/idletask.c index dddbd13..44db85c 100644 --- a/src/sys/kernel/idletask.c +++ b/src/sys/kernel/idletask.c @@ -30,9 +30,13 @@ #include #include #include +#include +#include #include +#include #include #include +#include void idleTask() { mpiMessage_t myMsg; @@ -49,14 +53,22 @@ kprintf("Restarting the system in 5 seconds\n"); counter = systemVitals->sysUptime + 5; while (systemVitals->sysUptime < counter) { - asm("hlt"); + //asm("hlt"); + schedYield(); } + kprintf("Rebooting NOW!!!\n"); while(inportByte(0x64) & 0x02); outportByte(0x64, 0xFE); break; case 31337: kprintf("system: backdoor opened\n"); break; + case 0x80: + if (!kstrcmp(myMsg.data,"sdeStart")) { + kprintf("Starting SDE\n"); + execThread(sdeThread,(uInt32)(kmalloc(0x2000)+0x2000),0x0); + } + break; default: kprintf("system: Received message %i:%s\n",myMsg.type,myMsg.data); break; @@ -69,6 +81,9 @@ /*** $Log$ + Revision 1.8 2004/05/26 23:48:33 reddawg + idletask: tweaked reboot for performance + Revision 1.7 2004/05/26 23:28:29 reddawg idletask: This task now also receives all of the systems message We also gained reboot suport that is msg send type 1000 diff --git a/src/sys/kernel/kpanic.c b/src/sys/kernel/kpanic.c index 2688e53..1fba2ef 100644 --- a/src/sys/kernel/kpanic.c +++ b/src/sys/kernel/kpanic.c @@ -29,6 +29,7 @@ #include #include +#include #include /************************************************************************ @@ -48,8 +49,7 @@ vaStart(args, fmt); i = vsprintf(buf,fmt,args); vaEnd(args); - - kprint(buf); + kprintf("kPanic: %s",buf); /* Halt The System */ while (1) { @@ -59,6 +59,9 @@ /*** $Log$ + Revision 1.3 2004/05/21 12:39:19 reddawg + Cleaned Up + Revision 1.2 2004/05/15 02:30:28 reddawg Lots of changes diff --git a/src/sys/kernel/sched.c b/src/sys/kernel/sched.c index 0389e8c..cedad83 100644 --- a/src/sys/kernel/sched.c +++ b/src/sys/kernel/sched.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -225,6 +226,9 @@ /*** $Log$ + Revision 1.8 2004/05/25 16:10:46 reddawg + Spin Locks + Revision 1.7 2004/05/21 21:15:04 reddawg Fixed a few bugs which prevented the system from loadin