[kernel] Have process_start syscall take a list of handles

This also prompted a change of the process initialization protocol to
allow handles to get typed, and changing to marking them as just
self/other handls. This also means exposing the object type enum to
userspace.
This commit is contained in:
Justin C. Miller
2021-01-23 20:34:03 -08:00
parent c0f304559f
commit 16b9d4fd8b
10 changed files with 59 additions and 44 deletions

View File

@@ -28,8 +28,9 @@ _init_libc(uint64_t *rsp)
__initv = (struct j6_init_value *)rsp;
for (unsigned i = 0; i < __initc; ++i) {
if (__initv[i].type == j6_init_handle_system) {
__handle_sys = __initv[i].value;
if (__initv[i].type == j6_init_handle_other &&
__initv[i].handle.type == j6_object_type_system) {
__handle_sys = __initv[i].handle.handle;
break;
}
}