diff options
author | dfr <dfr@FreeBSD.org> | 2004-09-06 09:32:59 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2004-09-06 09:32:59 +0000 |
commit | 865b03d47224cc64e921bbae5bcc5909b90a0294 (patch) | |
tree | 924bbf2be9b08ae6e8e12eb649045360fa962978 /sys/i386/linux | |
parent | 91180c0a8cec56a5b3f52158ed240314737edc1b (diff) | |
download | FreeBSD-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.c | 27 | ||||
-rw-r--r-- | sys/i386/linux/syscalls.master | 6 |
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 |