summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
authorGravatar bunnei2014-04-10 21:30:00 -0400
committerGravatar bunnei2014-04-10 21:30:00 -0400
commit2a7d7ce55d51a1cf893d14e893b87941df4a2f03 (patch)
treed9e4d6d2dfe28d0ddc32de6775d79ef002eea62e /src/core/hle
parentMerge branch 'master' into hle-interface (diff)
downloadyuzu-2a7d7ce55d51a1cf893d14e893b87941df4a2f03.tar.gz
yuzu-2a7d7ce55d51a1cf893d14e893b87941df4a2f03.tar.xz
yuzu-2a7d7ce55d51a1cf893d14e893b87941df4a2f03.zip
- removed syscall classes (will just use HLEFunction)
- added hle.cpp and module registration - removed unused code
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/hle.h18
-rw-r--r--src/core/hle/hle_syscall.cpp10
-rw-r--r--src/core/hle/hle_syscall.h4
3 files changed, 17 insertions, 15 deletions
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 @@
10//////////////////////////////////////////////////////////////////////////////////////////////////// 10////////////////////////////////////////////////////////////////////////////////////////////////////
11 11
12typedef void (*HLEFunc)(); 12typedef void (*HLEFunc)();
13typedef void (*SysCallFunc)();
14 13
15struct HLEFunction { 14struct HLEFunction {
16 u32 id; 15 u32 id;
17 HLEFunc func; 16 HLEFunc func;
18 const char* name; 17 const char* name;
19 u32 flags;
20}; 18};
21 19
22struct HLEModule { 20struct HLEModule {
@@ -25,11 +23,15 @@ struct HLEModule {
25 const HLEFunction* func_table; 23 const HLEFunction* func_table;
26}; 24};
27 25
28struct SysCall {
29 u8 id;
30 SysCallFunc func;
31 const char* name;
32};
33
34#define PARAM(n) Core::g_app_core->GetReg(n) 26#define PARAM(n) Core::g_app_core->GetReg(n)
35#define RETURN(n) Core::g_app_core->SetReg(0, n) 27#define RETURN(n) Core::g_app_core->SetReg(0, n)
28
29namespace HLE {
30
31void Init();
32
33void Shutdown();
34
35void RegisterModule(const char *name, int num_functions, const HLEFunction *func_table);
36
37} // 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 @@
7 7
8//////////////////////////////////////////////////////////////////////////////////////////////////// 8////////////////////////////////////////////////////////////////////////////////////////////////////
9 9
10 10typedef u32 Handle;
11typedef s32 Result;
11 12
12Result SVC_ConnectToPort(void* out, const char* port_name) { 13Result SVC_ConnectToPort(void* out, const char* port_name) {
13 NOTICE_LOG(OSHLE, "SVC_ConnectToPort called, port_name: %s", port_name); 14 NOTICE_LOG(OSHLE, "svcConnectToPort called, port_name: %s", port_name);
14 return 0; 15 return 0;
15} 16}
16 17
17const SysCall SysCallTable[] = { 18const HLEFunction SysCallTable[] = {
18 {0x2D, WrapI_VC<SVC_ConnectToPort>, "svcConnectToPort"}, 19 {0x2D, WrapI_VC<SVC_ConnectToPort>, "svcConnectToPort"},
19}; 20};
20 21
21void Register_SysCalls() { 22void Register_SysCall() {
23 HLE::RegisterModule("SysCallTable", ARRAY_SIZE(SysCallTable), SysCallTable);
22} 24}
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 @@
35//}; 35//};
36 36
37 37
38typedef u32 Handle;
39typedef s32 Result;
40 38
41 39
42Result ConnectToPort(Handle* out, const char* port_name); 40void Register_SysCall();