Browse Source

[dynarmic] fix qlaunch on android

Signed-off-by: lizzie <lizzie@eden-emu.dev>
pull/3310/head
lizzie 3 weeks ago
parent
commit
7116aba115
  1. 5
      src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp

5
src/dynarmic/src/dynarmic/backend/arm64/emit_arm64_memory.cpp

@ -268,7 +268,10 @@ std::pair<oaknut::XReg, oaknut::XReg> InlinePageTableEmitVAddrLookup(oaknut::Cod
code.B(NE, *fallback);
}
code.LDR(Xscratch0, Xpagetable, Xscratch0, LSL, ctx.conf.page_table_log2_stride);
// index = index << log2
code.SBFIZ(Xscratch0, Xscratch0, ctx.conf.page_table_log2_stride, 32);
// load x0 = *<(u8*)pagetable + index>
code.LDR(Xscratch0, Xpagetable, Xscratch0);
if (ctx.conf.page_table_pointer_mask_bits != 0) {
const u64 mask = u64(~u64(0)) << ctx.conf.page_table_pointer_mask_bits;

Loading…
Cancel
Save