summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormmokhi <mmokhi@FreeBSD.org>2017-04-11 12:49:25 +0000
committermmokhi <mmokhi@FreeBSD.org>2017-04-11 12:49:25 +0000
commit98d8098a87ba9c7ee56ac2b1c32aa780bf9acadf (patch)
treeb27419a0f9bf93332ad4bab5c526a3a4c2273b44
parent480aa18ad07ac35a17bf83e12d1ede8f5775913a (diff)
downloadFreeBSD-src-98d8098a87ba9c7ee56ac2b1c32aa780bf9acadf.zip
FreeBSD-src-98d8098a87ba9c7ee56ac2b1c32aa780bf9acadf.tar.gz
MFC r314782:
Add UNIMPLEMENTED() placeholder macro for the syscalls that are not implemented in Linux kernel itself. Cleanup DUMMY() macros. Approved by: trasz
-rw-r--r--sys/amd64/linux/linux_dummy.c28
-rw-r--r--sys/amd64/linux/syscalls.master26
-rw-r--r--sys/amd64/linux32/linux32_dummy.c22
-rw-r--r--sys/amd64/linux32/syscalls.master8
-rw-r--r--sys/compat/linux/linux_util.h8
-rw-r--r--sys/i386/linux/linux_dummy.c22
-rw-r--r--sys/i386/linux/syscalls.master8
7 files changed, 81 insertions, 41 deletions
diff --git a/sys/amd64/linux/linux_dummy.c b/sys/amd64/linux/linux_dummy.c
index bab54c2..90efd4e 100644
--- a/sys/amd64/linux/linux_dummy.c
+++ b/sys/amd64/linux/linux_dummy.c
@@ -43,6 +43,22 @@ __FBSDID("$FreeBSD$");
/* DTrace init */
LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE);
+UNIMPLEMENTED(afs_syscall);
+UNIMPLEMENTED(create_module); /* added in linux 1.0 removed in 2.6 */
+UNIMPLEMENTED(epoll_ctl_old);
+UNIMPLEMENTED(epoll_wait_old);
+UNIMPLEMENTED(get_kernel_syms); /* added in linux 1.0 removed in 2.6 */
+UNIMPLEMENTED(get_thread_area);
+UNIMPLEMENTED(getpmsg);
+UNIMPLEMENTED(nfsservctl); /* added in linux 2.2 removed in 3.1 */
+UNIMPLEMENTED(putpmsg);
+UNIMPLEMENTED(query_module); /* added in linux 2.2 removed in 2.6 */
+UNIMPLEMENTED(security);
+UNIMPLEMENTED(set_thread_area);
+UNIMPLEMENTED(tuxcall);
+UNIMPLEMENTED(uselib);
+UNIMPLEMENTED(vserver);
+
DUMMY(mincore);
DUMMY(sendfile);
DUMMY(syslog);
@@ -53,22 +69,10 @@ DUMMY(vhangup);
DUMMY(pivot_root);
DUMMY(adjtimex);
DUMMY(swapoff);
-DUMMY(create_module);
DUMMY(init_module);
DUMMY(delete_module);
-DUMMY(get_kernel_syms);
-DUMMY(query_module);
DUMMY(quotactl);
-DUMMY(nfsservctl);
-DUMMY(getpmsg);
-DUMMY(putpmsg);
-DUMMY(afs_syscall);
-DUMMY(tuxcall);
-DUMMY(security);
-DUMMY(set_thread_area);
DUMMY(lookup_dcookie);
-DUMMY(epoll_ctl_old);
-DUMMY(epoll_wait_old);
DUMMY(remap_file_pages);
DUMMY(semtimedop);
DUMMY(mbind);
diff --git a/sys/amd64/linux/syscalls.master b/sys/amd64/linux/syscalls.master
index d8470db..3981ff3 100644
--- a/sys/amd64/linux/syscalls.master
+++ b/sys/amd64/linux/syscalls.master
@@ -333,18 +333,18 @@
l_int len); }
172 AUE_NULL STD { int linux_iopl(l_uint level); }
173 AUE_NULL UNIMPL ioperm
-174 AUE_NULL STD { int linux_create_module(void); }
+174 AUE_NULL UNIMPL create_module
175 AUE_NULL STD { int linux_init_module(void); }
176 AUE_NULL STD { int linux_delete_module(void); }
-177 AUE_NULL STD { int linux_get_kernel_syms(void); }
-178 AUE_NULL STD { int linux_query_module(void); }
+177 AUE_NULL UNIMPL get_kernel_syms
+178 AUE_NULL UNIMPL query_module
179 AUE_QUOTACTL STD { int linux_quotactl(void); }
-180 AUE_NULL STD { int linux_nfsservctl(void); }
-181 AUE_GETPMSG STD { int linux_getpmsg(void); }
-182 AUE_PUTPMSG STD { int linux_putpmsg(void); }
-183 AUE_NULL STD { int linux_afs_syscall(void); }
-184 AUE_NULL STD { int linux_tuxcall(void); }
-185 AUE_NULL STD { int linux_security(void); }
+180 AUE_NULL UNIMPL nfsservctl
+181 AUE_GETPMSG UNIMPL getpmsg
+182 AUE_PUTPMSG UNIMPL putpmsg
+183 AUE_NULL UNIMPL afs_syscall
+184 AUE_NULL UNIMPL tuxcall
+185 AUE_NULL UNIMPL security
186 AUE_NULL STD { int linux_gettid(void); }
187 AUE_NULL UNIMPL linux_readahead
188 AUE_NULL STD { int linux_setxattr(void); }
@@ -367,17 +367,17 @@
l_ulong *user_mask_ptr); }
204 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \
l_ulong *user_mask_ptr); }
-205 AUE_NULL STD { int linux_set_thread_area(void); }
+205 AUE_NULL UNIMPL set_thread_area
206 AUE_NULL UNIMPL linux_io_setup
207 AUE_NULL UNIMPL linux_io_destroy
208 AUE_NULL UNIMPL linux_io_getevents
209 AUE_NULL UNIMPL linux_io_submit
210 AUE_NULL UNIMPL linux_io_cancel
-211 AUE_NULL UNIMPL linux_get_thread_area
+211 AUE_NULL UNIMPL get_thread_area
212 AUE_NULL STD { int linux_lookup_dcookie(void); }
213 AUE_NULL STD { int linux_epoll_create(l_int size); }
-214 AUE_NULL STD { int linux_epoll_ctl_old(void); }
-215 AUE_NULL STD { int linux_epoll_wait_old(void); }
+214 AUE_NULL UNIMPL epoll_ctl_old
+215 AUE_NULL UNIMPL epoll_wait_old
216 AUE_NULL STD { int linux_remap_file_pages(void); }
217 AUE_GETDIRENTRIES STD { int linux_getdents64(l_uint fd, \
void *dirent, l_uint count); }
diff --git a/sys/amd64/linux32/linux32_dummy.c b/sys/amd64/linux32/linux32_dummy.c
index d157b84..da5e757 100644
--- a/sys/amd64/linux32/linux32_dummy.c
+++ b/sys/amd64/linux32/linux32_dummy.c
@@ -45,6 +45,24 @@ __FBSDID("$FreeBSD$");
/* DTrace init */
LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE);
+UNIMPLEMENTED(afs_syscall);
+UNIMPLEMENTED(break);
+UNIMPLEMENTED(create_module); /* added in linux 1.0 removed in 2.6 */
+UNIMPLEMENTED(ftime);
+UNIMPLEMENTED(get_kernel_syms); /* added in linux 1.0 removed in 2.6 */
+UNIMPLEMENTED(getpmsg);
+UNIMPLEMENTED(gtty);
+UNIMPLEMENTED(stty);
+UNIMPLEMENTED(lock);
+UNIMPLEMENTED(mpx);
+UNIMPLEMENTED(nfsservctl); /* added in linux 2.2 removed in 3.1 */
+UNIMPLEMENTED(prof);
+UNIMPLEMENTED(profil);
+UNIMPLEMENTED(putpmsg);
+UNIMPLEMENTED(query_module); /* added in linux 2.2 removed in 2.6 */
+UNIMPLEMENTED(ulimit);
+UNIMPLEMENTED(vserver);
+
DUMMY(stime);
DUMMY(olduname);
DUMMY(syslog);
@@ -52,15 +70,11 @@ DUMMY(uname);
DUMMY(vhangup);
DUMMY(swapoff);
DUMMY(adjtimex);
-DUMMY(create_module);
DUMMY(init_module);
DUMMY(delete_module);
-DUMMY(get_kernel_syms);
DUMMY(quotactl);
DUMMY(bdflush);
DUMMY(sysfs);
-DUMMY(query_module);
-DUMMY(nfsservctl);
DUMMY(sendfile);
DUMMY(setfsuid);
DUMMY(setfsgid);
diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master
index e1f2602c..db713e2 100644
--- a/sys/amd64/linux32/syscalls.master
+++ b/sys/amd64/linux32/syscalls.master
@@ -230,10 +230,10 @@
int prot); }
126 AUE_SIGPROCMASK STD { int linux_sigprocmask(l_int how, \
l_osigset_t *mask, l_osigset_t *omask); }
-127 AUE_NULL STD { int linux_create_module(void); }
+127 AUE_NULL UNIMPL create_module
128 AUE_NULL STD { int linux_init_module(void); }
129 AUE_NULL STD { int linux_delete_module(void); }
-130 AUE_NULL STD { int linux_get_kernel_syms(void); }
+130 AUE_NULL UNIMPL get_kernel_syms
131 AUE_QUOTACTL STD { int linux_quotactl(void); }
132 AUE_GETPGID NOPROTO { int getpgid(int pid); }
133 AUE_FCHDIR NOPROTO { int fchdir(int fd); }
@@ -296,10 +296,10 @@
165 AUE_GETRESUID STD { int linux_getresuid16(l_uid16_t *ruid, \
l_uid16_t *euid, l_uid16_t *suid); }
166 AUE_NULL UNIMPL vm86
-167 AUE_NULL STD { int linux_query_module(void); }
+167 AUE_NULL UNIMPL query_module
168 AUE_POLL NOPROTO { int poll(struct pollfd *fds, \
unsigned int nfds, int timeout); }
-169 AUE_NULL STD { int linux_nfsservctl(void); }
+169 AUE_NULL UNIMPL nfsservctl
170 AUE_SETRESGID STD { int linux_setresgid16(l_gid16_t rgid, \
l_gid16_t egid, l_gid16_t sgid); }
171 AUE_GETRESGID STD { int linux_getresgid16(l_gid16_t *rgid, \
diff --git a/sys/compat/linux/linux_util.h b/sys/compat/linux/linux_util.h
index 7b389a00..2cf42c0 100644
--- a/sys/compat/linux/linux_util.h
+++ b/sys/compat/linux/linux_util.h
@@ -93,6 +93,14 @@ linux_ ## s(struct thread *td, struct linux_ ## s ## _args *args) \
} \
struct __hack
+/*
+ * This is for the syscalls that are not even yet implemented in Linux.
+ *
+ * They're marked as UNIMPL in syscall.master so it will
+ * have nosys record in linux_sysent[].
+ */
+#define UNIMPLEMENTED(s)
+
void linux_msg(const struct thread *td, const char *fmt, ...)
__printflike(2, 3);
diff --git a/sys/i386/linux/linux_dummy.c b/sys/i386/linux/linux_dummy.c
index 2bc9271..bb52142 100644
--- a/sys/i386/linux/linux_dummy.c
+++ b/sys/i386/linux/linux_dummy.c
@@ -45,6 +45,24 @@ __FBSDID("$FreeBSD$");
/* DTrace init */
LIN_SDT_PROVIDER_DECLARE(LINUX_DTRACE);
+UNIMPLEMENTED(afs_syscall);
+UNIMPLEMENTED(break);
+UNIMPLEMENTED(create_module); /* added in linux 1.0 removed in 2.6 */
+UNIMPLEMENTED(ftime);
+UNIMPLEMENTED(get_kernel_syms); /* added in linux 1.0 removed in 2.6 */
+UNIMPLEMENTED(getpmsg);
+UNIMPLEMENTED(gtty);
+UNIMPLEMENTED(stty);
+UNIMPLEMENTED(lock);
+UNIMPLEMENTED(mpx);
+UNIMPLEMENTED(nfsservctl); /* added in linux 2.2 removed in 3.1 */
+UNIMPLEMENTED(prof);
+UNIMPLEMENTED(profil);
+UNIMPLEMENTED(putpmsg);
+UNIMPLEMENTED(query_module); /* added in linux 2.2 removed in 2.6 */
+UNIMPLEMENTED(ulimit);
+UNIMPLEMENTED(vserver);
+
DUMMY(stime);
DUMMY(fstat);
DUMMY(olduname);
@@ -54,16 +72,12 @@ DUMMY(vhangup);
DUMMY(vm86old);
DUMMY(swapoff);
DUMMY(adjtimex);
-DUMMY(create_module);
DUMMY(init_module);
DUMMY(delete_module);
-DUMMY(get_kernel_syms);
DUMMY(quotactl);
DUMMY(bdflush);
DUMMY(sysfs);
DUMMY(vm86);
-DUMMY(query_module);
-DUMMY(nfsservctl);
DUMMY(sendfile); /* different semantics */
DUMMY(setfsuid);
DUMMY(setfsgid);
diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master
index 7ef682a..4becbf9 100644
--- a/sys/i386/linux/syscalls.master
+++ b/sys/i386/linux/syscalls.master
@@ -232,10 +232,10 @@
int prot); }
126 AUE_SIGPROCMASK STD { int linux_sigprocmask(l_int how, \
l_osigset_t *mask, l_osigset_t *omask); }
-127 AUE_NULL STD { int linux_create_module(void); }
+127 AUE_NULL UNIMPL create_module
128 AUE_NULL STD { int linux_init_module(void); }
129 AUE_NULL STD { int linux_delete_module(void); }
-130 AUE_NULL STD { int linux_get_kernel_syms(void); }
+130 AUE_NULL UNIMPL get_kernel_syms
131 AUE_QUOTACTL STD { int linux_quotactl(void); }
132 AUE_GETPGID NOPROTO { int getpgid(int pid); }
133 AUE_FCHDIR NOPROTO { int fchdir(int fd); }
@@ -298,10 +298,10 @@
165 AUE_GETRESUID STD { int linux_getresuid16(l_uid16_t *ruid, \
l_uid16_t *euid, l_uid16_t *suid); }
166 AUE_NULL STD { int linux_vm86(void); }
-167 AUE_NULL STD { int linux_query_module(void); }
+167 AUE_NULL UNIMPL query_module
168 AUE_POLL NOPROTO { int poll(struct pollfd* fds, \
unsigned int nfds, long timeout); }
-169 AUE_NULL STD { int linux_nfsservctl(void); }
+169 AUE_NULL UNIMPL nfsservctl
170 AUE_SETRESGID STD { int linux_setresgid16(l_gid16_t rgid, \
l_gid16_t egid, l_gid16_t sgid); }
171 AUE_GETRESGID STD { int linux_getresgid16(l_gid16_t *rgid, \
OpenPOWER on IntegriCloud