unicorn/qemu
Laurent Vivier ec12091943
tcg: workaround branch instruction overflow in tcg_out_qemu_ld/st
ppc64 uses a BC instruction to call the tcg_out_qemu_ld/st
slow path. BC instruction uses a relative address encoded
on 14 bits.

The slow path functions are added at the end of the generated
instructions buffer, in the reverse order of the callers.
So more we have slow path functions more the distance between
the caller (BC) and the function increases.

This patch changes the behavior to generate the functions in
the same order of the callers.

Backports commit 6001f7729e12dd1d810291e4cbf83cee8e07441d from qemu
2018-05-03 15:09:07 -04:00
..
accel icount: fix cpu_restore_state_from_tb for non-tb-exit cases 2018-04-11 20:05:40 -04:00
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
docs docs: clarify memory region lifecycle 2018-02-12 15:11:21 -05:00
fpu fpu: Bound increment for scalbn 2018-04-18 09:21:03 -04:00
hw Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
include icount: fix cpu_restore_state_from_tb for non-tb-exit cases 2018-04-11 20:05:40 -04:00
qapi qapi: Make more of qobject_to() 2018-03-20 11:05:44 -04:00
qobject qobject: introduce qobject_get_try_str() 2018-03-20 11:10:03 -04:00
qom object: Add assert to ensure uc is not null 2018-03-21 12:47:44 -04:00
scripts qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
target m68k: remove dead code (Coverity CID1390617) 2018-05-01 11:44:18 -04:00
tcg tcg: workaround branch instruction overflow in tcg_out_qemu_ld/st 2018-05-03 15:09:07 -04:00
util qemu-thread-win32: Prevent null pointer dereference in win32_start_routine 2018-03-21 12:42:44 -04:00
aarch64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
aarch64eb.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
armeb.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure tcg: fix 16-byte vector operations detection 2018-04-07 23:03:11 -04:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
exec.c cpu: Convert cpu_index into a bitmap 2018-03-21 08:06:07 -04:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
Makefile qapi: Don't create useless directory qapi-generated 2018-03-09 11:36:49 -05:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target tcg: move tcg backend files into accel/tcg/ 2018-03-13 11:48:15 -04:00
memory.c memory: Protect against use-after-free 2018-03-21 09:40:33 -04:00
memory_ldst.inc.c exec: Drop unnecessary code for unicorn 2018-03-12 10:11:46 -04:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
mips64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
mips64el.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
mipsel.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
powerpc.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
sparc64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00
unicorn_common.h cpu: Convert cpu_index into a bitmap 2018-03-21 08:06:07 -04:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h tcg: Improve TCGv_ptr support 2018-05-03 15:05:43 -04:00