/* m32r simulator support code
- Copyright (C) 1996, 1997, 1998, 2003, 2007, 2008, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GDB, the GNU debugger.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
+/* This must come before any other includes. */
+#include "defs.h"
+
#define WANT_CPU m32rbf
#define WANT_CPU_M32RBF
#include "sim-main.h"
#include "cgen-mem.h"
#include "cgen-ops.h"
+#include <stdlib.h>
+
+/* Return the size of REGNO in bytes. */
+
+static int
+m32rbf_register_size (int regno)
+{
+ return 4;
+}
/* Decode gdb ctrl register number. */
int
m32rbf_fetch_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len)
{
+ int size = m32rbf_register_size (rn);
+ if (len != size)
+ return -1;
+
if (rn < 16)
SETTWI (buf, m32rbf_h_gr_get (current_cpu, rn));
else
return 0;
}
- return -1; /*FIXME*/
+ return size;
}
/* The contents of BUF are in target byte order. */
int
m32rbf_store_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len)
{
+ int size = m32rbf_register_size (rn);
+ if (len != size)
+ return -1;
+
if (rn < 16)
m32rbf_h_gr_set (current_cpu, rn, GETTWI (buf));
else
return 0;
}
- return -1; /*FIXME*/
+ return size;
}
\f
USI