From 16c7c03b3370ad3a3f9e9b24a8102172814edcf9 Mon Sep 17 00:00:00 2001 From: lizzie Date: Tue, 20 Jan 2026 19:20:52 +0100 Subject: [PATCH] [dynarmic] fix 64-bit indexing in pagetable being cutoff on ARM64 (#3314) Signed-off-by: lizzie Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3314 Reviewed-by: DraVee Reviewed-by: MaranBr Co-authored-by: lizzie Co-committed-by: lizzie --- src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp b/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp index 25020523c3..75c898a1cd 100644 --- a/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp +++ b/src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp @@ -269,7 +269,7 @@ std::pair InlinePageTableEmitVAddrLookup(oaknut::Cod } // index = index << log2 - code.SBFIZ(Xscratch0, Xscratch0, ctx.conf.page_table_log2_stride, 32); + code.LSL(Xscratch0, Xscratch0, ctx.conf.page_table_log2_stride); // load x0 = *<(u8*)pagetable + index> code.LDR(Xscratch0, Xpagetable, Xscratch0);