Implement argument_ptr () syscall for handling process arguments
All checks were successful
Build documentation / build-and-deploy (push) Successful in 37s
All checks were successful
Build documentation / build-and-deploy (push) Successful in 37s
This commit is contained in:
@@ -21,8 +21,8 @@ void* map (uintptr_t vaddr, size_t pages, uint32_t flags) {
|
||||
|
||||
int unmap (uintptr_t vaddr, size_t pages) { return do_syscall (SYS_UNMAP, vaddr, pages); }
|
||||
|
||||
int clone (uintptr_t vstack_top, void (*entry) (void)) {
|
||||
return do_syscall (SYS_CLONE, vstack_top, entry);
|
||||
int clone (uintptr_t vstack_top, void (*entry) (void), void* argument_ptr) {
|
||||
return do_syscall (SYS_CLONE, vstack_top, entry, argument_ptr);
|
||||
}
|
||||
|
||||
int mutex_create (int mutex_rid) { return do_syscall (SYS_MUTEX_CREATE, mutex_rid); }
|
||||
@@ -32,3 +32,5 @@ int mutex_delete (int mutex_rid) { return do_syscall (SYS_MUTEX_DELETE, mutex_ri
|
||||
int mutex_lock (int mutex_rid) { return do_syscall (SYS_MUTEX_LOCK, mutex_rid); }
|
||||
|
||||
int mutex_unlock (int mutex_rid) { return do_syscall (SYS_MUTEX_UNLOCK, mutex_rid); }
|
||||
|
||||
void* argument_ptr (void) { return (void*)do_syscall (SYS_ARGUMENT_PTR, 0); }
|
||||
|
||||
@@ -18,10 +18,11 @@ int test (char c);
|
||||
int sched (void);
|
||||
void* map (uintptr_t vaddr, size_t pages, uint32_t flags);
|
||||
int unmap (uintptr_t vaddr, size_t pages);
|
||||
int clone (uintptr_t vstack_top, void (*entry) (void));
|
||||
int clone (uintptr_t vstack_top, void (*entry) (void), void* argument_ptr);
|
||||
int mutex_create (int mutex_rid);
|
||||
int mutex_delete (int mutex_rid);
|
||||
int mutex_lock (int mutex_rid);
|
||||
int mutex_unlock (int mutex_rid);
|
||||
void* argument_ptr (void);
|
||||
|
||||
#endif // _LIBMSL_M_SYSTEM_H
|
||||
|
||||
Reference in New Issue
Block a user