mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-30 00:07:59 +00:00
refactor(kernel/syscalls): simplify argument handling in HandleNativeSyscalls
Easier to debug Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
parent
4240183fa1
commit
9dfa750444
@ -398,10 +398,7 @@ uintptr_t HandleNativeSyscalls(SysFrm *Frame)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SyscallData sc = scTbl[Frame->ReturnValue()];
|
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))
|
if (unlikely(!call))
|
||||||
{
|
{
|
||||||
@ -410,16 +407,15 @@ uintptr_t HandleNativeSyscalls(SysFrm *Frame)
|
|||||||
return -ENOSYS;
|
return -ENOSYS;
|
||||||
}
|
}
|
||||||
|
|
||||||
debug("> [%d:\"%s\"]( %#lx %#lx %#lx %#lx %#lx %#lx )",
|
uintptr_t arg0 = Frame->Arg0();
|
||||||
Frame->ReturnValue(), sc.Name,
|
uintptr_t arg1 = Frame->Arg1();
|
||||||
Frame->Arg0(), Frame->Arg1(), Frame->Arg2(),
|
uintptr_t arg2 = Frame->Arg2();
|
||||||
Frame->Arg3(), Frame->Arg4(), Frame->Arg5());
|
uintptr_t arg3 = Frame->Arg3();
|
||||||
|
uintptr_t arg4 = Frame->Arg4();
|
||||||
|
uintptr_t arg5 = Frame->Arg5();
|
||||||
|
|
||||||
long sc_ret = call(Frame,
|
debug("> [%d:\"%s\"]( %#lx %#lx %#lx %#lx %#lx %#lx )", Frame->ReturnValue(), sc.Name, arg0, arg1, arg2, arg3, arg4, arg5);
|
||||||
Frame->Arg0(), Frame->Arg1(), Frame->Arg2(),
|
uintptr_t result = call(Frame, arg0, arg1, arg2, arg3, arg4, arg5);
|
||||||
Frame->Arg3(), Frame->Arg4(), Frame->Arg5());
|
debug("< [%d:\"%s\"] = %ld", Frame->ReturnValue(), sc.Name, result);
|
||||||
|
return result;
|
||||||
debug("< [%d:\"%s\"] = %ld",
|
|
||||||
Frame->ReturnValue(), sc.Name, sc_ret);
|
|
||||||
return sc_ret;
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user