xref: /freebsd/sys/compat/freebsd32/syscalls.conf (revision 031beb4e)
1sysnames="freebsd32_syscalls.c"
2sysproto="freebsd32_proto.h"
3sysproto_h=_FREEBSD32_SYSPROTO_H_
4syshdr="freebsd32_syscall.h"
5syssw="freebsd32_sysent.c"
6sysmk="/dev/null"
7syscallprefix="FREEBSD32_SYS_"
8switchname="freebsd32_sysent"
9namesname="freebsd32_syscallnames"
10systrace="freebsd32_systrace_args.c"
11abi_flags="long_size|pointer_size|time_t_size|pair_64bit"
12abi_func_prefix="freebsd32_"
13abi_type_suffix="32"
14abi_long="int32_t"
15abi_u_long="uint32_t"
16abi_semid_t="int32_t"
17abi_size_t="uint32_t"
18abi_ptr_array_t="uint32_t"
19abi_headers="#include <compat/freebsd32/freebsd32_proto.h>"
20
21#
22# Variables below this line are exceptions to the ABI changes programatically
23# detected by makesyscalls.lua.  New system calls should not require an entry
24# here in nearly virtually all cases.  New entries are almost certainly
25# representative of badly designed interfaces.
26#
27
28# System calls that require freebsd32-specific handling:
29# fcntl - need to sign extend arg unless it's a pointer
30# ksem_init, ksem_open - XXX not required
31# mprotect - i386 read-implies-exec
32# msgsys, semsys, shmsys - some sub-syscalls require compat
33# sigqueue - union sival requires special handing on big-endian
34# sigreturn - struct osigcontext
35# sysarch - always MD
36# _umtx_lock _umtx_unlock _umtx_op - arguments require special handling
37syscall_abi_change="fcntl ksem_init ksem_open mprotect msgsys semsys shmsys sigqueue sigreturn sysarch _umtx_lock _umtx_unlock _umtx_op"
38
39# System calls that appear to require handling, but don't:
40# aio_cancel - the aiocb pointer is just a virtual address
41# thr_* - the lack of sign extension of long args is OK
42# sctp_generic_* - iovec differences handled internally
43syscall_no_abi_change="aio_cancel thr_exit thr_kill thr_kill2 thr_self thr_set_name thr_wake sctp_generic_sendmsg_iov sctp_generic_recvmsg"
44
45# OBSOL syscalls
46# getkerninfo - obsolete and can't be implemented (kernel virtual addresses can't fit in 32-bits)
47obsol="getkerninfo"
48
49# Syscalls without implementations:
50# *mac_* - should be implemented
51# afs3_syscall - requires significant porting, probably doesn't make sense
52# kldsym - can't be implemented (kernel virtual addresses can't fit in 32-bits)
53# lgetfh - should be implemented
54# nlm_syscall - requires significant porting, probably doesn't make sense
55# nnpfs_syscall - requires significant porting, probably doesn't make sense
56# ntp_gettime - should be implemented
57# thr_create - was unimplemented and appears to be unnecessicary
58unimpl="afs3_syscall kldsym __mac_get_proc __mac_set_proc __mac_get_fd __mac_get_file __mac_set_fd __mac_set_file __mac_get_pid __mac_get_link __mac_set_link __mac_execve mac_syscall nfssvc nlm_syscall ntp_gettime lgetfh nnpfs_syscall thr_create"
59