diff --git a/arch/sim/src/sim/sim_copyfullstate.c b/arch/sim/src/sim/sim_copyfullstate.c index 64a28be273efe..1c773e93c95a8 100644 --- a/arch/sim/src/sim/sim_copyfullstate.c +++ b/arch/sim/src/sim/sim_copyfullstate.c @@ -27,6 +27,7 @@ #include #include +#include #include #include "sim_internal.h" @@ -45,8 +46,6 @@ void sim_copyfullstate(xcpt_reg_t *dest, xcpt_reg_t *src) { - int i; - /* In the sim model, the state is copied from the stack to the TCB, * but only a reference is passed to get the state from the TCB. So the * following check avoids copying the TCB save area onto itself: @@ -54,9 +53,6 @@ void sim_copyfullstate(xcpt_reg_t *dest, xcpt_reg_t *src) if (src != dest) { - for (i = 0; i < XCPTCONTEXT_REGS; i++) - { - *dest++ = *src++; - } + memmove(dest, src, XCPTCONTEXT_REGS * sizeof(xcpt_reg_t)); } }