Draft: lab 5 failed
This commit is contained in:
25
userprog/lib/syscall.c
Normal file
25
userprog/lib/syscall.c
Normal file
@@ -0,0 +1,25 @@
|
||||
#include <syscall.h>
|
||||
|
||||
int32_t getpid()
|
||||
{ return (int32_t)syscall(0); }
|
||||
|
||||
size_t uart_read(char buf[], size_t size)
|
||||
{ return (size_t)syscall(1, buf, size); }
|
||||
|
||||
size_t uart_write(const char buf[], size_t size)
|
||||
{ return (size_t)syscall(2, buf, size); }
|
||||
|
||||
int32_t exec(const char *name, char *const argv[])
|
||||
{ return (int32_t)syscall(3, name, argv); }
|
||||
|
||||
int32_t fork(void)
|
||||
{ return (int32_t)syscall(4); }
|
||||
|
||||
void exit(int32_t status)
|
||||
{ syscall(5); __builtin_unreachable(); }
|
||||
|
||||
int32_t mbox_call(uint8_t ch, uint32_t *mbox)
|
||||
{ return (int32_t)syscall(6, ch, mbox); }
|
||||
|
||||
void kill(int32_t pid)
|
||||
{ syscall(7, pid); }
|
||||
Reference in New Issue
Block a user