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,
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 | 69 +++++++++++++++++++++++++++++++++++---------
2 files changed, 56 insertions(+), 15 deletions(-)
--
2.13.0