All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/3] Relax code buffer size limitation on aarch64 hosts
@ 2017-06-29  7:52 Pranith Kumar
  2017-06-29  7:52 ` [Qemu-devel] [PATCH v2 1/3] tcg/aarch64: Introduce and use long branch to register Pranith Kumar
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Pranith Kumar @ 2017-06-29  7:52 UTC (permalink / raw)
  To: alex.bennee; +Cc: qemu-devel, rth

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

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v3 0/3] Relax code buffer size limitation on aarch64 hosts
@ 2017-06-30  0:40 Pranith Kumar
  2017-06-30  0:40 ` [Qemu-devel] [PATCH v3 3/3] tcg/aarch64: Enable indirect jump path using LDR (literal) Pranith Kumar
  0 siblings, 1 reply; 8+ messages in thread
From: Pranith Kumar @ 2017-06-30  0:40 UTC (permalink / raw)
  To: alex.bennee; +Cc: qemu-devel, rth

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-06-30  0:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-29  7:52 [Qemu-devel] [PATCH v2 0/3] Relax code buffer size limitation on aarch64 hosts Pranith Kumar
2017-06-29  7:52 ` [Qemu-devel] [PATCH v2 1/3] tcg/aarch64: Introduce and use long branch to register Pranith Kumar
2017-06-29 16:24   ` Richard Henderson
2017-06-29  7:52 ` [Qemu-devel] [PATCH v2 2/3] tcg/aarch64: Use ADRP+ADD to compute target address Pranith Kumar
2017-06-29 16:36   ` Richard Henderson
2017-06-29  7:52 ` [Qemu-devel] [PATCH v3 3/3] tcg/aarch64: Enable indirect jump path using LDR (literal) Pranith Kumar
2017-06-29 16:41   ` Richard Henderson
2017-06-30  0:40 [Qemu-devel] [PATCH v3 0/3] Relax code buffer size limitation on aarch64 hosts Pranith Kumar
2017-06-30  0:40 ` [Qemu-devel] [PATCH v3 3/3] tcg/aarch64: Enable indirect jump path using LDR (literal) Pranith Kumar

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.