summary refs log tree commit diff stats
path: root/linux-user/mips
diff options
context:
space:
mode:
Diffstat (limited to 'linux-user/mips')
-rw-r--r--linux-user/mips/signal.c1
-rw-r--r--linux-user/mips/target_cpu.h4
-rw-r--r--linux-user/mips/target_fcntl.h38
-rw-r--r--linux-user/mips/target_signal.h55
4 files changed, 91 insertions, 7 deletions
diff --git a/linux-user/mips/signal.c b/linux-user/mips/signal.c
index ed9849c7f6..6aa303ec9c 100644
--- a/linux-user/mips/signal.c
+++ b/linux-user/mips/signal.c
@@ -18,7 +18,6 @@
  */
 #include "qemu/osdep.h"
 #include "qemu.h"
-#include "target_signal.h"
 #include "signal-common.h"
 #include "linux-user/trace.h"
 
diff --git a/linux-user/mips/target_cpu.h b/linux-user/mips/target_cpu.h
index 2002920312..02cf5eeff7 100644
--- a/linux-user/mips/target_cpu.h
+++ b/linux-user/mips/target_cpu.h
@@ -33,4 +33,8 @@ static inline void cpu_set_tls(CPUMIPSState *env, target_ulong newtls)
     env->active_tc.CP0_UserLocal = newtls;
 }
 
+static inline abi_ulong get_sp_from_cpustate(CPUMIPSState *state)
+{
+    return state->active_tc.gpr[29];
+}
 #endif
diff --git a/linux-user/mips/target_fcntl.h b/linux-user/mips/target_fcntl.h
new file mode 100644
index 0000000000..000527cc95
--- /dev/null
+++ b/linux-user/mips/target_fcntl.h
@@ -0,0 +1,38 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation, or (at your option) any
+ * later version. See the COPYING file in the top-level directory.
+ */
+
+#ifndef MIPS_TARGET_FCNTL_H
+#define MIPS_TARGET_FCNTL_H
+
+#define TARGET_O_APPEND         0x0008
+#define TARGET_O_DSYNC          0x0010
+#define TARGET_O_NONBLOCK       0x0080
+#define TARGET_O_CREAT          0x0100  /* not fcntl */
+#define TARGET_O_TRUNC          0x0200  /* not fcntl */
+#define TARGET_O_EXCL           0x0400  /* not fcntl */
+#define TARGET_O_NOCTTY         0x0800  /* not fcntl */
+#define TARGET_FASYNC           0x1000  /* fcntl, for BSD compatibility */
+#define TARGET_O_LARGEFILE      0x2000  /* allow large file opens */
+#define TARGET___O_SYNC         0x4000
+#define TARGET_O_DIRECT         0x8000  /* direct disk access hint */
+
+#define TARGET_F_GETLK         14
+#define TARGET_F_SETLK         6
+#define TARGET_F_SETLKW        7
+
+#define TARGET_F_SETOWN        24       /*  for sockets. */
+#define TARGET_F_GETOWN        23       /*  for sockets. */
+
+#define TARGET_ARCH_FLOCK_PAD abi_long pad[4];
+#define TARGET_ARCH_FLOCK64_PAD
+
+#define TARGET_F_GETLK64       33      /*  using 'struct flock64' */
+#define TARGET_F_SETLK64       34
+#define TARGET_F_SETLKW64      35
+
+#include "../generic/fcntl.h"
+#endif
diff --git a/linux-user/mips/target_signal.h b/linux-user/mips/target_signal.h
index d36f5da0a0..66e1ad44a6 100644
--- a/linux-user/mips/target_signal.h
+++ b/linux-user/mips/target_signal.h
@@ -1,7 +1,46 @@
 #ifndef MIPS_TARGET_SIGNAL_H
 #define MIPS_TARGET_SIGNAL_H
 
-#include "cpu.h"
+#define TARGET_SIGHUP            1      /* Hangup (POSIX).  */
+#define TARGET_SIGINT            2      /* Interrupt (ANSI).  */
+#define TARGET_SIGQUIT           3      /* Quit (POSIX).  */
+#define TARGET_SIGILL            4      /* Illegal instruction (ANSI).  */
+#define TARGET_SIGTRAP           5      /* Trace trap (POSIX).  */
+#define TARGET_SIGIOT            6      /* IOT trap (4.2 BSD).  */
+#define TARGET_SIGABRT           TARGET_SIGIOT  /* Abort (ANSI).  */
+#define TARGET_SIGEMT            7
+#define TARGET_SIGSTKFLT         7 /* XXX: incorrect */
+#define TARGET_SIGFPE            8      /* Floating-point exception (ANSI).  */
+#define TARGET_SIGKILL           9      /* Kill, unblockable (POSIX).  */
+#define TARGET_SIGBUS           10      /* BUS error (4.2 BSD).  */
+#define TARGET_SIGSEGV          11      /* Segmentation violation (ANSI).  */
+#define TARGET_SIGSYS           12
+#define TARGET_SIGPIPE          13      /* Broken pipe (POSIX).  */
+#define TARGET_SIGALRM          14      /* Alarm clock (POSIX).  */
+#define TARGET_SIGTERM          15      /* Termination (ANSI).  */
+#define TARGET_SIGUSR1          16      /* User-defined signal 1 (POSIX).  */
+#define TARGET_SIGUSR2          17      /* User-defined signal 2 (POSIX).  */
+#define TARGET_SIGCHLD          18      /* Child status has changed (POSIX).  */
+#define TARGET_SIGCLD           TARGET_SIGCHLD  /* Same as TARGET_SIGCHLD (System V).  */
+#define TARGET_SIGPWR           19      /* Power failure restart (System V).  */
+#define TARGET_SIGWINCH 20      /* Window size change (4.3 BSD, Sun).  */
+#define TARGET_SIGURG           21      /* Urgent condition on socket (4.2 BSD).  */
+#define TARGET_SIGIO            22      /* I/O now possible (4.2 BSD).  */
+#define TARGET_SIGPOLL          TARGET_SIGIO    /* Pollable event occurred (System V).  */
+#define TARGET_SIGSTOP          23      /* Stop, unblockable (POSIX).  */
+#define TARGET_SIGTSTP          24      /* Keyboard stop (POSIX).  */
+#define TARGET_SIGCONT          25      /* Continue (POSIX).  */
+#define TARGET_SIGTTIN          26      /* Background read from tty (POSIX).  */
+#define TARGET_SIGTTOU          27      /* Background write to tty (POSIX).  */
+#define TARGET_SIGVTALRM        28      /* Virtual alarm clock (4.2 BSD).  */
+#define TARGET_SIGPROF          29      /* Profiling alarm clock (4.2 BSD).  */
+#define TARGET_SIGXCPU          30      /* CPU limit exceeded (4.2 BSD).  */
+#define TARGET_SIGXFSZ          31      /* File size limit exceeded (4.2 BSD).  */
+#define TARGET_SIGRTMIN         32
+
+#define TARGET_SIG_BLOCK        1       /* for blocking signals */
+#define TARGET_SIG_UNBLOCK      2       /* for unblocking signals */
+#define TARGET_SIG_SETMASK      3       /* for setting the signal mask */
 
 /* this struct defines a stack used during syscall handling */
 
@@ -18,14 +57,18 @@ typedef struct target_sigaltstack {
 #define TARGET_SS_ONSTACK     1
 #define TARGET_SS_DISABLE     2
 
+#define TARGET_SA_NOCLDSTOP     0x00000001
+#define TARGET_SA_NOCLDWAIT     0x00010000
+#define TARGET_SA_SIGINFO       0x00000008
+#define TARGET_SA_ONSTACK       0x08000000
+#define TARGET_SA_NODEFER       0x40000000
+#define TARGET_SA_RESTART       0x10000000
+#define TARGET_SA_RESETHAND     0x80000000
+#define TARGET_SA_RESTORER      0x04000000      /* Only for O32 */
+
 #define TARGET_MINSIGSTKSZ    2048
 #define TARGET_SIGSTKSZ       8192
 
-static inline abi_ulong get_sp_from_cpustate(CPUMIPSState *state)
-{
-    return state->active_tc.gpr[29];
-}
-
 #if defined(TARGET_ABI_MIPSO32)
 /* compare linux/arch/mips/kernel/signal.c:setup_frame() */
 #define TARGET_ARCH_HAS_SETUP_FRAME