summaryrefslogtreecommitdiff
path: root/dyngen-exec.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-03-17 23:46:04 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-03-17 23:46:04 +0000
commitbc51c5c989c12b3936b78c5772a3308629a7484c (patch)
tree73f24550783bf7685add8e5828ffd28815759c7f /dyngen-exec.h
parent5069146392ab358b106ed6a7a05440c69924448d (diff)
initial x86-64 host support (Gwenole Beauchesne)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@670 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'dyngen-exec.h')
-rw-r--r--dyngen-exec.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/dyngen-exec.h b/dyngen-exec.h
index da23e0e6a6..5e9bab6f9a 100644
--- a/dyngen-exec.h
+++ b/dyngen-exec.h
@@ -68,6 +68,14 @@ extern int printf(const char *, ...);
#define AREG2 "esi"
#define AREG3 "edi"
#endif
+#ifdef __x86_64__
+#define AREG0 "rbp"
+#define AREG1 "rbx"
+#define AREG2 "r12"
+#define AREG3 "r13"
+#define AREG4 "r14"
+#define AREG5 "r15"
+#endif
#ifdef __powerpc__
#define AREG0 "r27"
#define AREG1 "r24"
@@ -188,6 +196,9 @@ extern int __op_jmp0, __op_jmp1, __op_jmp2, __op_jmp3;
#ifdef __i386__
#define EXIT_TB() asm volatile ("ret")
#endif
+#ifdef __x86_64__
+#define EXIT_TB() asm volatile ("ret")
+#endif
#ifdef __powerpc__
#define EXIT_TB() asm volatile ("blr")
#endif