summaryrefslogtreecommitdiffhomepage
path: root/DDK/KernelCall.c
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlal@softwarelabs.com>2024-06-13 17:41:19 +0200
committerAmlal EL Mahrouss <amlal@softwarelabs.com>2024-06-13 17:41:19 +0200
commit349fe48baf941b2d1b571d3a5d0d796823bae312 (patch)
tree6258abfbede227d0a7806530ccbf3cdf3ca3699c /DDK/KernelCall.c
parent70ae21935c7c68ed8a380611481b553b94cee657 (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.c11
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);
}