refactor(kernel/syscalls): simplify argument handling in HandleNativeSyscalls

Easier to debug

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
EnderIce2 2025-02-21 02:35:57 +02:00
parent 4240183fa1
commit 9dfa750444
No known key found for this signature in database
GPG Key ID: 2EE20AF089811A5A

View File

@ -398,10 +398,7 @@ uintptr_t HandleNativeSyscalls(SysFrm *Frame)
}
SyscallData sc = scTbl[Frame->ReturnValue()];
uintptr_t (*call)(SysFrm *, uintptr_t, ...) =
r_cst(uintptr_t(*)(SysFrm *, uintptr_t, ...),
sc.Handler);
uintptr_t (*call)(SysFrm *, uintptr_t, ...) = r_cst(uintptr_t (*)(SysFrm *, uintptr_t, ...), sc.Handler);
if (unlikely(!call))
{
@ -410,16 +407,15 @@ uintptr_t HandleNativeSyscalls(SysFrm *Frame)
return -ENOSYS;
}
debug("> [%d:\"%s\"]( %#lx %#lx %#lx %#lx %#lx %#lx )",
Frame->ReturnValue(), sc.Name,
Frame->Arg0(), Frame->Arg1(), Frame->Arg2(),
Frame->Arg3(), Frame->Arg4(), Frame->Arg5());
uintptr_t arg0 = Frame->Arg0();
uintptr_t arg1 = Frame->Arg1();
uintptr_t arg2 = Frame->Arg2();
uintptr_t arg3 = Frame->Arg3();
uintptr_t arg4 = Frame->Arg4();
uintptr_t arg5 = Frame->Arg5();
long sc_ret = call(Frame,
Frame->Arg0(), Frame->Arg1(), Frame->Arg2(),
Frame->Arg3(), Frame->Arg4(), Frame->Arg5());
debug("< [%d:\"%s\"] = %ld",
Frame->ReturnValue(), sc.Name, sc_ret);
return sc_ret;
debug("> [%d:\"%s\"]( %#lx %#lx %#lx %#lx %#lx %#lx )", Frame->ReturnValue(), sc.Name, arg0, arg1, arg2, arg3, arg4, arg5);
uintptr_t result = call(Frame, arg0, arg1, arg2, arg3, arg4, arg5);
debug("< [%d:\"%s\"] = %ld", Frame->ReturnValue(), sc.Name, result);
return result;
}