aboutsummaryrefslogtreecommitdiff
path: root/tcg/sparc
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-24 16:41:17 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-24 16:41:17 +0000
commit77fcd0934a2076beb5b174f54b81fc1d7e76f7ec (patch)
treea227ead0fd3060c7810c39ed6617af64faf3cc43 /tcg/sparc
parent3ce7a69f151420f5ec7edd40c745f21206da3ce3 (diff)
downloadqemu-77fcd0934a2076beb5b174f54b81fc1d7e76f7ec.zip
qemu-77fcd0934a2076beb5b174f54b81fc1d7e76f7ec.tar.gz
qemu-77fcd0934a2076beb5b174f54b81fc1d7e76f7ec.tar.bz2
Fix stack offsets and alignment
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4559 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'tcg/sparc')
-rw-r--r--tcg/sparc/tcg-target.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/tcg/sparc/tcg-target.h b/tcg/sparc/tcg-target.h
index 996e54a..4a0c831 100644
--- a/tcg/sparc/tcg-target.h
+++ b/tcg/sparc/tcg-target.h
@@ -73,17 +73,14 @@ enum {
/* used for function call generation */
#define TCG_REG_CALL_STACK TCG_REG_O6
-#define TCG_TARGET_STACK_ALIGN 16
#ifdef __arch64__
-#define TCG_TARGET_CALL_STACK_OFFSET 2047
-#else
-#define TCG_TARGET_CALL_STACK_OFFSET 0
-#endif
-
-#if defined(__sparc_v9__) && !defined(__sparc_v8plus__)
#define TCG_TARGET_STACK_MINFRAME 176
+#define TCG_TARGET_CALL_STACK_OFFSET (2047 + 176)
+#define TCG_TARGET_STACK_ALIGN 16
#else
#define TCG_TARGET_STACK_MINFRAME 92
+#define TCG_TARGET_CALL_STACK_OFFSET 92
+#define TCG_TARGET_STACK_ALIGN 8
#endif
/* optional instructions */