From 9d03332d5a5c2ba4c364f2e2729640b6a38d2f82 Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 13 Jun 2019 20:55:04 +0300 Subject: [PATCH] Add sys_rsx_context_iomap workaround Don't fail with CELL_EINVAL on vm::main. --- rpcs3/Emu/Cell/lv2/sys_rsx.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rpcs3/Emu/Cell/lv2/sys_rsx.cpp b/rpcs3/Emu/Cell/lv2/sys_rsx.cpp index aa6712decb23..d9e89a4aded0 100644 --- a/rpcs3/Emu/Cell/lv2/sys_rsx.cpp +++ b/rpcs3/Emu/Cell/lv2/sys_rsx.cpp @@ -186,7 +186,7 @@ error_code sys_rsx_context_iomap(u32 context_id, u32 io, u32 ea, u32 size, u64 f for (u32 addr = ea, end = ea + size; addr < end; addr += 0x100000) { - if (!vm::check_addr(addr, 1, vm::page_allocated | vm::page_1m_size)) + if (!vm::check_addr(addr, 1, vm::page_allocated | (addr < 0x20000000 ? 0 : vm::page_1m_size))) { return CELL_EINVAL; } @@ -537,4 +537,4 @@ error_code sys_rsx_attribute(u32 packageId, u32 a2, u32 a3, u32 a4, u32 a5) sys_rsx.warning("sys_rsx_attribute(packageId=0x%x, a2=0x%x, a3=0x%x, a4=0x%x, a5=0x%x)", packageId, a2, a3, a4, a5); return CELL_OK; -} \ No newline at end of file +}