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).
pull/8/head
Subv 10 years ago
parent 33c57361a9
commit 732839b1f4

@ -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);

Loading…
Cancel
Save