|
|
@ -59,13 +59,11 @@ static void MapPages(u32 base, u32 size, u8* memory, PageType type) {
|
|
|
|
while (base != end) {
|
|
|
|
while (base != end) {
|
|
|
|
ASSERT_MSG(base < PageTable::NUM_ENTRIES, "out of range mapping at %08X", base);
|
|
|
|
ASSERT_MSG(base < PageTable::NUM_ENTRIES, "out of range mapping at %08X", base);
|
|
|
|
|
|
|
|
|
|
|
|
if (current_page_table->attributes[base] != PageType::Unmapped && type != PageType::Unmapped) {
|
|
|
|
|
|
|
|
LOG_ERROR(HW_Memory, "overlapping memory ranges at %08X", base * PAGE_SIZE);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
current_page_table->attributes[base] = type;
|
|
|
|
current_page_table->attributes[base] = type;
|
|
|
|
current_page_table->pointers[base] = memory;
|
|
|
|
current_page_table->pointers[base] = memory;
|
|
|
|
|
|
|
|
|
|
|
|
base += 1;
|
|
|
|
base += 1;
|
|
|
|
|
|
|
|
if (memory != nullptr)
|
|
|
|
memory += PAGE_SIZE;
|
|
|
|
memory += PAGE_SIZE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|