diff options
author | bunnei <bunneidev@gmail.com> | 2021-12-09 09:29:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-09 09:29:09 +0100 |
commit | 46366c6dcaa47fe7bccb021c90b77d0d8be23b6f (patch) | |
tree | 3267f43c67c15e88524cb9d6106726eb8e89ea9d /src/core/hle/kernel/svc_wrap.h | |
parent | Merge pull request #7545 from Morph1984/qt-deprecated-warn (diff) | |
parent | Update k_code_memory.h (diff) | |
download | yuzu-46366c6dcaa47fe7bccb021c90b77d0d8be23b6f.tar yuzu-46366c6dcaa47fe7bccb021c90b77d0d8be23b6f.tar.gz yuzu-46366c6dcaa47fe7bccb021c90b77d0d8be23b6f.tar.bz2 yuzu-46366c6dcaa47fe7bccb021c90b77d0d8be23b6f.tar.lz yuzu-46366c6dcaa47fe7bccb021c90b77d0d8be23b6f.tar.xz yuzu-46366c6dcaa47fe7bccb021c90b77d0d8be23b6f.tar.zst yuzu-46366c6dcaa47fe7bccb021c90b77d0d8be23b6f.zip |
Diffstat (limited to 'src/core/hle/kernel/svc_wrap.h')
-rw-r--r-- | src/core/hle/kernel/svc_wrap.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/hle/kernel/svc_wrap.h b/src/core/hle/kernel/svc_wrap.h index 6e62e656f..86255fe6d 100644 --- a/src/core/hle/kernel/svc_wrap.h +++ b/src/core/hle/kernel/svc_wrap.h @@ -73,6 +73,23 @@ void SvcWrap64(Core::System& system) { .raw); } +// Used by MapProcessMemory and UnmapProcessMemory +template <ResultCode func(Core::System&, u64, u32, u64, u64)> +void SvcWrap64(Core::System& system) { + FuncReturn(system, func(system, Param(system, 0), static_cast<u32>(Param(system, 1)), + Param(system, 2), Param(system, 3)) + .raw); +} + +// Used by ControlCodeMemory +template <ResultCode func(Core::System&, Handle, u32, u64, u64, Svc::MemoryPermission)> +void SvcWrap64(Core::System& system) { + FuncReturn(system, func(system, static_cast<Handle>(Param(system, 0)), + static_cast<u32>(Param(system, 1)), Param(system, 2), Param(system, 3), + static_cast<Svc::MemoryPermission>(Param(system, 4))) + .raw); +} + template <ResultCode func(Core::System&, u32*)> void SvcWrap64(Core::System& system) { u32 param = 0; @@ -301,6 +318,16 @@ void SvcWrap64(Core::System& system) { FuncReturn(system, retval); } +// Used by CreateCodeMemory +template <ResultCode func(Core::System&, Handle*, u64, u64)> +void SvcWrap64(Core::System& system) { + u32 param_1 = 0; + const u32 retval = func(system, ¶m_1, Param(system, 1), Param(system, 2)).raw; + + system.CurrentArmInterface().SetReg(1, param_1); + FuncReturn(system, retval); +} + template <ResultCode func(Core::System&, Handle*, u64, u32, u32)> void SvcWrap64(Core::System& system) { u32 param_1 = 0; |