TD2 question I.3
Add syscall ThreadCreate and ThreadExit on userprog/exception.cc, userprog/suscall.h and test/start.S
This commit is contained in:
parent
b635f10b6f
commit
f18dd05339
3 changed files with 27 additions and 0 deletions
|
@ -198,6 +198,21 @@ GetInt:
|
|||
j $31
|
||||
.end GetInt
|
||||
|
||||
.globl ThreadCreate
|
||||
.ent ThreadCreate
|
||||
ThreadCreate:
|
||||
addiu $2,$0,SC_ThreadCreate
|
||||
syscall
|
||||
j $31
|
||||
.end ThreadCreate
|
||||
|
||||
.globl ThreadExit
|
||||
.ent ThreadExit
|
||||
ThreadExit:
|
||||
addiu $2,$0,SC_ThreadExit
|
||||
syscall
|
||||
j $31
|
||||
.end ThreadExit
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -208,6 +208,14 @@ ExceptionHandler (ExceptionType which)
|
|||
machine->WriteMem(addr,sizeof(n),n);
|
||||
break;
|
||||
}
|
||||
case SC_ThreadCreate:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SC_ThreadExit:
|
||||
{
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
default:
|
||||
{
|
||||
|
|
|
@ -38,6 +38,8 @@
|
|||
#define SC_GetString 14
|
||||
#define SC_PutInt 15
|
||||
#define SC_GetInt 16
|
||||
#define SC_ThreadCreate 17
|
||||
#define SC_ThreadExit 18
|
||||
#endif
|
||||
#ifdef IN_USER_MODE
|
||||
|
||||
|
@ -144,6 +146,8 @@ char GetChar();
|
|||
void GetString(char *s, int n );
|
||||
void PutInt(int n);
|
||||
void GetInt( int * n);
|
||||
int ThreadCreate(void f(void * args), void * args);
|
||||
void ThreadExit(void);
|
||||
|
||||
#endif // CHANGED
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue