Hello, The following patches enable us to relax the 128MB code buffer size limitation on ARM64 hosts.
Patch 2 increases this limitation to 3GB, even though ADRP+ADD can address 4GB of pc-relative addresses to give us some slack. Patch 3 uses LDR (literal) to load the address, allowing us to remove the code buffer size limitation altogether. However, I feel that 3GB should be sufficient for now and hence did not change it ;). It however enables the !USE_DIRECT_JUMP path on aarch64 hosts. Thanks, v3: * Update with comments and reviews by Richard Pranith Kumar (3): tcg/aarch64: Introduce and use long branch to register tcg/aarch64: Use ADRP+ADD to compute target address tcg/aarch64: Enable indirect jump path using LDR (literal) accel/tcg/translate-all.c | 2 +- tcg/aarch64/tcg-target.inc.c | 77 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 64 insertions(+), 15 deletions(-) -- 2.13.0