kern: revamp KMemoryRegionType to better encode derivation hierarchies

This commit is contained in:
Michael Scire authored and SciresM committed 2020-09-07 10:43:35 -07:00
1 parent d50c7c5c79
commit 1983f86875
17 files changed
+746 -426

No files matched your search

@@ -42,7 +42,7 @@ namespace ams::kern {
const KMemoryRegion *region = nullptr;
for (const auto &it : KMemoryLayout::GetVirtualMemoryRegionTree()) {
/* We only care about regions that we need to create managers for. */
if (!it.IsDerivedFrom(KMemoryRegionType_VirtualDramManagedPool)) {
if (!it.IsDerivedFrom(KMemoryRegionType_VirtualDramUserPool)) {
continue;
}
@@ -64,7 +64,7 @@ namespace ams::kern {
MESOSPHERE_ASSERT(region->GetAddress() != Null<decltype(region->GetAddress())>);
MESOSPHERE_ASSERT(region->GetSize() > 0);
MESOSPHERE_ASSERT(region->GetEndAddress() >= region->GetAddress());
MESOSPHERE_ASSERT(region->IsDerivedFrom(KMemoryRegionType_VirtualDramManagedPool));
MESOSPHERE_ASSERT(region->IsDerivedFrom(KMemoryRegionType_VirtualDramUserPool));
MESOSPHERE_ASSERT(region->GetAttributes() == this->num_managers);
/* Initialize a new manager for the region. */