|
Message
From: cvs at opencores.org<cvs@o...>
Date: Wed Feb 14 20:04:56 CET 2007
Subject: [cvs-checkins] MODIFIED: mlite ...
Date: 00/07/02 14:20:04 Modified: mlite/kernel rtos_test.c Log: Implemented BREAK and SYSCALL opcodes Revision Changes Path 1.4 mlite/kernel/rtos_test.c http://www.opencores.org/cvsweb.shtml/mlite/kernel/rtos_test.c.diff?r1=1.3&r2=1.4 (In the diff below, changes in quantity of whitespace are not shown.) Index: rtos_test.c =================================================================== RCS file: /cvsroot/rhoads/mlite/kernel/rtos_test.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -r1.3 -r1.4 --- rtos_test.c 12 Feb 2007 05:15:06 -0000 1.3 +++ rtos_test.c 14 Feb 2007 19:04:55 -0000 1.4 @@ -383,6 +383,24 @@ } #endif +//****************************************************************** +#ifndef WIN32 +static void MySyscall(void *arg) +{ + uint32 *stack = arg; + stack[STACK_EPC] += 4; //skip over SYSCALL + printf("Inside MySyscall %d\n", stack[28/4]); +} + +void TestSyscall(void) +{ + OS_InterruptRegister((uint32)(1<<31), MySyscall); + OS_Syscall(57); + OS_ThreadSleep(1); + printf("Done\n"); +} +#endif + #ifdef __MMU_ENUM_H__ void TestProcess(void) { @@ -427,7 +445,7 @@ printf("6 MQueue\n"); printf("7 Timer\n"); printf("8 Math\n"); - //printf("9 Debugger\n"); + printf("9 Syscall\n"); #ifdef __MMU_ENUM_H__ printf("p MMU Process\n"); #endif @@ -454,7 +472,7 @@ case '7': TestTimer(); break; case '8': TestMath(); break; #ifndef WIN32 - //case '9': OS_DebuggerInit(); break; + case '9': TestSyscall(); break; #endif #ifdef __MMU_ENUM_H__ case 'p': TestProcess(); break;
|
 |