#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;
+ struct mips32_common mips32_common;
+};
-int mips_m4k_bulk_write_memory(struct target_s *target,
+static inline struct mips_m4k_common *
+target_to_m4k(struct target *target)
+{
+ return container_of(target->arch_info,
+ struct mips_m4k_common, mips32_common);
+}
+
+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_s *target);
-int mips_m4k_set_breakpoint(struct target_s *target, breakpoint_t *bp);
-int mips_m4k_unset_breakpoint(struct target_s *target, breakpoint_t *bp);
-int mips_m4k_add_breakpoint(struct target_s *target, breakpoint_t *bp);
-int mips_m4k_remove_breakpoint(struct target_s *target, breakpoint_t *bp);
-
-void mips_m4k_enable_watchpoints(struct target_s *target);
-int mips_m4k_set_watchpoint(struct target_s *target, watchpoint_t *wp);
-int mips_m4k_unset_watchpoint(struct target_s *target, watchpoint_t *wp);
-int mips_m4k_add_watchpoint(struct target_s *target, watchpoint_t *wp);
-int mips_m4k_remove_watchpoint(struct target_s *target, watchpoint_t *wp);
+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*/