diff options
| author | 2015-07-17 12:33:26 -0700 | |
|---|---|---|
| committer | 2015-07-17 12:33:26 -0700 | |
| commit | 41513cfb0c9373fb5fc15768f6297bd4d411f526 (patch) | |
| tree | 212887a058fd5bc01eadfbb16d1de0059016c964 /src/core/hle/function_wrappers.h | |
| parent | Merge pull request #937 from yuriks/codeset-leak (diff) | |
| parent | Kernel/SVC: Implemented svcQueryMemory. (diff) | |
| download | yuzu-41513cfb0c9373fb5fc15768f6297bd4d411f526.tar.gz yuzu-41513cfb0c9373fb5fc15768f6297bd4d411f526.tar.xz yuzu-41513cfb0c9373fb5fc15768f6297bd4d411f526.zip | |
Merge pull request #938 from Subv/querymem
Kernel/SVC: Implemented svcQueryMemory.
Diffstat (limited to 'src/core/hle/function_wrappers.h')
| -rw-r--r-- | src/core/hle/function_wrappers.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h index 5949cb470..1ac6032a6 100644 --- a/src/core/hle/function_wrappers.h +++ b/src/core/hle/function_wrappers.h | |||
| @@ -87,8 +87,16 @@ template<ResultCode func(u32, s64)> void Wrap() { | |||
| 87 | } | 87 | } |
| 88 | } | 88 | } |
| 89 | 89 | ||
| 90 | template<ResultCode func(void*, void*, u32)> void Wrap(){ | 90 | template<ResultCode func(MemoryInfo*, PageInfo*, u32)> void Wrap() { |
| 91 | FuncReturn(func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2)).raw); | 91 | MemoryInfo memory_info = {}; |
| 92 | PageInfo page_info = {}; | ||
| 93 | u32 retval = func(&memory_info, &page_info, PARAM(2)).raw; | ||
| 94 | Core::g_app_core->SetReg(1, memory_info.base_address); | ||
| 95 | Core::g_app_core->SetReg(2, memory_info.size); | ||
| 96 | Core::g_app_core->SetReg(3, memory_info.permission); | ||
| 97 | Core::g_app_core->SetReg(4, memory_info.state); | ||
| 98 | Core::g_app_core->SetReg(5, page_info.flags); | ||
| 99 | FuncReturn(retval); | ||
| 92 | } | 100 | } |
| 93 | 101 | ||
| 94 | template<ResultCode func(s32*, u32)> void Wrap(){ | 102 | template<ResultCode func(s32*, u32)> void Wrap(){ |