projects
/
fw
/
openocd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stlink: fix arm semihosting support
[fw/openocd]
/
src
/
target
/
arm.h
diff --git
a/src/target/arm.h
b/src/target/arm.h
index ee4bd767c62446285719e6f330920eb05cddebe4..30e2c76eabb2fcea9e040461277a12be91dda13f 100644
(file)
--- a/
src/target/arm.h
+++ b/
src/target/arm.h
@@
-23,6
+23,7
@@
* Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
* Free Software Foundation, Inc.,
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
+
#ifndef ARM_H
#define ARM_H
#ifndef ARM_H
#define ARM_H
@@
-80,8
+81,6
@@
enum arm_state {
ARM_STATE_THUMB_EE,
};
ARM_STATE_THUMB_EE,
};
-extern const char *arm_state_strings[];
-
#define ARM_COMMON_MAGIC 0x0A450A45
/**
#define ARM_COMMON_MAGIC 0x0A450A45
/**
@@
-126,6
+125,9
@@
struct arm {
/** Flag reporting unavailability of the BKPT instruction. */
bool is_armv4;
/** Flag reporting unavailability of the BKPT instruction. */
bool is_armv4;
+ /** Flag reporting armv6m based core. */
+ bool is_armv6m;
+
/** Flag reporting whether semihosting is active. */
bool is_semihosting;
/** Flag reporting whether semihosting is active. */
bool is_semihosting;
@@
-167,17
+169,25
@@
struct arm {
uint32_t value);
void *arch_info;
uint32_t value);
void *arch_info;
+
+ /** For targets conforming to ARM Debug Interface v5,
+ * this handle references the Debug Access Port (DAP)
+ * used to make requests to the target.
+ */
+ struct adiv5_dap *dap;
};
/** Convert target handle to generic ARM target state handle. */
static inline struct arm *target_to_arm(struct target *target)
{
};
/** Convert target handle to generic ARM target state handle. */
static inline struct arm *target_to_arm(struct target *target)
{
+ assert(target != NULL);
return target->arch_info;
}
static inline bool is_arm(struct arm *arm)
{
return target->arch_info;
}
static inline bool is_arm(struct arm *arm)
{
- return arm && arm->common_magic == ARM_COMMON_MAGIC;
+ assert(arm != NULL);
+ return arm->common_magic == ARM_COMMON_MAGIC;
}
struct arm_algorithm {
}
struct arm_algorithm {
@@
-191,7
+201,7
@@
struct arm_reg {
int num;
enum arm_mode mode;
struct target *target;
int num;
enum arm_mode mode;
struct target *target;
- struct arm *arm
v4_5_common
;
+ struct arm *arm;
uint32_t value;
};
uint32_t value;
};