-extern void amd64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);
-
-/* Functions from amd64-tdep.c which may be needed on architectures
- with extra registers. */
-
-extern const char *amd64_register_name (struct gdbarch *gdbarch, int regnum);
-extern struct type *amd64_register_type (struct gdbarch *gdbarch, int regnum);
+#define AMD64_NUM_REGS (AMD64_GSBASE_REGNUM + 1)
+
+extern displaced_step_copy_insn_closure_up amd64_displaced_step_copy_insn
+ (struct gdbarch *gdbarch, CORE_ADDR from, CORE_ADDR to,
+ struct regcache *regs);
+extern void amd64_displaced_step_fixup
+ (struct gdbarch *gdbarch, displaced_step_copy_insn_closure *closure,
+ CORE_ADDR from, CORE_ADDR to, struct regcache *regs);
+
+/* Initialize the ABI for amd64. Uses DEFAULT_TDESC as fallback
+ tdesc, if INFO does not specify one. */
+extern void amd64_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch,
+ const target_desc *default_tdesc);
+
+/* Initialize the ABI for x32. Uses DEFAULT_TDESC as fallback tdesc,
+ if INFO does not specify one. */
+extern void amd64_x32_init_abi (struct gdbarch_info info,
+ struct gdbarch *gdbarch,
+ const target_desc *default_tdesc);
+extern const struct target_desc *amd64_target_description (uint64_t xcr0,
+ bool segments);