aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Subv <subv2112@gmail.com>2015-05-25 16:17:26 -0500
committerGravatar Subv <subv2112@gmail.com>2015-05-25 16:17:26 -0500
commit732839b1f48c255497c187c94a42c29afd43e3b2 (patch)
tree75d35066309e7bcdc7a0e90fbb0449da3f4e2d0e /src
parent33c57361a906425d004fe6e194c85b08a83bc5f6 (diff)
Core/SVC: Map the shared memory created in CreateMemoryBlock to the specified address.
This SharedMemory can be passed to service functions (Which should map the memory into their own address space).
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/svc.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 347d241f..ca3ff332 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -654,6 +654,8 @@ static ResultCode CreateMemoryBlock(Handle* out_handle, u32 addr, u32 size, u32
using Kernel::MemoryPermission;
SharedPtr<SharedMemory> shared_memory = SharedMemory::Create(size,
(MemoryPermission)my_permission, (MemoryPermission)other_permission);
+ // Map the SharedMemory to the specified address
+ shared_memory->base_address = addr;
CASCADE_RESULT(*out_handle, Kernel::g_handle_table.Create(std::move(shared_memory)));
LOG_WARNING(Kernel_SVC, "(STUBBED) called addr=0x%08X", addr);