Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
#include <helper/command.h>
#include <helper/command.h>
-/* These numbers match the five low bits of the *PSR registers on
+/**
+ * These numbers match the five low bits of the *PSR registers on
* "classic ARM" processors, which build on the ARMv4 processor
* modes and register set.
*/
* "classic ARM" processors, which build on the ARMv4 processor
* modes and register set.
*/
const char *arm_mode_name(unsigned psr_mode);
bool is_arm_mode(unsigned psr_mode);
const char *arm_mode_name(unsigned psr_mode);
bool is_arm_mode(unsigned psr_mode);
-/* The PSR "T" and "J" bits define the mode of "classic ARM" cores */
+/** The PSR "T" and "J" bits define the mode of "classic ARM" cores. */
enum arm_state {
ARM_STATE_ARM,
ARM_STATE_THUMB,
enum arm_state {
ARM_STATE_ARM,
ARM_STATE_THUMB,
/** Handle to the SPSR; valid only in core modes with an SPSR. */
struct reg *spsr;
/** Handle to the SPSR; valid only in core modes with an SPSR. */
struct reg *spsr;
+ /** Support for arm_reg_current() */
*/
enum arm_mode core_type;
*/
enum arm_mode core_type;
+ /** Record the current core mode: SVC, USR, or some other mode. */
+
+ /** Record the current core state: ARM, Thumb, or otherwise. */
enum arm_state core_state;
/** Flag reporting unavailability of the BKPT instruction. */
enum arm_state core_state;
/** Flag reporting unavailability of the BKPT instruction. */
/* FIXME all these methods should take "struct arm *" not target */
/* FIXME all these methods should take "struct arm *" not target */
+ /** Retrieve all core registers, for display. */
int (*full_context)(struct target *target);
int (*full_context)(struct target *target);
+
+ /** Retrieve a single core register. */
int (*read_core_reg)(struct target *target, struct reg *reg,
int num, enum arm_mode mode);
int (*write_core_reg)(struct target *target, struct reg *reg,
int (*read_core_reg)(struct target *target, struct reg *reg,
int num, enum arm_mode mode);
int (*write_core_reg)(struct target *target, struct reg *reg,
uint32_t CRn, uint32_t CRm,
uint32_t *value);
uint32_t CRn, uint32_t CRm,
uint32_t *value);
- /* Write coprocessor register. */
+ /** Write coprocessor register. */
int (*mcr)(struct target *target, int cpnum,
uint32_t op1, uint32_t op2,
uint32_t CRn, uint32_t CRm,
int (*mcr)(struct target *target, int cpnum,
uint32_t op1, uint32_t op2,
uint32_t CRn, uint32_t CRm,
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)