summaryrefslogtreecommitdiff
path: root/src/core/hle/hle.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2014-04-12 21:55:36 -0400
committerGravatar bunnei2014-04-12 21:55:36 -0400
commit68e198476f17a026fed88f3c9a271aa768694354 (patch)
treec8b368e45afd8fd70c69ce7be7e28879eda8d8aa /src/core/hle/hle.cpp
parenthacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing ... (diff)
downloadyuzu-68e198476f17a026fed88f3c9a271aa768694354.tar.gz
yuzu-68e198476f17a026fed88f3c9a271aa768694354.tar.xz
yuzu-68e198476f17a026fed88f3c9a271aa768694354.zip
- 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 32aff0eb5..3d2c53954 100644
--- a/src/core/hle/hle.cpp
+++ b/src/core/hle/hle.cpp
@@ -4,8 +4,10 @@
4 4
5#include <vector> 5#include <vector>
6 6
7#include "core/mem_map.h"
7#include "core/hle/hle.h" 8#include "core/hle/hle.h"
8#include "core/hle/syscall.h" 9#include "core/hle/syscall.h"
10#include "core/hle/service/service.h"
9 11
10//////////////////////////////////////////////////////////////////////////////////////////////////// 12////////////////////////////////////////////////////////////////////////////////////////////////////
11 13
@@ -35,6 +37,14 @@ void CallSyscall(u32 opcode) {
35 } 37 }
36} 38}
37 39
40/// Returns the coprocessor (in this case, syscore) command buffer pointer
41Addr CallGetThreadCommandBuffer() {
42 // Called on insruction: mrc p15, 0, r0, c13, c0, 3
43 // Returns an address in OSHLE memory for the CPU to read/write to
44 RETURN(OS_THREAD_COMMAND_BUFFER_ADDR);
45 return OS_THREAD_COMMAND_BUFFER_ADDR;
46}
47
38void RegisterModule(std::string name, int num_functions, const FunctionDef* func_table) { 48void RegisterModule(std::string name, int num_functions, const FunctionDef* func_table) {
39 ModuleDef module = {name, num_functions, func_table}; 49 ModuleDef module = {name, num_functions, func_table};
40 g_module_db.push_back(module); 50 g_module_db.push_back(module);
@@ -45,7 +55,10 @@ void RegisterAllModules() {
45} 55}
46 56
47void Init() { 57void Init() {
58 Service::Init();
59
48 RegisterAllModules(); 60 RegisterAllModules();
61
49 NOTICE_LOG(HLE, "initialized OK"); 62 NOTICE_LOG(HLE, "initialized OK");
50} 63}
51 64