summaryrefslogtreecommitdiffstats
path: root/src/core/hle/hle.h
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-04-13 05:31:39 +0200
committerbunnei <ericbunnie@gmail.com>2014-04-13 05:31:39 +0200
commit6f6d5158de18a7ca134406d55446c27f6db48a1a (patch)
tree82c3b60b5584618207e748e714cc9da30a7962e4 /src/core/hle/hle.h
parentcleanups to service HLE (diff)
downloadyuzu-6f6d5158de18a7ca134406d55446c27f6db48a1a.tar
yuzu-6f6d5158de18a7ca134406d55446c27f6db48a1a.tar.gz
yuzu-6f6d5158de18a7ca134406d55446c27f6db48a1a.tar.bz2
yuzu-6f6d5158de18a7ca134406d55446c27f6db48a1a.tar.lz
yuzu-6f6d5158de18a7ca134406d55446c27f6db48a1a.tar.xz
yuzu-6f6d5158de18a7ca134406d55446c27f6db48a1a.tar.zst
yuzu-6f6d5158de18a7ca134406d55446c27f6db48a1a.zip
Diffstat (limited to 'src/core/hle/hle.h')
-rw-r--r--src/core/hle/hle.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h
index 2bd1f99a2..5ee90bcdc 100644
--- a/src/core/hle/hle.h
+++ b/src/core/hle/hle.h
@@ -17,7 +17,10 @@
namespace HLE {
enum {
- OS_THREAD_COMMAND_BUFFER_ADDR = 0xA0004000,
+ CMD_BUFFER_ADDR = 0xA0010000, ///< Totally arbitrary unused address space
+ CMD_BUFFER_SIZE = 0x10000,
+ CMD_BUFFER_MASK = (CMD_BUFFER_SIZE - 1),
+ CMD_BUFFER_ADDR_END = (CMD_BUFFER_ADDR + CMD_BUFFER_SIZE),
};
typedef u32 Addr;
@@ -35,6 +38,14 @@ struct ModuleDef {
const FunctionDef* func_table;
};
+// Read from memory used by CTROS HLE functions
+template <typename T>
+inline void Read(T &var, const u32 addr);
+
+// Write to memory used by CTROS HLE functions
+template <typename T>
+inline void Write(u32 addr, const T data);
+
void RegisterModule(std::string name, int num_functions, const FunctionDef *func_table);
void CallSyscall(u32 opcode);