diff options
author | Subv <subv2112@gmail.com> | 2016-04-18 04:07:52 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-05-13 03:00:32 +0200 |
commit | 1bd0cf542ff8db1cda572c4d92462643296af121 (patch) | |
tree | 8004faa76770c076e2d84d51a64c6419f796a477 /src/core/hle/service/csnd_snd.cpp | |
parent | Kernel/SVC: Fixed the register order for svcCreateMemoryBlock. (diff) | |
download | yuzu-1bd0cf542ff8db1cda572c4d92462643296af121.tar yuzu-1bd0cf542ff8db1cda572c4d92462643296af121.tar.gz yuzu-1bd0cf542ff8db1cda572c4d92462643296af121.tar.bz2 yuzu-1bd0cf542ff8db1cda572c4d92462643296af121.tar.lz yuzu-1bd0cf542ff8db1cda572c4d92462643296af121.tar.xz yuzu-1bd0cf542ff8db1cda572c4d92462643296af121.tar.zst yuzu-1bd0cf542ff8db1cda572c4d92462643296af121.zip |
Diffstat (limited to 'src/core/hle/service/csnd_snd.cpp')
-rw-r--r-- | src/core/hle/service/csnd_snd.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/hle/service/csnd_snd.cpp b/src/core/hle/service/csnd_snd.cpp index 6318bf2a7..d2bb8941c 100644 --- a/src/core/hle/service/csnd_snd.cpp +++ b/src/core/hle/service/csnd_snd.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include <cstring> +#include "common/alignment.h" #include "core/hle/hle.h" #include "core/hle/kernel/mutex.h" #include "core/hle/kernel/shared_memory.h" @@ -41,14 +42,16 @@ static Kernel::SharedPtr<Kernel::Mutex> mutex = nullptr; void Initialize(Service::Interface* self) { u32* cmd_buff = Kernel::GetCommandBuffer(); - shared_memory = Kernel::SharedMemory::Create(cmd_buff[1], - Kernel::MemoryPermission::ReadWrite, - Kernel::MemoryPermission::ReadWrite, "CSNDSharedMem"); + u32 size = Common::AlignUp(cmd_buff[1], Memory::PAGE_SIZE); + using Kernel::MemoryPermission; + shared_memory = Kernel::SharedMemory::Create(nullptr, size, + MemoryPermission::ReadWrite, MemoryPermission::ReadWrite, + 0, Kernel::MemoryRegion::BASE, "CSND:SharedMemory"); mutex = Kernel::Mutex::Create(false); - cmd_buff[1] = 0; - cmd_buff[2] = 0x4000000; + cmd_buff[1] = RESULT_SUCCESS.raw; + cmd_buff[2] = IPC::MoveHandleDesc(2); cmd_buff[3] = Kernel::g_handle_table.Create(mutex).MoveFrom(); cmd_buff[4] = Kernel::g_handle_table.Create(shared_memory).MoveFrom(); } |