embedded: do not allocate large temporary structures on stack
[fw/openocd] / src / target / arm_simulator.c
index 5252666785cb7a0ec3113dc9be380304da529a84..23cc5565d577409f808617d4af3e4fe1226de619 100644 (file)
@@ -27,8 +27,9 @@
 #include "armv4_5.h"
 #include "arm_disassembler.h"
 #include "arm_simulator.h"
-#include "log.h"
 #include "binarybuffer.h"
+#include "register.h"
+#include "log.h"
 
 
 static uint32_t arm_shift(uint8_t shift, uint32_t Rm,
@@ -277,7 +278,7 @@ static int thumb_pass_branch_condition(uint32_t cpsr, uint16_t opcode)
  * if the dry_run_pc argument is provided, no state is changed,
  * but the new pc is stored in the variable pointed at by the argument
  */
-int arm_simulate_step_core(target_t *target,
+int arm_simulate_step_core(struct target *target,
                uint32_t *dry_run_pc, struct arm_sim_interface *sim)
 {
        uint32_t current_pc = sim->get_reg(sim, 15);
@@ -820,7 +821,7 @@ static uint32_t armv4_5_get_cpsr(struct arm_sim_interface *sim, int pos, int bit
 {
        struct arm *armv4_5 = (struct arm *)sim->user_data;
 
-       return buf_get_u32(armv4_5->core_cache->reg_list[ARMV4_5_CPSR].value, pos, bits);
+       return buf_get_u32(armv4_5->cpsr->value, pos, bits);
 }
 
 static enum armv4_5_state armv4_5_get_state(struct arm_sim_interface *sim)
@@ -847,7 +848,7 @@ static enum armv4_5_mode armv4_5_get_mode(struct arm_sim_interface *sim)
 
 
 
-int arm_simulate_step(target_t *target, uint32_t *dry_run_pc)
+int arm_simulate_step(struct target *target, uint32_t *dry_run_pc)
 {
        struct armv4_5_common_s *armv4_5 = target_to_armv4_5(target);
        struct arm_sim_interface sim;