*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / m68k-tdep.h
index 8da568e6e27633b3f883d924e7c3cb7f07a7f219..27a7feb24f8a42eaea0e20abe7160001271c5a59 100644 (file)
@@ -1,6 +1,7 @@
-/* Common target dependent code for the Motorola 68000 series.
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+/* Target-dependent code for the Motorola 68000 series.
+
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000,
+   2001, 2003, 2004 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef M68K_TDEP_H
 #define M68K_TDEP_H
 
-/* 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,
-   and some are "phony" register numbers which are too large
-   to be actual register numbers as far as the user is concerned
-   but do serve to get the desired values when passed to read_register.  */
+struct frame_info;
+
+/* Register numbers of various important registers.  */
 
-enum
+enum m68k_regnum
 {
   M68K_D0_REGNUM = 0,
+  M68K_D1_REGNUM = 1,
+  M68K_D2_REGNUM = 2,
+  M68K_D7_REGNUM = 7,
   M68K_A0_REGNUM = 8,
   M68K_A1_REGNUM = 9,
-  M68K_FP_REGNUM = 14,         /* Contains address of executing stack frame */
-  M68K_SP_REGNUM = 15,         /* Contains address of top of stack */
-  M68K_PS_REGNUM = 16,         /* Contains processor status */
-  M68K_PC_REGNUM = 17,         /* Contains program counter */
-  M68K_FP0_REGNUM = 18,                /* Floating point register 0 */
-  M68K_FPC_REGNUM = 26,                /* 68881 control register */
-  M68K_FPS_REGNUM = 27,                /* 68881 status register */
+  M68K_A2_REGNUM = 10,
+  M68K_FP_REGNUM = 14,         /* Address of executing stack frame.  */
+  M68K_SP_REGNUM = 15,         /* Address of top of stack.  */
+  M68K_PS_REGNUM = 16,         /* Processor status.  */
+  M68K_PC_REGNUM = 17,         /* Program counter.  */
+  M68K_FP0_REGNUM = 18,                /* Floating point register 0.  */
+  M68K_FPC_REGNUM = 26,                /* 68881 control register.  */
+  M68K_FPS_REGNUM = 27,                /* 68881 status register.  */
   M68K_FPI_REGNUM = 28
 };
 
-#endif /* M68K_TDEP_H */
+/* Number of machine registers.  */
+#define M68K_NUM_REGS  (M68K_FPI_REGNUM + 1)
+
+/* Size of the largest register.  */
+#define M68K_MAX_REGISTER_SIZE 12
+
+/* 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
+{
+  /* Offset to PC value in the jump buffer.  If this is negative,
+     longjmp support will be disabled.  */
+  int jb_pc;
+  /* The size of each entry in the jump buffer.  */
+  size_t jb_elt_size;
+
+  /* Register in which the address to store a structure value is
+     passed to a function.  */
+  int struct_value_regnum;
+
+  /* Convention for returning structures.  */
+  enum struct_return struct_return;
+};
+
+/* Initialize a SVR4 architecture variant.  */
+extern void m68k_svr4_init_abi (struct gdbarch_info, struct gdbarch *);
+\f
+
+/* Functions exported from m68kbsd-tdep.c.  */
+
+extern int m68kbsd_fpreg_offset (int regnum);
+
+#endif /* m68k-tdep.h */
This page took 0.024306 seconds and 4 git commands to generate.