/* Target-dependent code for GNU/Linux on MIPS processors.
- Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright 2006-2012 Free Software Foundation, Inc.
This file is part of GDB.
#define MMLO 68
#define FPC_CSR 69
#define FPC_EIR 70
+#define DSP_BASE 71
+#define DSP_CONTROL 77
#define EF_REG0 6
#define EF_REG31 37
#define MIPS64_EF_SIZE 304
void mips64_supply_gregset (struct regcache *, const mips64_elf_gregset_t *);
-void mips64_fill_gregset (const struct regcache *, mips64_elf_gregset_t *, int);
-void mips64_supply_fpregset (struct regcache *, const mips64_elf_fpregset_t *);
-void mips64_fill_fpregset (const struct regcache *, mips64_elf_fpregset_t *, int);
+void mips64_fill_gregset (const struct regcache *,
+ mips64_elf_gregset_t *, int);
+void mips64_supply_fpregset (struct regcache *,
+ const mips64_elf_fpregset_t *);
+void mips64_fill_fpregset (const struct regcache *,
+ mips64_elf_fpregset_t *, int);
enum {
/* The Linux kernel stores an error code from any interrupted
syscall in a "register" (in $0's save slot). */
- MIPS_RESTART_REGNUM = MIPS_LAST_EMBED_REGNUM + 1
+ MIPS_RESTART_REGNUM = 79
};
/* Return 1 if MIPS_RESTART_REGNUM is usable. */
int mips_linux_restart_reg_p (struct gdbarch *gdbarch);
+
+/* MIPS Signals -- adapted from linux/arch/mips/include/asm/signal.h. */
+
+enum mips_signals
+ {
+ MIPS_SIGHUP = 1, /* Hangup (POSIX). */
+ MIPS_SIGINT = 2, /* Interrupt (ANSI). */
+ MIPS_SIGQUIT = 3, /* Quit (POSIX). */
+ MIPS_SIGILL = 4, /* Illegal instruction (ANSI). */
+ MIPS_SIGTRAP = 5, /* Trace trap (POSIX). */
+ MIPS_SIGIOT = 6, /* IOT trap (4.2 BSD). */
+ MIPS_SIGABRT = MIPS_SIGIOT, /* Abort (ANSI). */
+ MIPS_SIGEMT = 7,
+ MIPS_SIGFPE = 8, /* Floating-point exception (ANSI). */
+ MIPS_SIGKILL = 9, /* Kill, unblockable (POSIX). */
+ MIPS_SIGBUS = 10, /* BUS error (4.2 BSD). */
+ MIPS_SIGSEGV = 11, /* Segmentation violation (ANSI). */
+ MIPS_SIGSYS = 12,
+ MIPS_SIGPIPE = 13, /* Broken pipe (POSIX). */
+ MIPS_SIGALRM = 14, /* Alarm clock (POSIX). */
+ MIPS_SIGTERM = 15, /* Termination (ANSI). */
+ MIPS_SIGUSR1 = 16, /* User-defined signal 1 (POSIX). */
+ MIPS_SIGUSR2 = 17, /* User-defined signal 2 (POSIX). */
+ MIPS_SIGCHLD = 18, /* Child status has changed (POSIX). */
+ MIPS_SIGCLD = MIPS_SIGCHLD, /* Same as SIGCHLD (System V). */
+ MIPS_SIGPWR = 19, /* Power failure restart (System V). */
+ MIPS_SIGWINCH = 20, /* Window size change (4.3 BSD, Sun). */
+ MIPS_SIGURG = 21, /* Urgent condition on socket (4.2 BSD). */
+ MIPS_SIGIO = 22, /* I/O now possible (4.2 BSD). */
+ MIPS_SIGPOLL = MIPS_SIGIO, /* Pollable event occurred (System V). */
+ MIPS_SIGSTOP = 23, /* Stop, unblockable (POSIX). */
+ MIPS_SIGTSTP = 24, /* Keyboard stop (POSIX). */
+ MIPS_SIGCONT = 25, /* Continue (POSIX). */
+ MIPS_SIGTTIN = 26, /* Background read from tty (POSIX). */
+ MIPS_SIGTTOU = 27, /* Background write to tty (POSIX). */
+ MIPS_SIGVTALRM = 28, /* Virtual alarm clock (4.2 BSD). */
+ MIPS_SIGPROF = 29, /* Profiling alarm clock (4.2 BSD). */
+ MIPS_SIGXCPU = 30, /* CPU limit exceeded (4.2 BSD). */
+ MIPS_SIGXFSZ = 31, /* File size limit exceeded (4.2 BSD). */
+ MIPS_SIGRTMIN = 32, /* Minimum RT signal. */
+ MIPS_SIGRTMAX = 128 - 1 /* Maximum RT signal. */
+ };