diff options
Diffstat (limited to 'src/core/hle/function_wrappers.h')
| -rw-r--r-- | src/core/hle/function_wrappers.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h index 1ac6032a6..9294789ec 100644 --- a/src/core/hle/function_wrappers.h +++ b/src/core/hle/function_wrappers.h | |||
| @@ -99,6 +99,18 @@ template<ResultCode func(MemoryInfo*, PageInfo*, u32)> void Wrap() { | |||
| 99 | FuncReturn(retval); | 99 | FuncReturn(retval); |
| 100 | } | 100 | } |
| 101 | 101 | ||
| 102 | template<ResultCode func(MemoryInfo*, PageInfo*, Handle, u32)> void Wrap() { | ||
| 103 | MemoryInfo memory_info = {}; | ||
| 104 | PageInfo page_info = {}; | ||
| 105 | u32 retval = func(&memory_info, &page_info, PARAM(2), PARAM(3)).raw; | ||
| 106 | Core::g_app_core->SetReg(1, memory_info.base_address); | ||
| 107 | Core::g_app_core->SetReg(2, memory_info.size); | ||
| 108 | Core::g_app_core->SetReg(3, memory_info.permission); | ||
| 109 | Core::g_app_core->SetReg(4, memory_info.state); | ||
| 110 | Core::g_app_core->SetReg(5, page_info.flags); | ||
| 111 | FuncReturn(retval); | ||
| 112 | } | ||
| 113 | |||
| 102 | template<ResultCode func(s32*, u32)> void Wrap(){ | 114 | template<ResultCode func(s32*, u32)> void Wrap(){ |
| 103 | s32 param_1 = 0; | 115 | s32 param_1 = 0; |
| 104 | u32 retval = func(¶m_1, PARAM(1)).raw; | 116 | u32 retval = func(¶m_1, PARAM(1)).raw; |