r/kernel/global.c

47 lines
1.2 KiB
C

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
global.c
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Forrest Yu, 2005
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#define GLOBAL_VARIABLES_HERE
#include "type.h"
#include "const.h"
#include "protect.h"
#include "proto.h"
#include "global.h"
PUBLIC PROCESS proc_table[NR_TASKS];
PUBLIC char task_stack[STACK_SIZE_TOTAL];
// PUBLIC TASK task_table[NR_TASKS] = {{TestA, STACK_SIZE_TESTA, "TestA"},
// {TestB, STACK_SIZE_TESTB, "TestB"},
// {TestC, STACK_SIZE_TESTC, "TestC"}};
PUBLIC TASK
task_table[NR_TASKS] = {
{READER_B,STACK_SIZE_READER_B,"READER_B"},
{READER_C,STACK_SIZE_READER_C,"READER_C"},
{READER_D,STACK_SIZE_READER_D,"READER_D"},
{WRITER_E,STACK_SIZE_WRITER_E,"WRITER_E"},
{WRITER_F,STACK_SIZE_WRITER_F,"WRITER_F"},
{A,STACK_SIZE_A,"A"}
};
PUBLIC irq_handler irq_table[NR_IRQ];
//TODO系统调用表中的顺序要和asm文件中的系统调用好保持一致
PUBLIC system_call
sys_call_table[NR_SYS_CALL] = {
sys_get_ticks,
sys_print_str,
sys_ms_delay,
sys_p,
sys_v
};