diff options
| author | Anthony Liguori <anthony@codemonkey.ws> | 2013-10-09 07:52:57 -0700 |
|---|---|---|
| committer | Anthony Liguori <anthony@codemonkey.ws> | 2013-10-09 07:52:57 -0700 |
| commit | 576e81be39ee195b9fd7c948fed16ed6846cef3a (patch) | |
| tree | 786282c29a235d8fcb613596166f33f0d93a60c9 /include/exec/exec-all.h | |
| parent | 9e8f8b1cd8e1b85dc93c367c4745f9944079a37b (diff) | |
| parent | ee06e23051251c00778edf54fb930198df0e873a (diff) | |
| download | focaccia-qemu-576e81be39ee195b9fd7c948fed16ed6846cef3a.tar.gz focaccia-qemu-576e81be39ee195b9fd7c948fed16ed6846cef3a.zip | |
Merge remote-tracking branch 'rth/tcg-arm-pull' into staging
# By Richard Henderson # Via Richard Henderson * rth/tcg-arm-pull: tcg-arm: Move the tlb addend load earlier tcg-arm: Remove restriction on qemu_ld output register tcg-arm: Return register containing tlb addend tcg-arm: Move load of tlb addend into tcg_out_tlb_read tcg-arm: Use QEMU_BUILD_BUG_ON to verify constraints on tlb tcg-arm: Use strd for tcg_out_arg_reg64 tcg-arm: Rearrange slow-path qemu_ld/st tcg-arm: Use ldrd/strd for appropriate qemu_ld/st64 Message-id: 1380663109-14434-1-git-send-email-rth@twiddle.net Signed-off-by: Anthony Liguori <anthony@codemonkey.ws>
Diffstat (limited to 'include/exec/exec-all.h')
| -rw-r--r-- | include/exec/exec-all.h | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index dc27f33152..8dd15948d8 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -324,21 +324,7 @@ extern uintptr_t tci_tb_ptr; In some implementations, we pass the "logical" return address manually; in others, we must infer the logical return from the true return. */ #if defined(CONFIG_QEMU_LDST_OPTIMIZATION) && defined(CONFIG_SOFTMMU) -# if defined(__arm__) -/* We define two insns between the return address and the branch back to - straight-line. Find and decode that branch insn. */ -# define GETRA_LDST(RA) tcg_getra_ldst(RA) -static inline uintptr_t tcg_getra_ldst(uintptr_t ra) -{ - int32_t b; - ra += 8; /* skip the two insns */ - b = *(int32_t *)ra; /* load the branch insn */ - b = (b << 8) >> (8 - 2); /* extract the displacement */ - ra += 8; /* branches are relative to pc+8 */ - ra += b; /* apply the displacement */ - return ra; -} -# elif defined(__aarch64__) +# if defined(__aarch64__) # define GETRA_LDST(RA) tcg_getra_ldst(RA) static inline uintptr_t tcg_getra_ldst(uintptr_t ra) { |