]> git.sur5r.net Git - openocd/blobdiff - src/target/armv4_5.h
xscale: use register_commands()
[openocd] / src / target / armv4_5.h
index 5bce30b3b1a5f24b4cb2ab5f553184717b304d31..7a6cb61865d52f98db6304ca955fda4b03b89ddc 100644 (file)
@@ -67,9 +67,6 @@ enum { ARMV4_5_CPSR = 31, };
 
 #define ARMV4_5_COMMON_MAGIC 0x0A450A45
 
-/* NOTE:  this is being morphed into a generic toplevel holder for ARMs. */
-#define armv4_5_common_s arm
-
 /**
  * Represents a generic ARM core, with standard application registers.
  *
@@ -85,6 +82,11 @@ struct arm
        /** Handle to the CPSR; valid in all core modes. */
        struct reg *cpsr;
 
+       /** Handle to the SPSR; valid only in core modes with an SPSR. */
+       struct reg *spsr;
+
+       const int *map;
+
        /**
         * Indicates what registers are in the ARM state core register set.
         * ARMV4_5_MODE_ANY indicates the standard set of 37 registers,
@@ -99,6 +101,12 @@ struct arm
        /** Flag reporting unavailability of the BKPT instruction. */
        bool is_armv4;
 
+       /** Backpointer to the target. */
+       struct target *target;
+
+       /** Handle for the debug module, if one is present. */
+       struct arm_dpm *dpm;
+
        /** Handle for the Embedded Trace Module, if one is present. */
        struct etm_context *etm;
 
@@ -161,6 +169,9 @@ int arm_checksum_memory(struct target *target,
 int arm_blank_check_memory(struct target *target,
                uint32_t address, uint32_t count, uint32_t *blank);
 
+void arm_set_cpsr(struct arm *arm, uint32_t cpsr);
+struct reg *arm_reg_current(struct arm *arm, unsigned regnum);
+
 extern struct reg arm_gdb_dummy_fp_reg;
 extern struct reg arm_gdb_dummy_fps_reg;