Rename proc_spawn_thread to proc_clone
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
#define SYS_PROC_DROP_RESOURCE 6
|
#define SYS_PROC_DROP_RESOURCE 6
|
||||||
#define SYS_PROC_MUTEX_LOCK 8
|
#define SYS_PROC_MUTEX_LOCK 8
|
||||||
#define SYS_PROC_MUTEX_UNLOCK 9
|
#define SYS_PROC_MUTEX_UNLOCK 9
|
||||||
#define SYS_PROC_SPAWN_THREAD 10
|
#define SYS_PROC_CLONE 10
|
||||||
#define SYS_PROC_SCHED 11
|
#define SYS_PROC_SCHED 11
|
||||||
#define SYS_PROC_TRANSLATE_V2P 12
|
#define SYS_PROC_TRANSLATE_V2P 12
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ int make_thread (void (*fn) (void)) {
|
|||||||
return -ST_OOM_ERROR;
|
return -ST_OOM_ERROR;
|
||||||
|
|
||||||
uintptr_t stack_top = (uintptr_t)stack + stack_size;
|
uintptr_t stack_top = (uintptr_t)stack + stack_size;
|
||||||
return proc_spawn_thread (stack_top, stack_size, (void*)fn);
|
return proc_clone (stack_top, stack_size, (void*)fn);
|
||||||
}
|
}
|
||||||
|
|
||||||
void app_main (void) {
|
void app_main (void) {
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ struct proc* proc_from_elf (uint8_t* elf_contents) {
|
|||||||
return proc;
|
return proc;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct proc* proc_spawn_thread (struct proc* proto, uintptr_t vstack_top, size_t stack_size,
|
struct proc* proc_clone (struct proc* proto, uintptr_t vstack_top, size_t stack_size,
|
||||||
uintptr_t entry) {
|
uintptr_t entry) {
|
||||||
struct limine_hhdm_response* hhdm = limine_hhdm_request.response;
|
struct limine_hhdm_response* hhdm = limine_hhdm_request.response;
|
||||||
spin_lock_ctx_t ctxprt, ctxrs;
|
spin_lock_ctx_t ctxprt, ctxrs;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
struct proc;
|
struct proc;
|
||||||
|
|
||||||
struct proc* proc_from_elf (uint8_t* elf_contents);
|
struct proc* proc_from_elf (uint8_t* elf_contents);
|
||||||
struct proc* proc_spawn_thread (struct proc* proto, uintptr_t vstack_top, size_t stack_size,
|
struct proc* proc_clone (struct proc* proto, uintptr_t vstack_top, size_t stack_size,
|
||||||
uintptr_t entry);
|
uintptr_t entry);
|
||||||
void proc_cleanup (struct proc* proc);
|
void proc_cleanup (struct proc* proc);
|
||||||
|
|
||||||
|
|||||||
@@ -212,15 +212,15 @@ DEFINE_SYSCALL (sys_proc_drop_resource) {
|
|||||||
return ST_OK;
|
return ST_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* int proc_spawn_thread (uintptr_t vstack_top, size_t stack_size, void* entry) */
|
/* int proc_clone (uintptr_t vstack_top, size_t stack_size, void* entry) */
|
||||||
DEFINE_SYSCALL (sys_proc_spawn_thread) {
|
DEFINE_SYSCALL (sys_proc_clone) {
|
||||||
uintptr_t vstack_top = a1;
|
uintptr_t vstack_top = a1;
|
||||||
size_t stack_size = (size_t)a2;
|
size_t stack_size = (size_t)a2;
|
||||||
uintptr_t entry = a3;
|
uintptr_t entry = a3;
|
||||||
|
|
||||||
struct cpu* cpu = proc->cpu;
|
struct cpu* cpu = proc->cpu;
|
||||||
|
|
||||||
struct proc* new = proc_spawn_thread (proc, vstack_top, stack_size, entry);
|
struct proc* new = proc_clone (proc, vstack_top, stack_size, entry);
|
||||||
|
|
||||||
DEBUG ("new=%p\n", new);
|
DEBUG ("new=%p\n", new);
|
||||||
|
|
||||||
@@ -273,7 +273,7 @@ static syscall_handler_func_t handler_table[] = {
|
|||||||
[SYS_PROC_DROP_RESOURCE] = &sys_proc_drop_resource,
|
[SYS_PROC_DROP_RESOURCE] = &sys_proc_drop_resource,
|
||||||
[SYS_PROC_MUTEX_LOCK] = &sys_proc_mutex_lock,
|
[SYS_PROC_MUTEX_LOCK] = &sys_proc_mutex_lock,
|
||||||
[SYS_PROC_MUTEX_UNLOCK] = &sys_proc_mutex_unlock,
|
[SYS_PROC_MUTEX_UNLOCK] = &sys_proc_mutex_unlock,
|
||||||
[SYS_PROC_SPAWN_THREAD] = &sys_proc_spawn_thread,
|
[SYS_PROC_CLONE] = &sys_proc_clone,
|
||||||
[SYS_PROC_SCHED] = &sys_proc_sched,
|
[SYS_PROC_SCHED] = &sys_proc_sched,
|
||||||
[SYS_PROC_TRANSLATE_V2P] = &sys_proc_translate_v2p,
|
[SYS_PROC_TRANSLATE_V2P] = &sys_proc_translate_v2p,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -33,9 +33,8 @@ int proc_mutex_unlock (int mutex_rid, int vis) {
|
|||||||
return syscall (SYS_PROC_MUTEX_UNLOCK, (uintptr_t)mutex_rid, (uintptr_t)vis, 0, 0, 0, 0);
|
return syscall (SYS_PROC_MUTEX_UNLOCK, (uintptr_t)mutex_rid, (uintptr_t)vis, 0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int proc_spawn_thread (uintptr_t vstack_top, size_t stack_size, void* entry) {
|
int proc_clone (uintptr_t vstack_top, size_t stack_size, void* entry) {
|
||||||
return syscall (SYS_PROC_SPAWN_THREAD, vstack_top, (uintptr_t)stack_size, (uintptr_t)entry, 0, 0,
|
return syscall (SYS_PROC_CLONE, vstack_top, (uintptr_t)stack_size, (uintptr_t)entry, 0, 0, 0);
|
||||||
0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int proc_translate_v2p (uintptr_t vaddr, uintptr_t* out_paddr) {
|
int proc_translate_v2p (uintptr_t vaddr, uintptr_t* out_paddr) {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ int proc_create_resource (int rid, int type, int vis, void* buffer);
|
|||||||
int proc_drop_resource (int rid, int vis);
|
int proc_drop_resource (int rid, int vis);
|
||||||
int proc_mutex_lock (int mutex_rid, int vis);
|
int proc_mutex_lock (int mutex_rid, int vis);
|
||||||
int proc_mutex_unlock (int mutex_rid, int vis);
|
int proc_mutex_unlock (int mutex_rid, int vis);
|
||||||
int proc_spawn_thread (uintptr_t vstack_top, size_t stack_size, void* entry);
|
int proc_clone (uintptr_t vstack_top, size_t stack_size, void* entry);
|
||||||
int proc_sched (void);
|
int proc_sched (void);
|
||||||
int proc_translate_v2p (uintptr_t vaddr, uintptr_t* out_paddr);
|
int proc_translate_v2p (uintptr_t vaddr, uintptr_t* out_paddr);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user