summaryrefslogtreecommitdiffstats
path: root/sys/i386/linux
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>2004-09-06 09:32:59 +0000
committerdfr <dfr@FreeBSD.org>2004-09-06 09:32:59 +0000
commit865b03d47224cc64e921bbae5bcc5909b90a0294 (patch)
tree924bbf2be9b08ae6e8e12eb649045360fa962978 /sys/i386/linux
parent91180c0a8cec56a5b3f52158ed240314737edc1b (diff)
downloadFreeBSD-src-865b03d47224cc64e921bbae5bcc5909b90a0294.zip
FreeBSD-src-865b03d47224cc64e921bbae5bcc5909b90a0294.tar.gz
Add a few stub syscalls to get TransGaming's winex a bit closer to
working.
Diffstat (limited to 'sys/i386/linux')
-rw-r--r--sys/i386/linux/linux_machdep.c27
-rw-r--r--sys/i386/linux/syscalls.master6
2 files changed, 30 insertions, 3 deletions
diff --git a/sys/i386/linux/linux_machdep.c b/sys/i386/linux/linux_machdep.c
index 0e2786c..4d334ba 100644
--- a/sys/i386/linux/linux_machdep.c
+++ b/sys/i386/linux/linux_machdep.c
@@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
#include <sys/proc.h>
#include <sys/resource.h>
#include <sys/resourcevar.h>
+#include <sys/signalvar.h>
#include <sys/syscallsubr.h>
#include <sys/sysproto.h>
#include <sys/unistd.h>
@@ -828,3 +829,29 @@ linux_ftruncate64(struct thread *td, struct linux_ftruncate64_args *args)
sa.length = args->length;
return ftruncate(td, &sa);
}
+
+int
+linux_set_thread_area(struct thread *td, struct linux_set_thread_area_args *args)
+{
+ /*
+ * Return an error code instead of raising a SIGSYS so that
+ * the caller will fall back to simpler LDT methods.
+ */
+ return (ENOSYS);
+}
+
+int
+linux_gettid(struct thread *td, struct linux_gettid_args *args)
+{
+
+ td->td_retval[0] = td->td_proc->p_pid;
+ return (0);
+}
+
+int
+linux_tkill(struct thread *td, struct linux_tkill_args *args)
+{
+
+ return (linux_kill(td, (struct linux_kill_args *) args));
+}
+
diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master
index dd5e586..ae9e52a 100644
--- a/sys/i386/linux/syscalls.master
+++ b/sys/i386/linux/syscalls.master
@@ -297,7 +297,7 @@
221 MSTD { int linux_fcntl64(l_uint fd, l_uint cmd, l_ulong arg); }
222 UNIMPL
223 UNIMPL
-224 UNIMPL linux_gettid
+224 STD { long linux_gettid(void); }
225 UNIMPL linux_readahead
226 STD { int linux_setxattr(void); }
227 STD { int linux_lsetxattr(void); }
@@ -311,12 +311,12 @@
235 STD { int linux_removexattr(void); }
236 STD { int linux_lremovexattr(void); }
237 STD { int linux_fremovexattr(void); }
-238 UNIMPL linux_tkill
+238 STD { int linux_tkill(int tid, int sig); }
239 UNIMPL linux_sendfile64
240 UNIMPL linux_futex
241 UNIMPL linux_sched_setaffinity
242 UNIMPL linux_sched_getaffinity
-243 UNIMPL linux_set_thread_area
+243 STD { int linux_set_thread_area(void *entry); }
244 UNIMPL linux_get_thread_area
245 UNIMPL linux_io_setup
246 UNIMPL linux_io_destroy
OpenPOWER on IntegriCloud