mirror of https://github.com/xemu-project/xemu.git
exec-all: Translate TCI return addresses backwards too
This subtraction of return addresses applies directly to TCI as well as host-TCG. This fixes Linux boots for at least Microblaze, CRIS, ARM and SH4 when using TCI. [sw: Removed indentation for preprocessor statement] [sw: The patch also fixes Linux boot for x86_64] Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
This commit is contained in:
parent
47c9dfee80
commit
a17d448274
include/exec
|
@ -357,11 +357,7 @@ extern uintptr_t tci_tb_ptr;
|
||||||
to indicate the compressed mode; subtracting two works around that. It
|
to indicate the compressed mode; subtracting two works around that. It
|
||||||
is also the case that there are no host isas that contain a call insn
|
is also the case that there are no host isas that contain a call insn
|
||||||
smaller than 4 bytes, so we don't worry about special-casing this. */
|
smaller than 4 bytes, so we don't worry about special-casing this. */
|
||||||
#if defined(CONFIG_TCG_INTERPRETER)
|
|
||||||
# define GETPC_ADJ 0
|
|
||||||
#else
|
|
||||||
#define GETPC_ADJ 2
|
#define GETPC_ADJ 2
|
||||||
#endif
|
|
||||||
|
|
||||||
#define GETPC() (GETRA() - GETPC_ADJ)
|
#define GETPC() (GETRA() - GETPC_ADJ)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue