diff options
author | Subv <subv2112@gmail.com> | 2015-05-25 16:17:26 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2015-05-25 16:17:26 -0500 |
commit | 732839b1f48c255497c187c94a42c29afd43e3b2 (patch) | |
tree | 75d35066309e7bcdc7a0e90fbb0449da3f4e2d0e /src/core/hle/svc.cpp | |
parent | 33c57361a906425d004fe6e194c85b08a83bc5f6 (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/core/hle/svc.cpp')
-rw-r--r-- | src/core/hle/svc.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp index 347d241f9..ca3ff3328 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); |