#ifndef M68K_TDEP_H
#define M68K_TDEP_H
+struct frame_info;
+
/* Register numbers of various important registers.
Note that some of these values are "real" register numbers,
and correspond to the general registers of the machine,
enum
{
M68K_D0_REGNUM = 0,
+ M68K_D1_REGNUM = 1,
M68K_A0_REGNUM = 8,
M68K_A1_REGNUM = 9,
M68K_FP_REGNUM = 14, /* Contains address of executing stack frame */
M68K_FPI_REGNUM = 28
};
+#define M68K_NUM_REGS (M68K_FPI_REGNUM + 1)
+
+/* Size of the largest register. */
+#define M68K_MAX_REGISTER_SIZE 12
+
+struct m68k_sigtramp_info
+{
+ /* Address of sigcontext. */
+ CORE_ADDR sigcontext_addr;
+
+ /* Offset of registers in `struct sigcontext'. */
+ int *sc_reg_offset;
+};
+
+/* Convention for returning structures. */
+
+enum struct_return
+{
+ pcc_struct_return, /* Return "short" structures in memory. */
+ reg_struct_return /* Return "short" structures in registers. */
+};
+
/* Target-dependent structure in gdbarch. */
struct gdbarch_tdep
{
int jb_pc;
/* The size of each entry in the jump buffer. */
size_t jb_elt_size;
+
+ /* Get info about sigtramp. */
+ struct m68k_sigtramp_info (*get_sigtramp_info) (struct frame_info *);
+
+ /* Convention for returning structures. */
+ enum struct_return struct_return;
};
#endif /* M68K_TDEP_H */