xref: /freebsd/sys/compat/freebsd32/syscalls.conf (revision be67ea40c5a0fd375d754a92e6cd8a3bfc508ba3)
15eb29d9bSDoug Rabson# $FreeBSD$
2f199109fSPeter Wemmsysnames="freebsd32_syscalls.c"
3f199109fSPeter Wemmsysproto="freebsd32_proto.h"
4f199109fSPeter Wemmsysproto_h=_FREEBSD32_SYSPROTO_H_
5f199109fSPeter Wemmsyshdr="freebsd32_syscall.h"
6f199109fSPeter Wemmsyssw="freebsd32_sysent.c"
75eb29d9bSDoug Rabsonsysmk="/dev/null"
8f199109fSPeter Wemmsyscallprefix="FREEBSD32_SYS_"
9f199109fSPeter Wemmswitchname="freebsd32_sysent"
10f199109fSPeter Wemmnamesname="freebsd32_syscallnames"
1156ede107SAndriy Gaponsystrace="freebsd32_systrace_args.c"
12*be67ea40SBrooks Davisabi_flags="long_size|pointer_size|time_t_size|pair_64bit"
135b1df300SBrooks Davisabi_func_prefix="freebsd32_"
14*be67ea40SBrooks Davisabi_type_suffix="32"
15*be67ea40SBrooks Davisabi_long="int32_t"
16*be67ea40SBrooks Davisabi_u_long="uint32_t"
17*be67ea40SBrooks Davisabi_semid_t="int32_t"
18*be67ea40SBrooks Davisabi_size_t="uint32_t"
19*be67ea40SBrooks Davisabi_ptr_array_t="uint32_t"
20*be67ea40SBrooks Davisabi_headers="#include <compat/freebsd32/freebsd32_proto.h>"
21*be67ea40SBrooks Davis
22*be67ea40SBrooks Davis#
23*be67ea40SBrooks Davis# Variables below this line are exceptions to the ABI changes programatically
24*be67ea40SBrooks Davis# detected by makesyscalls.lua.  New system calls should not require an entry
25*be67ea40SBrooks Davis# here in nearly virtually all cases.  New entries are almost certainly
26*be67ea40SBrooks Davis# representative of badly designed interfaces.
27*be67ea40SBrooks Davis#
28*be67ea40SBrooks Davis
29*be67ea40SBrooks Davis# System calls that require freebsd32-specific handling:
30*be67ea40SBrooks Davis# fcntl - need to sign extend arg unless it's a pointer
31*be67ea40SBrooks Davis# ksem_init, ksem_open - XXX not required
32*be67ea40SBrooks Davis# mprotect - i386 read-implies-exec
33*be67ea40SBrooks Davis# msgsys, semsys, shmsys - some sub-syscalls require compat
34*be67ea40SBrooks Davis# sigqueue - union sival requires special handing on big-endian
35*be67ea40SBrooks Davis# sigreturn - struct osigcontext
36*be67ea40SBrooks Davis# sysarch - always MD
37*be67ea40SBrooks Davis# _umtx_lock _umtx_unlock _umtx_op - arguments require special handling
38*be67ea40SBrooks Davissyscall_abi_change="fcntl ksem_init ksem_open mprotect msgsys semsys shmsys sigqueue sigreturn sysarch _umtx_lock _umtx_unlock _umtx_op"
39*be67ea40SBrooks Davis
40*be67ea40SBrooks Davis# System calls that appear to require handling, but don't:
41*be67ea40SBrooks Davis# aio_cancel - the aiocb pointer is just a virtual address
42*be67ea40SBrooks Davis# thr_* - the lack of sign extension of long args is OK
43*be67ea40SBrooks Davis# sctp_generic_* - iovec differences handled internally
44*be67ea40SBrooks Davissyscall_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"
45*be67ea40SBrooks Davis
46*be67ea40SBrooks Davis# OBSOL syscalls
47*be67ea40SBrooks Davis# getkerninfo - obsolete and can't be implemented (kernel virtual addresses can't fit in 32-bits)
48*be67ea40SBrooks Davisobsol="getkerninfo"
49*be67ea40SBrooks Davis
50*be67ea40SBrooks Davis# Syscalls without implementations:
51*be67ea40SBrooks Davis# *mac_* - should be implemented
52*be67ea40SBrooks Davis# afs3_syscall - requires significant porting, probably doesn't make sense
53*be67ea40SBrooks Davis# kldsym - can't be implemented (kernel virtual addresses can't fit in 32-bits)
54*be67ea40SBrooks Davis# lgetfh - should be implemented
55*be67ea40SBrooks Davis# nlm_syscall - requires significant porting, probably doesn't make sense
56*be67ea40SBrooks Davis# nnpfs_syscall - requires significant porting, probably doesn't make sense
57*be67ea40SBrooks Davis# ntp_gettime - should be implemented
58*be67ea40SBrooks Davis# thr_create - was unimplemented and appears to be unnecessicary
59*be67ea40SBrooks Davisunimpl="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"
60