diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index 835cfc74df..7554a35d2d 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp @@ -42,7 +42,7 @@ u64 DynarmicCallbacks32::MemoryRead64(u32 vaddr) { std::optional DynarmicCallbacks32::MemoryReadCode(u32 vaddr) { if (!m_memory.IsValidVirtualAddressRange(vaddr, sizeof(u32))) return std::nullopt; - auto const aligned_vaddr = vaddr & ~Core::Memory::YUZU_PAGEMASK; + auto const aligned_vaddr = vaddr & u32(~Core::Memory::YUZU_PAGEMASK); if (last_code_addr != aligned_vaddr) { m_memory.ReadBlock(aligned_vaddr, &cached_code_page, sizeof(cached_code_page)); last_code_addr = aligned_vaddr; @@ -420,12 +420,12 @@ void ArmDynarmic32::SignalInterrupt(Kernel::KThread* thread) { } void ArmDynarmic32::ClearInstructionCache() { - m_cb->last_code_addr = u64(-1); + m_cb->last_code_addr = u32(-1); m_jit->ClearCache(); } void ArmDynarmic32::InvalidateCacheRange(u64 addr, std::size_t size) { - m_cb->last_code_addr = u64(-1); + m_cb->last_code_addr = u32(-1); m_jit->InvalidateCacheRange(u32(addr), size); } diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.h b/src/core/arm/dynarmic/arm_dynarmic_32.h index 623597152f..2b3e72d087 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.h +++ b/src/core/arm/dynarmic/arm_dynarmic_32.h @@ -54,7 +54,7 @@ public: void ReturnException(u32 pc, Dynarmic::HaltReason hr); // Dynarmic::CodePage cached_code_page; - u64 last_code_addr = u64(-1); + u32 last_code_addr = u32(-1); ArmDynarmic32& m_parent; Core::Memory::Memory& m_memory; Kernel::KProcess* m_process{}; diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index de8773c6a3..e5ffbfd476 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp @@ -105,7 +105,7 @@ void DynarmicCallbacks64::InstructionCacheOperationRaised(Dynarmic::A64::Instruc last_code_addr = u64(-1); //invalidate cached page switch (op) { case Dynarmic::A64::InstructionCacheOperation::InvalidateByVAToPoU: { - static constexpr u64 ICACHE_LINE_SIZE = 64; + constexpr u64 ICACHE_LINE_SIZE = 64; const u64 cache_line_start = value & ~(ICACHE_LINE_SIZE - 1); m_parent.InvalidateCacheRange(cache_line_start, ICACHE_LINE_SIZE); break;