OSDN Git Service

Add Task Switch
authorvosystems <doradora.motochan@gmail.com>
Sat, 18 Oct 2014 13:28:43 +0000 (22:28 +0900)
committervosystems <doradora.motochan@gmail.com>
Sat, 18 Oct 2014 13:28:43 +0000 (22:28 +0900)
Kernel/Makefile
include/VaneOS.h
include/VaneOS.h~

index 9326b62..9c5d190 100644 (file)
@@ -37,9 +37,10 @@ GRAPHIC_C=Graphical.c
 SYSTEM_C=System.c
 MESSAGE_C=Message.c
 TIMER_C=timer.c
+TASK_C=task.c
 
 #オブジェクト
-BOOT_OBJ=${BOOT_S:.S=.o} ${BOOT_C:.c=.o} ${VANE_S:.S=.o} ${KEYBOARD_C:.c=.o} ${STDIO_C:.c=.o} ${GDT_IDT_C:.c=.o} ${INTERRUPT_C:.c=.o} ${STRING_C:.c=.o} ${ASM_INTERRUPT_S:.S=.o} ${SCANCODE_C:.c=.o} ${MEMMAN_C:.c=.o} ${FAT_C:.c=.o} ${GRAPHIC_C:.c=.o} ${SYSTEM_C:.c=.o} ${MESSAGE_C:.c=.o} ${TIMER_C:.c=.o}
+BOOT_OBJ=${BOOT_S:.S=.o} ${BOOT_C:.c=.o} ${VANE_S:.S=.o} ${KEYBOARD_C:.c=.o} ${STDIO_C:.c=.o} ${GDT_IDT_C:.c=.o} ${INTERRUPT_C:.c=.o} ${STRING_C:.c=.o} ${ASM_INTERRUPT_S:.S=.o} ${SCANCODE_C:.c=.o} ${MEMMAN_C:.c=.o} ${FAT_C:.c=.o} ${GRAPHIC_C:.c=.o} ${SYSTEM_C:.c=.o} ${MESSAGE_C:.c=.o} ${TIMER_C:.c=.o} ${TASK_C:.c=.o}
 
 kernel: ${BOOT_OBJ}
        ${LD} ${TARGET} ${BOOT_OBJ}
index beb1de2..4773aae 100644 (file)
@@ -99,23 +99,4 @@ typedef struct
        char fs_type[8];
 }bpb_data_t;
 
-/* fifo.c *//*
-struct TSS32 {
-       int backlink, esp0, ss0, esp1, ss1, esp2, ss2, cr3;
-       int eip, eflags, eax, ecx, edx, ebx, esp, ebp, esi, edi;
-       int es, cs, ss, ds, fs, gs;
-       int ldtr, iomap;
-};
-struct TASK {
-       int sel, flags;
-       int level, priority;
-       struct FIFO32 fifo;
-       struct TSS32 tss;
-};
-
-void fifo32_init(struct FIFO32 *fifo, int size, int *buf, struct TASK *task);
-int fifo32_put(struct FIFO32 *fifo, int data);
-int fifo32_get(struct FIFO32 *fifo);
-int fifo32_status(struct FIFO32 *fifo);
-*/
 #endif
index faf5c4e..beb1de2 100644 (file)
@@ -10,9 +10,8 @@
 
 #define local static
 #define DEBUG while(getchar()!='\n')
-void vane_io_cli(void);
-void vane_io_sti(void);
 void write_mem_8(int,int);
+void farjmp(int eip,int cs);
 
 void io_hlt(void);
 void io_cli(void);