From: bellard Date: Mon, 23 Oct 2006 21:31:01 +0000 (+0000) Subject: sparc64 syscall fix (Blue Swirl) X-Git-Tag: release_0_9_0-iwjtag~202 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=37d0124475ad6e81c3b54728a724763b3d84c3a0;p=qemu-xen-3.4-testing.git sparc64 syscall fix (Blue Swirl) --- diff --git a/linux-user/main.c b/linux-user/main.c index 53bf1bb9..38e94d27 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -559,10 +559,18 @@ void cpu_loop (CPUSPARCState *env) env->regwptr[2], env->regwptr[3], env->regwptr[4], env->regwptr[5]); if ((unsigned int)ret >= (unsigned int)(-515)) { +#ifdef TARGET_SPARC64 + env->xcc |= PSR_CARRY; +#else env->psr |= PSR_CARRY; +#endif ret = -ret; } else { +#ifdef TARGET_SPARC64 + env->xcc &= ~PSR_CARRY; +#else env->psr &= ~PSR_CARRY; +#endif } env->regwptr[0] = ret; /* next instruction */