diff options
| author | Amlal EL Mahrouss <amlal@softwarelabs.com> | 2024-06-13 17:41:19 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlal@softwarelabs.com> | 2024-06-13 17:41:19 +0200 |
| commit | 349fe48baf941b2d1b571d3a5d0d796823bae312 (patch) | |
| tree | 6258abfbede227d0a7806530ccbf3cdf3ca3699c /DDK/KernelCall.c | |
| parent | 70ae21935c7c68ed8a380611481b553b94cee657 (diff) | |
MHR-31: New systemcall/kernelcall architecture.
Signed-off-by: Amlal EL Mahrouss <amlal@softwarelabs.com>
Diffstat (limited to 'DDK/KernelCall.c')
| -rw-r--r-- | DDK/KernelCall.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/DDK/KernelCall.c b/DDK/KernelCall.c index c20a4894..a16a5278 100644 --- a/DDK/KernelCall.c +++ b/DDK/KernelCall.c @@ -9,22 +9,17 @@ #include <DDK/KernelStd.h> #include <stdarg.h> -DK_EXTERN __attribute__((naked)) void __kernelDispatchCall(int32_t cnt, ...); +DK_EXTERN __attribute__((naked)) void* __kernelDispatchCall(const char* name, int32_t cnt, void* data, size_t sz); /// @brief Execute a function on the kernel. /// @param kernelRpcName the name of the function. /// @param cnt number of arguments. /// @param /// @return -DK_EXTERN void* kernelCall(const char* kernelRpcName, int32_t cnt, ...) +DK_EXTERN void* kernelCall(const char* kernelRpcName, int32_t cnt, void* data, size_t sz) { if (!kernelRpcName || cnt == 0) return NIL; - va_list arg; - va_start(arg, cnt); - - __kernelDispatchCall(cnt, arg); - - va_end(arg); + return __kernelDispatchCall(kernelRpcName, cnt, data, sz); } |
