Update is_pooled and is_committed based on sceKernelMemoryPoolReserve tests

Seems like I've uncovered an issue with the memory pools implementation during my tests, as sceKernelMemoryPoolReserve uses a different memory type from sceKernelMemoryPoolDecommit in hardware tests.
This commit is contained in:
Stephen Miller 2025-01-22 08:23:38 -06:00
parent b4a17b7ac9
commit 4334dc0eda

View File

@ -529,8 +529,8 @@ int MemoryManager::VirtualQuery(VAddr addr, int flags,
info->is_flexible.Assign(vma.type == VMAType::Flexible); info->is_flexible.Assign(vma.type == VMAType::Flexible);
info->is_direct.Assign(vma.type == VMAType::Direct); info->is_direct.Assign(vma.type == VMAType::Direct);
info->is_stack.Assign(vma.type == VMAType::Stack); info->is_stack.Assign(vma.type == VMAType::Stack);
info->is_pooled.Assign(vma.type == VMAType::PoolReserved); info->is_pooled.Assign(vma.type == VMAType::PoolReserved || vma.type == VMAType::Pooled);
info->is_committed.Assign(vma.type != VMAType::Reserved); info->is_committed.Assign(vma.type != VMAType::Reserved && vma.type != VMAType::PoolReserved);
vma.name.copy(info->name.data(), std::min(info->name.size(), vma.name.size())); vma.name.copy(info->name.data(), std::min(info->name.size(), vma.name.size()));
if (vma.type == VMAType::Direct) { if (vma.type == VMAType::Direct) {
const auto dmem_it = FindDmemArea(vma.phys_base); const auto dmem_it = FindDmemArea(vma.phys_base);