diff --git a/rpcs3/Emu/Cell/lv2/sys_rsx.cpp b/rpcs3/Emu/Cell/lv2/sys_rsx.cpp index aa6712decb..d9e89a4ade 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 +}