diff --git a/src/sys/include/ubixos/idlethread.h b/src/sys/include/ubixos/idlethread.h new file mode 100755 index 0000000..2c00ece --- /dev/null +++ b/src/sys/include/ubixos/idlethread.h @@ -0,0 +1,13 @@ +/************************************************************************************** + Copyright (c) 2002 + The UbixOS Project + + $Id$ +**************************************************************************************/ + +#ifndef _IDLETHREAD_H +#define _IDLETHREAD_H + +void idleThread(); + +#endif \ No newline at end of file diff --git a/src/sys/init/main.c b/src/sys/init/main.c index 72b93cd..32f3709 100755 --- a/src/sys/init/main.c +++ b/src/sys/init/main.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -52,19 +53,6 @@ while(1); } -void test() { - while(1) { - //kprint("The"); - testVal++; - } - } - -void test2() { - while(1) { - //kprint("Ubu"); - } - } - int main() { initPaging(); //Initialize Paging System clearScreen(); @@ -74,8 +62,7 @@ initKeyboard(); //Initialize Keyboard initScheduler(); //Initialize Scheduler initFloppy(); //Initialize Floppy Controller - execThread(test,0xAFFF,"Test Thread"); - execThread(test2,0xBFFF,"Test Thread2"); + execThread(idleThread,0xAFFF,"Kernel Idle Thread"); enableIrq(0); return(0); } \ No newline at end of file diff --git a/src/sys/kernel/Makefile b/src/sys/kernel/Makefile index 239f2da..552186c 100755 --- a/src/sys/kernel/Makefile +++ b/src/sys/kernel/Makefile @@ -14,7 +14,7 @@ REMOVE = rm -fr # Objects -OBJS = io.o version.o kprintf.o vsprintf.o idt.o schedule.o exec.o dma.o +OBJS = io.o version.o kprintf.o vsprintf.o idt.o schedule.o exec.o dma.o idlethread.o all: $(OBJS) diff --git a/src/sys/kernel/idlethread.c b/src/sys/kernel/idlethread.c new file mode 100755 index 0000000..77c5472 --- /dev/null +++ b/src/sys/kernel/idlethread.c @@ -0,0 +1,11 @@ +/************************************************************************************** + Copyright (c) 2002 + The UbixOS Project + + $Id$ +**************************************************************************************/ + +void idleThread() { + /* This thread is for maintinance */ + while (1); + } \ No newline at end of file diff --git a/src/sys/kernel/schedule.c b/src/sys/kernel/schedule.c index cc3f7ca..4811b4d 100755 --- a/src/sys/kernel/schedule.c +++ b/src/sys/kernel/schedule.c @@ -10,7 +10,6 @@ #include #include #include -#include int currentProc; struct taskStruct taskList[numTasks]; @@ -65,7 +64,6 @@ GDT[4].descriptor.baseLow = (memAddr & 0xFFFF); GDT[4].descriptor.baseMed = ((memAddr >> 16) & 0xff); GDT[4].descriptor.baseHigh = (memAddr >> 24); - kprintf("Switch To Task; [%i][%i]\n",proc,testVal); asm("ljmp $0x20,$0\n"); } } diff --git a/ubixos.kdevprj b/ubixos.kdevprj index 9262581..e398e42 100755 --- a/ubixos.kdevprj +++ b/ubixos.kdevprj @@ -228,7 +228,7 @@ type=HEADER [src/sys/include/ubixos/Makefile.am] -files=src/sys/include/ubixos/gdt.h,src/sys/include/ubixos/io.h,src/sys/include/ubixos/idt.h,src/sys/include/ubixos/exec.h,src/sys/include/ubixos/schedule.h,src/sys/include/ubixos/types.h,src/sys/include/ubixos/dma.h +files=src/sys/include/ubixos/gdt.h,src/sys/include/ubixos/io.h,src/sys/include/ubixos/idt.h,src/sys/include/ubixos/exec.h,src/sys/include/ubixos/schedule.h,src/sys/include/ubixos/types.h,src/sys/include/ubixos/dma.h,src/sys/include/ubixos/idlethread.h sub_dirs= type=normal @@ -250,6 +250,12 @@ install_location= type=HEADER +[src/sys/include/ubixos/idlethread.h] +dist=true +install=false +install_location= +type=HEADER + [src/sys/include/ubixos/idt.h] dist=true install=false @@ -328,7 +334,7 @@ type=DATA [src/sys/kernel/Makefile.am] -files=src/sys/kernel/Makefile,src/sys/kernel/io.c,src/sys/kernel/version.c,src/sys/kernel/kprintf.c,src/sys/kernel/vsprintf.c,src/sys/kernel/idt.c,src/sys/kernel/exec.c,src/sys/kernel/schedule.c,src/sys/kernel/dma.c +files=src/sys/kernel/Makefile,src/sys/kernel/io.c,src/sys/kernel/version.c,src/sys/kernel/kprintf.c,src/sys/kernel/vsprintf.c,src/sys/kernel/idt.c,src/sys/kernel/exec.c,src/sys/kernel/schedule.c,src/sys/kernel/dma.c,src/sys/kernel/idlethread.c sub_dirs= type=static_library @@ -344,6 +350,12 @@ install_location= type=SOURCE +[src/sys/kernel/idlethread.c] +dist=true +install=false +install_location= +type=SOURCE + [src/sys/kernel/idt.c] dist=true install=false