mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-04 05:51:27 +12:00
fix memory mapping alignment
This commit is contained in:
parent
8826948c43
commit
4576a31f47
1 changed files with 8 additions and 1 deletions
|
@ -279,7 +279,14 @@ error_code sys_mmapper_map_shared_memory(u32 addr, u32 mem_id, u64 flags)
|
||||||
|
|
||||||
const auto mem = idm::get<lv2_obj, lv2_memory>(mem_id, [&](lv2_memory& mem) -> CellError
|
const auto mem = idm::get<lv2_obj, lv2_memory>(mem_id, [&](lv2_memory& mem) -> CellError
|
||||||
{
|
{
|
||||||
if (addr % mem.align)
|
const u32 page_alignment = area->flags & SYS_MEMORY_PAGE_SIZE_1M ? 0x100000 : 0x10000;
|
||||||
|
|
||||||
|
if (mem.align < page_alignment)
|
||||||
|
{
|
||||||
|
return CELL_EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (addr % page_alignment)
|
||||||
{
|
{
|
||||||
return CELL_EALIGN;
|
return CELL_EALIGN;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue