summaryrefslogtreecommitdiff
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2017-12-31 15:22:49 -0500
committerGravatar bunnei2017-12-31 15:22:49 -0500
commit3a91a62b8f80046f18b7629657e3679b1eb3deb4 (patch)
tree23c7bd6403b8b11b8707a8499dcdf06b1aa91ef1 /src/core/hle/svc.cpp
parentsvc: Minor cleanups. (diff)
downloadyuzu-3a91a62b8f80046f18b7629657e3679b1eb3deb4.tar.gz
yuzu-3a91a62b8f80046f18b7629657e3679b1eb3deb4.tar.xz
yuzu-3a91a62b8f80046f18b7629657e3679b1eb3deb4.zip
svc: Implement svcUnmapMemory.
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r--src/core/hle/svc.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 9f983ce0e..3b49686d7 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -41,6 +41,13 @@ static ResultCode MapMemory(VAddr dst_addr, VAddr src_addr, u64 size) {
41 return Kernel::g_current_process->MirrorMemory(dst_addr, src_addr, size); 41 return Kernel::g_current_process->MirrorMemory(dst_addr, src_addr, size);
42} 42}
43 43
44/// Unmaps a region that was previously mapped with svcMapMemory
45static ResultCode UnmapMemory(VAddr dst_addr, VAddr src_addr, u64 size) {
46 LOG_TRACE(Kernel_SVC, "called, dst_addr=0x%llx, src_addr=0x%llx, size=0x%llx", dst_addr,
47 src_addr, size);
48 return Kernel::g_current_process->UnmapMemory(dst_addr, src_addr, size);
49}
50
44/// Connect to an OS service given the port name, returns the handle to the port to out 51/// Connect to an OS service given the port name, returns the handle to the port to out
45static ResultCode ConnectToPort(Kernel::Handle* out_handle, VAddr port_name_address) { 52static ResultCode ConnectToPort(Kernel::Handle* out_handle, VAddr port_name_address) {
46 if (!Memory::IsValidVirtualAddress(port_name_address)) 53 if (!Memory::IsValidVirtualAddress(port_name_address))
@@ -241,7 +248,7 @@ static const FunctionDef SVC_Table[] = {
241 {0x02, nullptr, "svcSetMemoryPermission"}, 248 {0x02, nullptr, "svcSetMemoryPermission"},
242 {0x03, nullptr, "svcSetMemoryAttribute"}, 249 {0x03, nullptr, "svcSetMemoryAttribute"},
243 {0x04, HLE::Wrap<MapMemory>, "svcMapMemory"}, 250 {0x04, HLE::Wrap<MapMemory>, "svcMapMemory"},
244 {0x05, nullptr, "svcUnmapMemory"}, 251 {0x05, HLE::Wrap<UnmapMemory>, "svcUnmapMemory"},
245 {0x06, HLE::Wrap<QueryMemory>, "svcQueryMemory"}, 252 {0x06, HLE::Wrap<QueryMemory>, "svcQueryMemory"},
246 {0x07, nullptr, "svcExitProcess"}, 253 {0x07, nullptr, "svcExitProcess"},
247 {0x08, nullptr, "svcCreateThread"}, 254 {0x08, nullptr, "svcCreateThread"},