From 18644195615ed4ddf31361c9cc6825cc078059a7 Mon Sep 17 00:00:00 2001 From: Eladash Date: Fri, 19 Mar 2021 20:07:35 +0200 Subject: [PATCH] Fix SPU mapped memory page size --- rpcs3/Emu/Cell/SPUThread.cpp | 4 ++-- rpcs3/Emu/Memory/vm.cpp | 2 +- rpcs3/Emu/Memory/vm.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rpcs3/Emu/Cell/SPUThread.cpp b/rpcs3/Emu/Cell/SPUThread.cpp index f929d75e68..4a383a44ce 100644 --- a/rpcs3/Emu/Cell/SPUThread.cpp +++ b/rpcs3/Emu/Cell/SPUThread.cpp @@ -1724,12 +1724,12 @@ spu_thread::spu_thread(lv2_spu_group* group, u32 index, std::string_view name, u if (!group) { - ensure(vm::get(vm::spu)->falloc(vm_offset(), SPU_LS_SIZE, &shm)); + ensure(vm::get(vm::spu)->falloc(vm_offset(), SPU_LS_SIZE, &shm, 0x200)); } else { // 0x1000 indicates falloc to allocate page with no access rights in base memory - ensure(vm::get(vm::spu)->falloc(vm_offset(), SPU_LS_SIZE, &shm, 0x1000)); + ensure(vm::get(vm::spu)->falloc(vm_offset(), SPU_LS_SIZE, &shm, 0x1200)); } // Try to guess free area diff --git a/rpcs3/Emu/Memory/vm.cpp b/rpcs3/Emu/Memory/vm.cpp index 481801006c..29b3a28920 100644 --- a/rpcs3/Emu/Memory/vm.cpp +++ b/rpcs3/Emu/Memory/vm.cpp @@ -1642,7 +1642,7 @@ namespace vm nullptr, // rsx context std::make_shared(0xC0000000, 0x10000000, 0x220), // video std::make_shared(0xD0000000, 0x10000000, 0x131), // stack - std::make_shared(0xE0000000, 0x20000000), // SPU reserved + std::make_shared(0xE0000000, 0x20000000, 0x200), // SPU reserved }; std::memset(g_reservations, 0, sizeof(g_reservations)); diff --git a/rpcs3/Emu/Memory/vm.h b/rpcs3/Emu/Memory/vm.h index e27c6e24f9..ca5535f143 100644 --- a/rpcs3/Emu/Memory/vm.h +++ b/rpcs3/Emu/Memory/vm.h @@ -101,7 +101,7 @@ namespace vm bool try_alloc(u32 addr, u8 flags, u32 size, std::shared_ptr&&); public: - block_t(u32 addr, u32 size, u64 flags = 0); + block_t(u32 addr, u32 size, u64 flags); ~block_t();