+ int (*init_target)(struct command_context *cmd_ctx, struct target *target);
+
+ /* translate from virtual to physical address. Default implementation is successful
+ * no-op(i.e. virtual==physical).
+ */
+ int (*virt2phys)(struct target *target, uint32_t address, uint32_t *physical);
+
+ /* read directly from physical memory. caches are bypassed and untouched.
+ *
+ * If the target does not support disabling caches, leaving them untouched,
+ * then minimally the actual physical memory location will be read even
+ * if cache states are unchanged, flushed, etc.
+ *
+ * Default implementation is to call read_memory.
+ */
+ int (*read_phys_memory)(struct target *target, uint32_t phys_address, uint32_t size, uint32_t count, uint8_t *buffer);
+
+ /*
+ * same as read_phys_memory, except that it writes...
+ */
+ int (*write_phys_memory)(struct target *target, uint32_t phys_address, uint32_t size, uint32_t count, const uint8_t *buffer);