# $FreeBSD$ sysnames="freebsd32_syscalls.c" sysproto="freebsd32_proto.h" sysproto_h=_FREEBSD32_SYSPROTO_H_ syshdr="freebsd32_syscall.h" syssw="freebsd32_sysent.c" sysmk="/dev/null" syscallprefix="FREEBSD32_SYS_" switchname="freebsd32_sysent" namesname="freebsd32_syscallnames" systrace="freebsd32_systrace_args.c" abi_flags="long_size|pointer_size|time_t_size|pair_64bit" abi_func_prefix="freebsd32_" abi_type_suffix="32" abi_long="int32_t" abi_u_long="uint32_t" abi_semid_t="int32_t" abi_size_t="uint32_t" abi_ptr_array_t="uint32_t" abi_headers="#include " # # Variables below this line are exceptions to the ABI changes programatically # detected by makesyscalls.lua. New system calls should not require an entry # here in nearly virtually all cases. New entries are almost certainly # representative of badly designed interfaces. # # System calls that require freebsd32-specific handling: # fcntl - need to sign extend arg unless it's a pointer # ksem_init, ksem_open - XXX not required # mprotect - i386 read-implies-exec # msgsys, semsys, shmsys - some sub-syscalls require compat # sigqueue - union sival requires special handing on big-endian # sigreturn - struct osigcontext # sysarch - always MD # _umtx_lock _umtx_unlock _umtx_op - arguments require special handling syscall_abi_change="fcntl ksem_init ksem_open mprotect msgsys semsys shmsys sigqueue sigreturn sysarch _umtx_lock _umtx_unlock _umtx_op" # System calls that appear to require handling, but don't: # aio_cancel - the aiocb pointer is just a virtual address # thr_* - the lack of sign extension of long args is OK # sctp_generic_* - iovec differences handled internally syscall_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" # OBSOL syscalls # getkerninfo - obsolete and can't be implemented (kernel virtual addresses can't fit in 32-bits) obsol="getkerninfo" # Syscalls without implementations: # *mac_* - should be implemented # afs3_syscall - requires significant porting, probably doesn't make sense # kldsym - can't be implemented (kernel virtual addresses can't fit in 32-bits) # lgetfh - should be implemented # nlm_syscall - requires significant porting, probably doesn't make sense # nnpfs_syscall - requires significant porting, probably doesn't make sense # ntp_gettime - should be implemented # thr_create - was unimplemented and appears to be unnecessicary unimpl="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"