summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/svc_wrap.h
diff options
context:
space:
mode:
authoritsmeft24 <rishabh.tumminkatti@gmail.com>2021-12-05 21:04:08 +0100
committeritsmeft24 <rishabh.tumminkatti@gmail.com>2021-12-05 21:04:08 +0100
commit8aef8f39d86affd8fcc9a812d3d597f8eaee90b8 (patch)
treec0249fef800fad1f0ad0b027b85a1801ac41e294 /src/core/hle/kernel/svc_wrap.h
parentMerge pull request #7494 from Morph1984/no-time-to-wait (diff)
downloadyuzu-8aef8f39d86affd8fcc9a812d3d597f8eaee90b8.tar
yuzu-8aef8f39d86affd8fcc9a812d3d597f8eaee90b8.tar.gz
yuzu-8aef8f39d86affd8fcc9a812d3d597f8eaee90b8.tar.bz2
yuzu-8aef8f39d86affd8fcc9a812d3d597f8eaee90b8.tar.lz
yuzu-8aef8f39d86affd8fcc9a812d3d597f8eaee90b8.tar.xz
yuzu-8aef8f39d86affd8fcc9a812d3d597f8eaee90b8.tar.zst
yuzu-8aef8f39d86affd8fcc9a812d3d597f8eaee90b8.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/svc_wrap.h27
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, &param_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;