diff options
author | mmokhi <mmokhi@FreeBSD.org> | 2017-04-11 12:49:25 +0000 |
---|---|---|
committer | mmokhi <mmokhi@FreeBSD.org> | 2017-04-11 12:49:25 +0000 |
commit | 98d8098a87ba9c7ee56ac2b1c32aa780bf9acadf (patch) | |
tree | b27419a0f9bf93332ad4bab5c526a3a4c2273b44 | |
parent | 480aa18ad07ac35a17bf83e12d1ede8f5775913a (diff) | |
download | FreeBSD-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.c | 28 | ||||
-rw-r--r-- | sys/amd64/linux/syscalls.master | 26 | ||||
-rw-r--r-- | sys/amd64/linux32/linux32_dummy.c | 22 | ||||
-rw-r--r-- | sys/amd64/linux32/syscalls.master | 8 | ||||
-rw-r--r-- | sys/compat/linux/linux_util.h | 8 | ||||
-rw-r--r-- | sys/i386/linux/linux_dummy.c | 22 | ||||
-rw-r--r-- | sys/i386/linux/syscalls.master | 8 |
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, \ |