| 921 | const auto [pointer, type] = page_table.entries[page].pointer.PointerType(); |
| 922 | return pointer != 0 || type == Common::PageType::RasterizerCachedMemory || |
| 923 | type == Common::PageType::DebugMemory; |
| 924 | } |
| 925 | |
| 926 | bool Memory::IsValidVirtualAddressRange(Common::ProcessAddress base, u64 size) const { |
| 927 | Common::ProcessAddress end = base + size; |
| 928 | Common::ProcessAddress page = Common::AlignDown(GetInteger(base), CITRON_PAGESIZE); |
| 929 | for (; page < end; page += CITRON_PAGESIZE) |
| 930 | if (!IsValidVirtualAddress(page)) |
| 931 | return false; |
| 932 | return true; |
| 933 | } |
no test coverage detected