summaryrefslogtreecommitdiff
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
authorAleksandar Markovic <aleksandar.markovic@imgtec.com>2016-09-19 13:44:42 +0200
committerLeon Alrae <leon.alrae@imgtec.com>2016-09-23 07:07:34 +0100
commitd7779acb30489729431436e71afb1fd36ef1966d (patch)
tree32951791a78893c7216454979f9860043845a278 /linux-user/syscall.c
parent2ef4186964653671ef899016c05d44e7b71cf4a6 (diff)
downloadqemu-d7779acb30489729431436e71afb1fd36ef1966d.tar.gz
qemu-d7779acb30489729431436e71afb1fd36ef1966d.tar.bz2
qemu-d7779acb30489729431436e71afb1fd36ef1966d.zip
linux-user: Fix certain argument alignment cases for Mips64
The function that is changed in this patch is supposed to indicate that there was certain argument rearrangement related to 64-bit arguments on 32-bit platforms. The background on such rearrangements can be found, for example, in the man page for syscall(2). However, for 64-bit Mips architectures there is no such rearrangement, and this patch reflects it. Signed-off-by: Aleksandar Rikalo <aleksandar.rikalo@imgtec.com> Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Leon Alrae <leon.alrae@imgtec.com> Acked-by: Riku Voipio <riku.voipio@linaro.org> Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r--linux-user/syscall.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 7aa2c1d720..116e463568 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -658,7 +658,7 @@ static inline int next_free_host_timer(void)
static inline int regpairs_aligned(void *cpu_env) {
return ((((CPUARMState *)cpu_env)->eabi) == 1) ;
}
-#elif defined(TARGET_MIPS)
+#elif defined(TARGET_MIPS) && (TARGET_ABI_BITS == 32)
static inline int regpairs_aligned(void *cpu_env) { return 1; }
#elif defined(TARGET_PPC) && !defined(TARGET_PPC64)
/* SysV AVI for PPC32 expects 64bit parameters to be passed on odd/even pairs