+/* The SPU multi-architecture support target. */
+
+static const target_info spu_multiarch_target_info = {
+ "spu",
+ N_("SPU multi-architecture support."),
+ N_("SPU multi-architecture support.")
+};
+
+struct spu_multiarch_target final : public target_ops
+{
+ const target_info &info () const override
+ { return spu_multiarch_target_info; }
+
+ strata stratum () const override { return arch_stratum; }
+
+ void mourn_inferior () override;
+
+ void fetch_registers (struct regcache *, int) override;
+ void store_registers (struct regcache *, int) override;
+
+ enum target_xfer_status xfer_partial (enum target_object object,
+ const char *annex,
+ gdb_byte *readbuf,
+ const gdb_byte *writebuf,
+ ULONGEST offset, ULONGEST len,
+ ULONGEST *xfered_len) override;
+
+ int search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
+ const gdb_byte *pattern, ULONGEST pattern_len,
+ CORE_ADDR *found_addrp) override;
+
+ int region_ok_for_hw_watchpoint (CORE_ADDR, int) override;
+
+ struct gdbarch *thread_architecture (ptid_t) override;
+};
+
+static spu_multiarch_target spu_ops;