Added new routines that map and check the validity of user buffers.

mmap uses this mechanism to get arguments. It needs to be tested.
This commit is contained in:
Bahadir Balban
2008-11-03 11:27:10 +02:00
parent 87d1b91743
commit ca8959eee0
11 changed files with 131 additions and 59 deletions

View File

@@ -23,27 +23,12 @@ struct sys_mmap_args {
off_t offset;
};
void *sys_mmap(struct tcb *sender, void *start, size_t length, int prot,
int flags, int fd, off_t pfn);
void *sys_mmap(struct tcb *task, struct sys_mmap_args *args);
int sys_munmap(struct tcb *sender, void *vaddr, unsigned long size);
int sys_msync(struct tcb *task, void *start, unsigned long length, int flags);
struct sys_shmat_args {
l4id_t shmid;
const void *shmaddr;
int shmflg;
};
void *sys_shmat(struct tcb *requester, l4id_t shmid, const void *shmaddr, int shmflg);
void *sys_shmat(struct tcb *task, l4id_t shmid, const void *shmadr, int shmflg);
int sys_shmdt(struct tcb *requester, const void *shmaddr);
struct sys_shmget_args {
key_t key;
int size;
int shmflg;
};
int sys_shmget(key_t key, int size, int shmflg);
int sys_fork(struct tcb *parent);