mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-10 02:54:58 -06:00
sparc64 syscall fix (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2199 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
dd016883fb
commit
27908725b9
1 changed files with 8 additions and 0 deletions
|
@ -559,10 +559,18 @@ void cpu_loop (CPUSPARCState *env)
|
||||||
env->regwptr[2], env->regwptr[3],
|
env->regwptr[2], env->regwptr[3],
|
||||||
env->regwptr[4], env->regwptr[5]);
|
env->regwptr[4], env->regwptr[5]);
|
||||||
if ((unsigned int)ret >= (unsigned int)(-515)) {
|
if ((unsigned int)ret >= (unsigned int)(-515)) {
|
||||||
|
#ifdef TARGET_SPARC64
|
||||||
|
env->xcc |= PSR_CARRY;
|
||||||
|
#else
|
||||||
env->psr |= PSR_CARRY;
|
env->psr |= PSR_CARRY;
|
||||||
|
#endif
|
||||||
ret = -ret;
|
ret = -ret;
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef TARGET_SPARC64
|
||||||
|
env->xcc &= ~PSR_CARRY;
|
||||||
|
#else
|
||||||
env->psr &= ~PSR_CARRY;
|
env->psr &= ~PSR_CARRY;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
env->regwptr[0] = ret;
|
env->regwptr[0] = ret;
|
||||||
/* next instruction */
|
/* next instruction */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue