- 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
This commit is contained in:
bunnei 2014-04-12 21:55:36 -04:00
parent 4d88318903
commit 68e198476f
11 changed files with 384 additions and 166 deletions

View file

@ -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");
}