提交 1c260e53 创建 作者: Austin Clements's avatar Austin Clements

Use userptr for the arguments to sys_{map,unmap,exec}

Previously these were type-less uptrs.
上级 70d922ff
......@@ -6,6 +6,7 @@ extern "C" {
#include "atomic.hh"
#include "memlayout.h"
#include "userptr.hh"
#include <stdarg.h>
#define KCSEG (2<<3) /* kernel code segment */
......@@ -263,7 +264,7 @@ struct sockaddr;
int sys_chdir(const char*);
int sys_close(int);
int sys_dup(int);
int sys_exec(const char*, u64);
int sys_exec(const char*, userptr<userptr<const char> >);
int sys_exit(void) __attribute__((noreturn));
int sys_fork(int);
int sys_fstat(int, struct stat*);
......@@ -281,8 +282,8 @@ int sys_unlink(const char*);
int sys_wait(void);
ssize_t sys_write(int, const void*, size_t);
u64 sys_uptime(void);
int sys_map(uptr, size_t);
int sys_unmap(uptr, size_t);
int sys_map(userptr<void>, size_t);
int sys_unmap(userptr<void>, size_t);
int sys_halt(void);
int sys_socket(int, int, int);
int sys_bind(int xsock, const struct sockaddr *xaddr, int xaddrlen);
......
......@@ -420,7 +420,7 @@ sys_chdir(const char *path)
}
int
sys_exec(const char *upath, u64 uargv)
sys_exec(const char *upath, userptr<userptr<const char> > uargv)
{
ANON_REGION(__func__, &perfgroup);
static const int len = 32;
......
......@@ -90,7 +90,7 @@ sys_uptime(void)
}
int
sys_map(uptr addr, size_t len)
sys_map(userptr<void> addr, size_t len)
{
ANON_REGION(__func__, &perfgroup);
......@@ -115,7 +115,7 @@ sys_map(uptr addr, size_t len)
}
int
sys_unmap(uptr addr, size_t len)
sys_unmap(userptr<void> addr, size_t len)
{
ANON_REGION(__func__, &perfgroup);
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论