Files
osc2025/userprog/lib/syscall.c
2025-05-03 20:45:34 +08:00

26 lines
598 B
C

#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); }