summaryrefslogtreecommitdiffstats
path: root/include/exec
diff options
context:
space:
mode:
authorPeter Crosthwaite <crosthwaitepeter@gmail.com>2015-08-17 20:28:18 -0700
committerStefan Weil <sw@weilnetz.de>2015-08-26 20:50:46 +0200
commita17d448274575efbfcc1c04ec2641a0afeb74e17 (patch)
tree2f5b151173a6d328bb6a2fedc6d8f454ba85789b /include/exec
parent47c9dfee808f9455d732aea7c4390ad0972bbd84 (diff)
downloadhqemu-a17d448274575efbfcc1c04ec2641a0afeb74e17.zip
hqemu-a17d448274575efbfcc1c04ec2641a0afeb74e17.tar.gz
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>
Diffstat (limited to 'include/exec')
-rw-r--r--include/exec/exec-all.h6
1 files changed, 1 insertions, 5 deletions
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index fbc6dcb..83b9251 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -357,11 +357,7 @@ extern uintptr_t tci_tb_ptr;
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
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
-#endif
+#define GETPC_ADJ 2
#define GETPC() (GETRA() - GETPC_ADJ)
OpenPOWER on IntegriCloud