aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/hle.cpp
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-04-12 21:55:36 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-04-12 21:55:36 -0400
commit68e198476f17a026fed88f3c9a271aa768694354 (patch)
treec8b368e45afd8fd70c69ce7be7e28879eda8d8aa /src/core/hle/hle.cpp
parent4d8831890321c11e2e29ed9bc87c8a48841b702e (diff)
- added HLE to connect to "srv:" service
- added a manager for keeping track of services/ports - added a memory mapped region for memory accessed by HLE - added HLE for GetThreadCommandBuffer function
Diffstat (limited to 'src/core/hle/hle.cpp')
-rw-r--r--src/core/hle/hle.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp
index 32aff0eb..3d2c5395 100644
--- a/src/core/hle/hle.cpp
+++ b/src/core/hle/hle.cpp
@@ -4,8 +4,10 @@
#include <vector>
+#include "core/mem_map.h"
#include "core/hle/hle.h"
#include "core/hle/syscall.h"
+#include "core/hle/service/service.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -35,6 +37,14 @@ void CallSyscall(u32 opcode) {
}
}
+/// Returns the coprocessor (in this case, syscore) command buffer pointer
+Addr CallGetThreadCommandBuffer() {
+ // Called on insruction: mrc p15, 0, r0, c13, c0, 3
+ // Returns an address in OSHLE memory for the CPU to read/write to
+ RETURN(OS_THREAD_COMMAND_BUFFER_ADDR);
+ return OS_THREAD_COMMAND_BUFFER_ADDR;
+}
+
void RegisterModule(std::string name, int num_functions, const FunctionDef* func_table) {
ModuleDef module = {name, num_functions, func_table};
g_module_db.push_back(module);
@@ -45,7 +55,10 @@ void RegisterAllModules() {
}
void Init() {
+ Service::Init();
+
RegisterAllModules();
+
NOTICE_LOG(HLE, "initialized OK");
}