summaryrefslogtreecommitdiffstats
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 7f58be6de..462d68386 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -37,14 +37,14 @@ PageTable* GetCurrentPageTable() {
return current_page_table;
}
-static void MapPages(PageTable& page_table, u32 base, u32 size, u8* memory, PageType type) {
+static void MapPages(PageTable& page_table, VAddr base, u32 size, u8* memory, PageType type) {
LOG_DEBUG(HW_Memory, "Mapping %p onto %08X-%08X", memory, base * PAGE_SIZE,
(base + size) * PAGE_SIZE);
RasterizerFlushVirtualRegion(base << PAGE_BITS, size * PAGE_SIZE,
FlushMode::FlushAndInvalidate);
- u32 end = base + size;
+ VAddr end = base + size;
while (base != end) {
ASSERT_MSG(base < PAGE_TABLE_NUM_ENTRIES, "out of range mapping at %08X", base);
@@ -303,7 +303,7 @@ u8* GetPhysicalPointer(PAddr address) {
return nullptr;
}
- u32 offset_into_region = address - area->paddr_base;
+ u64 offset_into_region = address - area->paddr_base;
u8* target_pointer = nullptr;
switch (area->paddr_base) {
@@ -339,7 +339,7 @@ void RasterizerMarkRegionCached(PAddr start, u32 size, int count_delta) {
return;
}
- u32 num_pages = ((start + size - 1) >> PAGE_BITS) - (start >> PAGE_BITS) + 1;
+ u64 num_pages = ((start + size - 1) >> PAGE_BITS) - (start >> PAGE_BITS) + 1;
PAddr paddr = start;
for (unsigned i = 0; i < num_pages; ++i, paddr += PAGE_SIZE) {
@@ -443,7 +443,7 @@ void RasterizerFlushVirtualRegion(VAddr start, u32 size, FlushMode mode) {
VAddr overlap_end = std::min(end, region_end);
PAddr physical_start = TryVirtualToPhysicalAddress(overlap_start).value();
- u32 overlap_size = overlap_end - overlap_start;
+ u32 overlap_size = static_cast<u32>(overlap_end - overlap_start);
auto* rasterizer = VideoCore::g_renderer->Rasterizer();
switch (mode) {