main.c (ff74c5a9a91c6dbf1017195462aa4176f7381240) | main.c (b4916d7b9d6b086d653db090d366ffe2f44c1323) |
---|---|
1/* 2 * qemu user main 3 * 4 * Copyright (c) 2003-2008 Fabrice Bellard 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 1624 unchanged lines hidden (view full) --- 1633 EXCP_DUMP(env, "No Altivec instructions allowed\n"); 1634 info.si_signo = TARGET_SIGILL; 1635 info.si_errno = 0; 1636 info.si_code = TARGET_ILL_COPROC; 1637 info._sifields._sigfault._addr = env->nip - 4; 1638 queue_signal(env, info.si_signo, &info); 1639 break; 1640 case POWERPC_EXCP_PIT: /* Programmable interval timer IRQ */ | 1/* 2 * qemu user main 3 * 4 * Copyright (c) 2003-2008 Fabrice Bellard 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or --- 1624 unchanged lines hidden (view full) --- 1633 EXCP_DUMP(env, "No Altivec instructions allowed\n"); 1634 info.si_signo = TARGET_SIGILL; 1635 info.si_errno = 0; 1636 info.si_code = TARGET_ILL_COPROC; 1637 info._sifields._sigfault._addr = env->nip - 4; 1638 queue_signal(env, info.si_signo, &info); 1639 break; 1640 case POWERPC_EXCP_PIT: /* Programmable interval timer IRQ */ |
1641 cpu_abort(env, "Programable interval timer interrupt " | 1641 cpu_abort(env, "Programmable interval timer interrupt " |
1642 "while in user mode. Aborting\n"); 1643 break; 1644 case POWERPC_EXCP_IO: /* IO error exception */ 1645 cpu_abort(env, "IO error exception while in user mode. " 1646 "Aborting\n"); 1647 break; 1648 case POWERPC_EXCP_RUNM: /* Run mode exception */ 1649 cpu_abort(env, "Run mode exception while in user mode. " --- 779 unchanged lines hidden (view full) --- 2429 env->regs[3] = ret; 2430 env->sregs[SR_PC] = env->regs[14]; 2431 break; 2432 case EXCP_HW_EXCP: 2433 env->regs[17] = env->sregs[SR_PC] + 4; 2434 if (env->iflags & D_FLAG) { 2435 env->sregs[SR_ESR] |= 1 << 12; 2436 env->sregs[SR_PC] -= 4; | 1642 "while in user mode. Aborting\n"); 1643 break; 1644 case POWERPC_EXCP_IO: /* IO error exception */ 1645 cpu_abort(env, "IO error exception while in user mode. " 1646 "Aborting\n"); 1647 break; 1648 case POWERPC_EXCP_RUNM: /* Run mode exception */ 1649 cpu_abort(env, "Run mode exception while in user mode. " --- 779 unchanged lines hidden (view full) --- 2429 env->regs[3] = ret; 2430 env->sregs[SR_PC] = env->regs[14]; 2431 break; 2432 case EXCP_HW_EXCP: 2433 env->regs[17] = env->sregs[SR_PC] + 4; 2434 if (env->iflags & D_FLAG) { 2435 env->sregs[SR_ESR] |= 1 << 12; 2436 env->sregs[SR_PC] -= 4; |
2437 /* FIXME: if branch was immed, replay the imm aswell. */ | 2437 /* FIXME: if branch was immed, replay the imm as well. */ |
2438 } 2439 2440 env->iflags &= ~(IMM_FLAG | D_FLAG); 2441 2442 switch (env->sregs[SR_ESR] & 31) { 2443 case ESR_EC_DIVZERO: 2444 info.si_signo = SIGFPE; 2445 info.si_errno = 0; --- 1375 unchanged lines hidden --- | 2438 } 2439 2440 env->iflags &= ~(IMM_FLAG | D_FLAG); 2441 2442 switch (env->sregs[SR_ESR] & 31) { 2443 case ESR_EC_DIVZERO: 2444 info.si_signo = SIGFPE; 2445 info.si_errno = 0; --- 1375 unchanged lines hidden --- |