From 2a7d7ce55d51a1cf893d14e893b87941df4a2f03 Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 10 Apr 2014 21:30:00 -0400 Subject: - removed syscall classes (will just use HLEFunction) - added hle.cpp and module registration - removed unused code --- src/core/hle/hle.h | 18 ++++++++++-------- src/core/hle/hle_syscall.cpp | 10 ++++++---- src/core/hle/hle_syscall.h | 4 +--- 3 files changed, 17 insertions(+), 15 deletions(-) (limited to 'src/core/hle') diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h index 6780b52c4..6648c787f 100644 --- a/src/core/hle/hle.h +++ b/src/core/hle/hle.h @@ -10,13 +10,11 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// typedef void (*HLEFunc)(); -typedef void (*SysCallFunc)(); struct HLEFunction { u32 id; HLEFunc func; const char* name; - u32 flags; }; struct HLEModule { @@ -25,11 +23,15 @@ struct HLEModule { const HLEFunction* func_table; }; -struct SysCall { - u8 id; - SysCallFunc func; - const char* name; -}; - #define PARAM(n) Core::g_app_core->GetReg(n) #define RETURN(n) Core::g_app_core->SetReg(0, n) + +namespace HLE { + +void Init(); + +void Shutdown(); + +void RegisterModule(const char *name, int num_functions, const HLEFunction *func_table); + +} // namespace diff --git a/src/core/hle/hle_syscall.cpp b/src/core/hle/hle_syscall.cpp index c8a516848..b17a2e220 100644 --- a/src/core/hle/hle_syscall.cpp +++ b/src/core/hle/hle_syscall.cpp @@ -7,16 +7,18 @@ //////////////////////////////////////////////////////////////////////////////////////////////////// - +typedef u32 Handle; +typedef s32 Result; Result SVC_ConnectToPort(void* out, const char* port_name) { - NOTICE_LOG(OSHLE, "SVC_ConnectToPort called, port_name: %s", port_name); + NOTICE_LOG(OSHLE, "svcConnectToPort called, port_name: %s", port_name); return 0; } -const SysCall SysCallTable[] = { +const HLEFunction SysCallTable[] = { {0x2D, WrapI_VC, "svcConnectToPort"}, }; -void Register_SysCalls() { +void Register_SysCall() { + HLE::RegisterModule("SysCallTable", ARRAY_SIZE(SysCallTable), SysCallTable); } diff --git a/src/core/hle/hle_syscall.h b/src/core/hle/hle_syscall.h index 506dcfc78..643af0bf4 100644 --- a/src/core/hle/hle_syscall.h +++ b/src/core/hle/hle_syscall.h @@ -35,8 +35,6 @@ //}; -typedef u32 Handle; -typedef s32 Result; -Result ConnectToPort(Handle* out, const char* port_name); +void Register_SysCall(); -- cgit v1.2.3