PIC32: add software reset support
[openocd.git] / src / target / mips_m4k.h
index 8e81d8ffafea7f197764dc0426eded8a54b344bb..5eb202969e4373206cff3e845b74b228c9bf88ca 100644 (file)
 #ifndef MIPS_M4K_H
 #define MIPS_M4K_H
 
-#include "types.h"
+#include <helper/types.h>
 
-struct target_s;
+struct target;
 
 #define MIPSM4K_COMMON_MAGIC   0xB321B321
 
-typedef struct mips_m4k_common_s
+struct mips_m4k_common
 {
        int common_magic;
-       mips32_common_t mips32_common;
-} mips_m4k_common_t;
-
-extern int mips_m4k_bulk_write_memory(struct target_s *target, uint32_t address, uint32_t count, uint8_t *buffer);
-
-extern void mips_m4k_enable_breakpoints(struct target_s *target);
-extern int mips_m4k_set_breakpoint(struct target_s *target, breakpoint_t *breakpoint);
-extern int mips_m4k_unset_breakpoint(struct target_s *target, breakpoint_t *breakpoint);
-extern int mips_m4k_add_breakpoint(struct target_s *target, breakpoint_t *breakpoint);
-extern int mips_m4k_remove_breakpoint(struct target_s *target, breakpoint_t *breakpoint);
-extern int mips_m4k_set_watchpoint(struct target_s *target, watchpoint_t *watchpoint);
-extern int mips_m4k_unset_watchpoint(struct target_s *target, watchpoint_t *watchpoint);
-extern int mips_m4k_add_watchpoint(struct target_s *target, watchpoint_t *watchpoint);
-extern int mips_m4k_remove_watchpoint(struct target_s *target, watchpoint_t *watchpoint);
-extern void mips_m4k_enable_watchpoints(struct target_s *target);
+       bool is_pic32mx;
+       struct mips32_common mips32;
+};
+
+static inline struct mips_m4k_common *
+target_to_m4k(struct target *target)
+{
+       return container_of(target->arch_info,
+                       struct mips_m4k_common, mips32);
+}
+
+int mips_m4k_bulk_write_memory(struct target *target,
+               uint32_t address, uint32_t count, uint8_t *buffer);
+
+void mips_m4k_enable_breakpoints(struct target *target);
+int mips_m4k_set_breakpoint(struct target *target, struct breakpoint *bp);
+int mips_m4k_unset_breakpoint(struct target *target, struct breakpoint *bp);
+int mips_m4k_add_breakpoint(struct target *target, struct breakpoint *bp);
+int mips_m4k_remove_breakpoint(struct target *target, struct breakpoint *bp);
+
+void mips_m4k_enable_watchpoints(struct target *target);
+int mips_m4k_set_watchpoint(struct target *target, struct watchpoint *wp);
+int mips_m4k_unset_watchpoint(struct target *target, struct watchpoint *wp);
+int mips_m4k_add_watchpoint(struct target *target, struct watchpoint *wp);
+int mips_m4k_remove_watchpoint(struct target *target, struct watchpoint *wp);
 
 #endif /*MIPS_M4K_H*/

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)