summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/csnd_snd.cpp
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2016-04-18 04:07:52 +0200
committerSubv <subv2112@gmail.com>2016-05-13 03:00:32 +0200
commit1bd0cf542ff8db1cda572c4d92462643296af121 (patch)
tree8004faa76770c076e2d84d51a64c6419f796a477 /src/core/hle/service/csnd_snd.cpp
parentKernel/SVC: Fixed the register order for svcCreateMemoryBlock. (diff)
downloadyuzu-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.cpp13
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();
}