aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2021-11-29 22:03:00 +0000
committerBrooks Davis <brooks@FreeBSD.org>2021-11-29 22:04:44 +0000
commita8efd4d1b3b43a5762f87befe22dd6e1cda73373 (patch)
tree54fcdc9a5333986f2c651f41183863cd9d53ed3a
parentd7f306c5be6fb4b4ab4455e1d033cc9545ce015d (diff)
downloadsrc-a8efd4d1b3b43a5762f87befe22dd6e1cda73373.tar.gz
src-a8efd4d1b3b43a5762f87befe22dd6e1cda73373.zip
syscalls: make syscall and __syscall SYSMUX
Rather than combining the declearation of nosys with the registration of SYS_syscall, declare syscall(2) and __syscall(2) with the new SYSMUX type in syscalls.master and declare nosys directly. This eliminates the last use of syscall aliases in the tree. Reviewed by: kib, imp
-rw-r--r--sys/kern/syscalls.master18
-rw-r--r--sys/sys/sysent.h6
2 files changed, 18 insertions, 6 deletions
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index 96541023ec28..92cc727f22c9 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -114,9 +114,12 @@
#include <sys/sysproto.h>
%%ABI_HEADERS%%
-0 AUE_NULL STD {
- int nosys(void);
- } syscall nosys_args int
+0 AUE_NULL SYSMUX {
+ int syscall(
+ int number,
+ ...
+ );
+ }
1 AUE_EXIT STD|CAPENABLED {
void exit(
int rval
@@ -1194,9 +1197,12 @@
off_t pos
);
}
-198 AUE_NULL NOPROTO {
- int nosys(void);
- } __syscall __syscall_args int
+198 AUE_NULL SYSMUX {
+ int __syscall(
+ int64_t number,
+ ...
+ );
+ }
199 AUE_LSEEK COMPAT6|CAPENABLED {
off_t lseek(
int fd,
diff --git a/sys/sys/sysent.h b/sys/sys/sysent.h
index fc678d49750a..e0b067927036 100644
--- a/sys/sys/sysent.h
+++ b/sys/sys/sysent.h
@@ -192,6 +192,12 @@ extern struct sysentvec aout_sysvec;
extern struct sysent sysent[];
extern const char *syscallnames[];
+struct nosys_args {
+ register_t dummy;
+};
+
+int nosys(struct thread *, struct nosys_args *);
+
#define NO_SYSCALL (-1)
struct module;