aboutsummaryrefslogtreecommitdiff
path: root/sim/arm
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2022-10-31 21:43:10 +0545
committerMike Frysinger <vapier@gentoo.org>2022-11-02 20:31:10 +0545
commitee1cffd3883c1d846ad58c1fb86559bb2f930361 (patch)
tree650a83e14dc8dcb5e061093643102eca8163b461 /sim/arm
parent26f228db710f54b54aea4d9a05214add0cf9f541 (diff)
downloadbinutils-ee1cffd3883c1d846ad58c1fb86559bb2f930361.zip
binutils-ee1cffd3883c1d846ad58c1fb86559bb2f930361.tar.gz
binutils-ee1cffd3883c1d846ad58c1fb86559bb2f930361.tar.bz2
sim: common: change sim_{fetch,store}_register helpers to use void* buffers
When reading/writing arbitrary data to the system's memory, the unsigned char pointer type doesn't make that much sense. Switch it to void so we align a bit with standard C library read/write functions, and to avoid having to sprinkle casts everywhere.
Diffstat (limited to 'sim/arm')
-rw-r--r--sim/arm/wrapper.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index 455f320..831a0ff 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -429,7 +429,7 @@ tomem (struct ARMul_State *state,
}
static int
-arm_reg_store (SIM_CPU *cpu, int rn, const unsigned char *memory, int length)
+arm_reg_store (SIM_CPU *cpu, int rn, const void *buf, int length)
{
init ();
@@ -460,11 +460,11 @@ arm_reg_store (SIM_CPU *cpu, int rn, const unsigned char *memory, int length)
case SIM_ARM_FP6_REGNUM:
case SIM_ARM_FP7_REGNUM:
case SIM_ARM_FPS_REGNUM:
- ARMul_SetReg (state, state->Mode, rn, frommem (state, memory));
+ ARMul_SetReg (state, state->Mode, rn, frommem (state, buf));
break;
case SIM_ARM_PS_REGNUM:
- state->Cpsr = frommem (state, memory);
+ state->Cpsr = frommem (state, buf);
ARMul_CPSRAltered (state);
break;
@@ -485,11 +485,11 @@ arm_reg_store (SIM_CPU *cpu, int rn, const unsigned char *memory, int length)
case SIM_ARM_MAVERIC_COP0R14_REGNUM:
case SIM_ARM_MAVERIC_COP0R15_REGNUM:
memcpy (& DSPregs [rn - SIM_ARM_MAVERIC_COP0R0_REGNUM],
- memory, sizeof (struct maverick_regs));
+ buf, sizeof (struct maverick_regs));
return sizeof (struct maverick_regs);
case SIM_ARM_MAVERIC_DSPSC_REGNUM:
- memcpy (&DSPsc, memory, sizeof DSPsc);
+ memcpy (&DSPsc, buf, sizeof DSPsc);
return sizeof DSPsc;
case SIM_ARM_IWMMXT_COP0R0_REGNUM:
@@ -524,7 +524,7 @@ arm_reg_store (SIM_CPU *cpu, int rn, const unsigned char *memory, int length)
case SIM_ARM_IWMMXT_COP1R13_REGNUM:
case SIM_ARM_IWMMXT_COP1R14_REGNUM:
case SIM_ARM_IWMMXT_COP1R15_REGNUM:
- return Store_Iwmmxt_Register (rn - SIM_ARM_IWMMXT_COP0R0_REGNUM, memory);
+ return Store_Iwmmxt_Register (rn - SIM_ARM_IWMMXT_COP0R0_REGNUM, buf);
default:
return 0;
@@ -534,8 +534,9 @@ arm_reg_store (SIM_CPU *cpu, int rn, const unsigned char *memory, int length)
}
static int
-arm_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
+arm_reg_fetch (SIM_CPU *cpu, int rn, void *buf, int length)
{
+ unsigned char *memory = buf;
ARMword regval;
int len = length;