mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-12-09 21:31:04 +00:00
Allow overlapping direct memory mappings (#3648)
Real hardware allows this, and it worked fine in the past, so allow it here.
This commit is contained in:
@@ -350,7 +350,7 @@ s32 MemoryManager::MapMemory(void** out_addr, VAddr virtual_addr, u64 size, Memo
|
|||||||
do {
|
do {
|
||||||
auto dmem_area = FindDmemArea(phys_addr + validated_size)->second;
|
auto dmem_area = FindDmemArea(phys_addr + validated_size)->second;
|
||||||
// If any requested dmem area is not allocated, return an error.
|
// If any requested dmem area is not allocated, return an error.
|
||||||
if (dmem_area.dma_type != DMAType::Allocated) {
|
if (dmem_area.dma_type != DMAType::Allocated && dmem_area.dma_type != DMAType::Mapped) {
|
||||||
LOG_ERROR(Kernel_Vmm, "Unable to map {:#x} bytes at physical address {:#x}", size,
|
LOG_ERROR(Kernel_Vmm, "Unable to map {:#x} bytes at physical address {:#x}", size,
|
||||||
phys_addr);
|
phys_addr);
|
||||||
return ORBIS_KERNEL_ERROR_ENOMEM;
|
return ORBIS_KERNEL_ERROR_ENOMEM;
|
||||||
|
|||||||
Reference in New Issue
Block a user