[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] qemu/linux-user main.c
From: |
Fabrice Bellard |
Subject: |
[Qemu-devel] qemu/linux-user main.c |
Date: |
Wed, 14 Jun 2006 13:37:55 +0000 |
CVSROOT: /sources/qemu
Module name: qemu
Changes by: Fabrice Bellard <bellard> 06/06/14 13:37:55
Modified files:
linux-user : main.c
Log message:
MIPS FPU support in linux user emulation
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/main.c?cvsroot=qemu&r1=1.84&r2=1.85
Patches:
Index: main.c
===================================================================
RCS file: /sources/qemu/qemu/linux-user/main.c,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -b -r1.84 -r1.85
--- main.c 11 Jun 2006 13:32:59 -0000 1.84
+++ main.c 14 Jun 2006 13:37:55 -0000 1.85
@@ -1327,7 +1327,6 @@
arg5,
arg6);
}
- fail:
env->PC += 4;
if ((unsigned int)ret >= (unsigned int)(-1133)) {
env->gpr[7] = 1; /* error flag */
@@ -1342,40 +1341,11 @@
break;
case EXCP_CpU:
case EXCP_RI:
- {
- uint32_t insn, op;
-
- insn = tget32(env->PC);
- op = insn >> 26;
- // printf("insn=%08x op=%02x\n", insn, op);
- /* XXX: totally dummy FP ops just to be able to launch
- a few executables */
- switch(op) {
- case 0x31: /* LWC1 */
- env->PC += 4;
- break;
- case 0x39: /* SWC1 */
- env->PC += 4;
- break;
- case 0x11:
- switch((insn >> 21) & 0x1f) {
- case 0x02: /* CFC1 */
- env->PC += 4;
- break;
- default:
- goto sigill;
- }
- break;
- default:
- sigill:
info.si_signo = TARGET_SIGILL;
info.si_errno = 0;
info.si_code = 0;
queue_signal(info.si_signo, &info);
break;
- }
- }
- break;
default:
// error:
fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n",
@@ -1700,6 +1670,9 @@
env->gpr[i] = regs->regs[i];
}
env->PC = regs->cp0_epc;
+#ifdef MIPS_USES_FPU
+ env->CP0_Status |= (1 << CP0St_CU1);
+#endif
}
#elif defined(TARGET_SH4)
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] qemu/linux-user main.c,
Fabrice Bellard <=