From d5ed088f54751dd1874aaf2c2678cc5ab292434a Mon Sep 17 00:00:00 2001 From: antifallobst Date: Mon, 29 May 2023 18:43:03 +0200 Subject: [PATCH] feature (libnx): updated syscall bindings to match the documented SysABI --- libnx/inc/public/nox/syscall.h | 3 ++- libnx/src/syscall.c | 13 +++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libnx/inc/public/nox/syscall.h b/libnx/inc/public/nox/syscall.h index 932c1d9..c4acc3e 100644 --- a/libnx/inc/public/nox/syscall.h +++ b/libnx/inc/public/nox/syscall.h @@ -27,7 +27,8 @@ uint64_t nx_proc_thread_start (uint64_t tid); uint64_t nx_proc_thread_pause (uint64_t tid); uint64_t nx_proc_thread_kill (uint64_t tid); -uint64_t nx_drv_register (uint64_t fd, void* conf); +uint64_t nx_drv_register (uint64_t fd); +uint64_t nx_drv_init (void* conf); uint64_t nx_drv_create_command_buffer (void* addr, uint64_t len); uint64_t nx_drv_flush_command_buffer (void* addr); diff --git a/libnx/src/syscall.c b/libnx/src/syscall.c index ad59fd4..8c2147e 100644 --- a/libnx/src/syscall.c +++ b/libnx/src/syscall.c @@ -27,8 +27,9 @@ typedef enum { NX_PROC_THREAD_KILL = 0x0207, NX_DRV_REGISTER = 0x0301, - NX_DRV_CREATE_COMMAND_BUFFER = 0x0302, - NX_DRV_FLUSH_COMMAND_BUFFER = 0x0303, + NX_DRV_INIT = 0x0302, + NX_DRV_CREATE_COMMAND_BUFFER = 0x0303, + NX_DRV_FLUSH_COMMAND_BUFFER = 0x0304, } syscall_E; uint64_t nx_fs_open(string_t path, uint64_t len, uint64_t* fd) { @@ -106,8 +107,12 @@ uint64_t nx_proc_thread_kill(uint64_t tid) { } -uint64_t nx_drv_register(uint64_t fd, void* conf) { - return syscall_perform(NX_DRV_REGISTER, fd, (uint64_t)conf, 0, 0); +uint64_t nx_drv_register(uint64_t fd) { + return syscall_perform(NX_DRV_REGISTER, fd, 0, 0, 0); +} + +uint64_t nx_drv_init(void* conf) { + return syscall_perform(NX_DRV_INIT, (uint64_t#)conf, 0, 0, 0); } uint64_t nx_drv_create_command_buffer(void* addr, uint64_t len) {