Commit 27908725b9e2ccabc5089eb6f8975c6b277de14b

Authored by bellard
1 parent dd016883

sparc64 syscall fix (Blue Swirl)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2199 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 8 additions and 0 deletions
linux-user/main.c
... ... @@ -559,10 +559,18 @@ void cpu_loop (CPUSPARCState *env)
559 559 env->regwptr[2], env->regwptr[3],
560 560 env->regwptr[4], env->regwptr[5]);
561 561 if ((unsigned int)ret >= (unsigned int)(-515)) {
  562 +#ifdef TARGET_SPARC64
  563 + env->xcc |= PSR_CARRY;
  564 +#else
562 565 env->psr |= PSR_CARRY;
  566 +#endif
563 567 ret = -ret;
564 568 } else {
  569 +#ifdef TARGET_SPARC64
  570 + env->xcc &= ~PSR_CARRY;
  571 +#else
565 572 env->psr &= ~PSR_CARRY;
  573 +#endif
566 574 }
567 575 env->regwptr[0] = ret;
568 576 /* next instruction */
... ...