2003-12-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* Makefile.in : Add new machine m32r2. * m32r2.c : New file for m32r2. * mloop2.in : Ditto * model2.c : Ditto * sem2-switch.c : Ditto * m32r-sim.h : Add EVB register. * sim-if.h : Ditto * sim-main.h : Ditto * traps.c : Ditto
This commit is contained in:
parent
48ecb30c92
commit
3c041444b5
7 changed files with 122 additions and 13 deletions
|
@ -39,6 +39,7 @@ m32r_decode_gdb_ctrl_regnum (int gdb_regnum)
|
|||
case BPC_REGNUM : return H_CR_BPC;
|
||||
case BBPSW_REGNUM : return H_CR_BBPSW;
|
||||
case BBPC_REGNUM : return H_CR_BBPC;
|
||||
case EVB_REGNUM : return H_CR_CR5;
|
||||
}
|
||||
abort ();
|
||||
}
|
||||
|
@ -62,26 +63,33 @@ m32rbf_fetch_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len
|
|||
case BPC_REGNUM :
|
||||
case BBPSW_REGNUM :
|
||||
case BBPC_REGNUM :
|
||||
case EVB_REGNUM :
|
||||
SETTWI (buf, a_m32r_h_cr_get (current_cpu,
|
||||
m32r_decode_gdb_ctrl_regnum (rn)));
|
||||
break;
|
||||
case PC_REGNUM :
|
||||
if (mach == MACH_M32R)
|
||||
SETTWI (buf, m32rbf_h_pc_get (current_cpu));
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
SETTWI (buf, m32rxf_h_pc_get (current_cpu));
|
||||
else
|
||||
SETTWI (buf, m32r2f_h_pc_get (current_cpu));
|
||||
break;
|
||||
case ACCL_REGNUM :
|
||||
if (mach == MACH_M32R)
|
||||
SETTWI (buf, GETLODI (m32rbf_h_accum_get (current_cpu)));
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
SETTWI (buf, GETLODI (m32rxf_h_accum_get (current_cpu)));
|
||||
else
|
||||
SETTWI (buf, GETLODI (m32r2f_h_accum_get (current_cpu)));
|
||||
break;
|
||||
case ACCH_REGNUM :
|
||||
if (mach == MACH_M32R)
|
||||
SETTWI (buf, GETHIDI (m32rbf_h_accum_get (current_cpu)));
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
SETTWI (buf, GETHIDI (m32rxf_h_accum_get (current_cpu)));
|
||||
else
|
||||
SETTWI (buf, GETHIDI (m32r2f_h_accum_get (current_cpu)));
|
||||
break;
|
||||
default :
|
||||
return 0;
|
||||
|
@ -109,6 +117,7 @@ m32rbf_store_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len
|
|||
case BPC_REGNUM :
|
||||
case BBPSW_REGNUM :
|
||||
case BBPC_REGNUM :
|
||||
case EVB_REGNUM :
|
||||
a_m32r_h_cr_set (current_cpu,
|
||||
m32r_decode_gdb_ctrl_regnum (rn),
|
||||
GETTWI (buf));
|
||||
|
@ -116,21 +125,27 @@ m32rbf_store_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len
|
|||
case PC_REGNUM :
|
||||
if (mach == MACH_M32R)
|
||||
m32rbf_h_pc_set (current_cpu, GETTWI (buf));
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
m32rxf_h_pc_set (current_cpu, GETTWI (buf));
|
||||
else
|
||||
m32r2f_h_pc_set (current_cpu, GETTWI (buf));
|
||||
break;
|
||||
case ACCL_REGNUM :
|
||||
{
|
||||
DI val;
|
||||
if (mach == MACH_M32R)
|
||||
val = m32rbf_h_accum_get (current_cpu);
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
val = m32rxf_h_accum_get (current_cpu);
|
||||
else
|
||||
val = m32r2f_h_accum_get (current_cpu);
|
||||
SETLODI (val, GETTWI (buf));
|
||||
if (mach == MACH_M32R)
|
||||
m32rbf_h_accum_set (current_cpu, val);
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
m32rxf_h_accum_set (current_cpu, val);
|
||||
else
|
||||
m32r2f_h_accum_set (current_cpu, val);
|
||||
break;
|
||||
}
|
||||
case ACCH_REGNUM :
|
||||
|
@ -138,13 +153,17 @@ m32rbf_store_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len
|
|||
DI val;
|
||||
if (mach == MACH_M32R)
|
||||
val = m32rbf_h_accum_get (current_cpu);
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
val = m32rxf_h_accum_get (current_cpu);
|
||||
else
|
||||
val = m32r2f_h_accum_get (current_cpu);
|
||||
SETHIDI (val, GETTWI (buf));
|
||||
if (mach == MACH_M32R)
|
||||
m32rbf_h_accum_set (current_cpu, val);
|
||||
else
|
||||
else if (mach == MACH_M32RX)
|
||||
m32rxf_h_accum_set (current_cpu, val);
|
||||
else
|
||||
m32r2f_h_accum_set (current_cpu, val);
|
||||
break;
|
||||
}
|
||||
default :
|
||||
|
@ -168,6 +187,10 @@ a_m32r_h_gr_get (SIM_CPU *current_cpu, UINT regno)
|
|||
#ifdef HAVE_CPU_M32RXF
|
||||
case MACH_M32RX :
|
||||
return m32rxf_h_gr_get (current_cpu, regno);
|
||||
#endif
|
||||
#ifdef HAVE_CPU_M32R2F
|
||||
case MACH_M32R2 :
|
||||
return m32r2f_h_gr_get (current_cpu, regno);
|
||||
#endif
|
||||
default :
|
||||
abort ();
|
||||
|
@ -188,6 +211,11 @@ a_m32r_h_gr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
|
|||
case MACH_M32RX :
|
||||
m32rxf_h_gr_set (current_cpu, regno, newval);
|
||||
break;
|
||||
#endif
|
||||
#ifdef HAVE_CPU_M32RXF
|
||||
case MACH_M32R2 :
|
||||
m32r2f_h_gr_set (current_cpu, regno, newval);
|
||||
break;
|
||||
#endif
|
||||
default :
|
||||
abort ();
|
||||
|
@ -206,6 +234,10 @@ a_m32r_h_cr_get (SIM_CPU *current_cpu, UINT regno)
|
|||
#ifdef HAVE_CPU_M32RXF
|
||||
case MACH_M32RX :
|
||||
return m32rxf_h_cr_get (current_cpu, regno);
|
||||
#endif
|
||||
#ifdef HAVE_CPU_M32R2F
|
||||
case MACH_M32R2 :
|
||||
return m32r2f_h_cr_get (current_cpu, regno);
|
||||
#endif
|
||||
default :
|
||||
abort ();
|
||||
|
@ -226,6 +258,11 @@ a_m32r_h_cr_set (SIM_CPU *current_cpu, UINT regno, USI newval)
|
|||
case MACH_M32RX :
|
||||
m32rxf_h_cr_set (current_cpu, regno, newval);
|
||||
break;
|
||||
#endif
|
||||
#ifdef HAVE_CPU_M32RXF
|
||||
case MACH_M32R2 :
|
||||
m32r2f_h_cr_set (current_cpu, regno, newval);
|
||||
break;
|
||||
#endif
|
||||
default :
|
||||
abort ();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue