|
|
|
@ -120,18 +120,6 @@ ResultCode SharedMemory::Map(Process* target_process, VAddr address, MemoryPermi |
|
|
|
return ERR_WRONG_PERMISSION; |
|
|
|
} |
|
|
|
|
|
|
|
// TODO(Subv): The same process that created a SharedMemory object
|
|
|
|
// can not map it in its own address space unless it was created with addr=0, result 0xD900182C.
|
|
|
|
|
|
|
|
if (address != 0) { |
|
|
|
// TODO(shinyquagsire23): Check for virtual/mappable memory here too?
|
|
|
|
if (address >= Memory::HEAP_VADDR && address < Memory::HEAP_VADDR_END) { |
|
|
|
LOG_ERROR(Kernel, "cannot map id=%u, address=0x%lx name=%s, invalid address", |
|
|
|
GetObjectId(), address, name.c_str()); |
|
|
|
return ERR_INVALID_ADDRESS; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
VAddr target_address = address; |
|
|
|
|
|
|
|
if (base_address == 0 && target_address == 0) { |
|
|
|
|