diff options
-rw-r--r-- | sim/mips/ChangeLog | 8 | ||||
-rw-r--r-- | sim/mips/mips.igen | 2 | ||||
-rw-r--r-- | sim/mips/sim-main.h | 5 |
3 files changed, 12 insertions, 3 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index f4f5892..3bcc294 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,5 +1,13 @@ 2002-03-05 Chris Demetriou <cgd@broadcom.com> + * mips.igen (check_fpu): Enable check for coprocessor 1 usability. + * sim-main.h (COP_Usable): Define, but for now coprocessor 1 + is always enabled. + (SignalExceptionCoProcessorUnusable): Take as argument the + unusable coprocessor number. + +2002-03-05 Chris Demetriou <cgd@broadcom.com> + * mips.igen: Fix formatting of all SignalException calls. 2002-03-05 Chris Demetriou <cgd@broadcom.com> diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen index 9b20a6b..d1a3f1a 100644 --- a/sim/mips/mips.igen +++ b/sim/mips/mips.igen @@ -3087,10 +3087,8 @@ *vr5000: *r3900: { -#if 0 /* XXX FIXME: For now, never treat the FPU as disabled. */ if (! COP_Usable (1)) SignalExceptionCoProcessorUnusable (1); -#endif } diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h index 8e8511f..1870c96 100644 --- a/sim/mips/sim-main.h +++ b/sim/mips/sim-main.h @@ -653,7 +653,7 @@ void signal_exception (SIM_DESC sd, sim_cpu *cpu, address_word cia, int exceptio #define SignalExceptionSimulatorFault(buf) signal_exception (SD, CPU, cia, SimulatorFault, buf) #define SignalExceptionFPE() signal_exception (SD, CPU, cia, FPE) #define SignalExceptionIntegerOverflow() signal_exception (SD, CPU, cia, IntegerOverflow) -#define SignalExceptionCoProcessorUnusable() signal_exception (SD, CPU, cia, CoProcessorUnusable) +#define SignalExceptionCoProcessorUnusable(cop) signal_exception (SD, CPU, cia, CoProcessorUnusable) #define SignalExceptionNMIReset() signal_exception (SD, CPU, cia, NMIReset) #define SignalExceptionTLBRefillStore() signal_exception (SD, CPU, cia, TLBStore, TLB_REFILL) #define SignalExceptionTLBRefillLoad() signal_exception (SD, CPU, cia, TLBLoad, TLB_REFILL) @@ -663,6 +663,9 @@ void signal_exception (SIM_DESC sd, sim_cpu *cpu, address_word cia, int exceptio /* Co-processor accesses */ +/* XXX FIXME: For now, assume that FPU (cp1) is always usable. */ +#define COP_Usable(coproc_num) (coproc_num == 1) + void cop_lw PARAMS ((SIM_DESC sd, sim_cpu *cpu, address_word cia, int coproc_num, int coproc_reg, unsigned int memword)); void cop_ld PARAMS ((SIM_DESC sd, sim_cpu *cpu, address_word cia, int coproc_num, int coproc_reg, uword64 memword)); unsigned int cop_sw PARAMS ((SIM_DESC sd, sim_cpu *cpu, address_word cia, int coproc_num, int coproc_reg)); |