1Some files in this directory are imported from FreeBSD. The last 2synchronization point with FreeBSD is the following FreeBSD commit: 3 4commit 3bf66365129a13933f77d1f4421d5136861cffb4 5Author: Brooks Davis <brooks@FreeBSD.org> 6Date: Wed Jul 6 14:03:48 2022 +0100 7 8 cddl/*: add a WITH(OUT)_DTRACE option 9 10 Add an option to enable/disable DTrace without disabling ZFS. New 11 architectures such as CHERI may support ZFS before they support DTrace 12 and the old model of WITHOUT_CDDL disabling both wasn't helpful. 13 14 For compatiblity, the CDDL option remains and WITHOUT_CDDL implies 15 WITHOUT_DTRACE. WITHOUT_DTRACE also implies WITHOUT_CTF. 16 17 As part of this change, largely convert cddl/*/Makefile to using the 18 more compact SUBDIR.${MK_<FOO>}+= form rather than using intermediate 19 variables. 20 21 Reviewed by: markj 22 Obtained from: CheriBSD 23 Sponsored by: DARPA, AFRL 24 Differential Revision: https://reviews.freebsd.org/D35718 25 26The files imported from FreeSD may be updated to a new FreeBSD baseline through 27a patch set generated by this Git command: 28 29git format-patch 3bf66365129a13933f77d1f4421d5136861cffb4 -- \ 30include/arpa/inet.h include/netdb.h include/termios.h sys/net/if.h \ 31sys/netinet6/in6.h sys/netinet/in.h sys/netinet/tcp.h sys/sys/filio.h \ 32sys/sys/ioccom.h sys/sys/_iovec.h sys/sys/mman.h sys/sys/poll.h \ 33sys/sys/_sockaddr_storage.h sys/sys/socket.h sys/sys/sockio.h \ 34sys/sys/syslog.h sys/sys/_termios.h sys/sys/ttycom.h sys/sys/ttydefaults.h \ 35sys/sys/_uio.h sys/sys/uio.h sys/sys/un.h 36 37Use the follwing commands to map FreeBSD paths to Newlib paths: 38 39sed -i 's,include/arpa/inet.h,newlib/libc/sys/rtems/include/arpa/inet.h,g' *.patch 40sed -i 's,include/netdb.h,newlib/libc/sys/rtems/include/netdb.h,g' *.patch 41sed -i 's,include/termios.h,newlib/libc/sys/rtems/include/termios.h,g' *.patch 42sed -i 's,sys/net/if.h,newlib/libc/sys/rtems/include/net/if.h,g' *.patch 43sed -i 's,sys/netinet6/in6.h,newlib/libc/sys/rtems/include/netinet6/in6.h,g' *.patch 44sed -i 's,sys/netinet/in.h,newlib/libc/sys/rtems/include/netinet/in.h,g' *.patch 45sed -i 's,sys/netinet/tcp.h,newlib/libc/sys/rtems/include/netinet/tcp.h,g' *.patch 46sed -i 's,sys/sys/filio.h,newlib/libc/sys/rtems/include/sys/filio.h,g' *.patch 47sed -i 's,sys/sys/ioccom.h,newlib/libc/sys/rtems/include/sys/ioccom.h,g' *.patch 48sed -i 's,sys/sys/_iovec.h,newlib/libc/sys/rtems/include/sys/_iovec.h,g' *.patch 49sed -i 's,sys/sys/mman.h,newlib/libc/sys/rtems/include/sys/mman.h,g' *.patch 50sed -i 's,sys/sys/poll.h,newlib/libc/sys/rtems/include/sys/poll.h,g' *.patch 51sed -i 's,sys/sys/_sockaddr_storage.h,newlib/libc/sys/rtems/include/sys/_sockaddr_storage.h,g' *.patch 52sed -i 's,sys/sys/socket.h,newlib/libc/sys/rtems/include/sys/socket.h,g' *.patch 53sed -i 's,sys/sys/sockio.h,newlib/libc/sys/rtems/include/sys/sockio.h,g' *.patch 54sed -i 's,sys/sys/syslog.h,newlib/libc/sys/rtems/include/sys/syslog.h,g' *.patch 55sed -i 's,sys/sys/_termios.h,newlib/libc/sys/rtems/include/sys/_termios.h,g' *.patch 56sed -i 's,sys/sys/ttycom.h,newlib/libc/sys/rtems/include/sys/ttycom.h,g' *.patch 57sed -i 's,sys/sys/ttydefaults.h,newlib/libc/sys/rtems/include/sys/ttydefaults.h,g' *.patch 58sed -i 's,sys/sys/_uio.h,newlib/libc/sys/rtems/include/sys/_uio.h,g' *.patch 59sed -i 's,sys/sys/uio.h,newlib/libc/sys/rtems/include/sys/uio.h,g' *.patch 60sed -i 's,sys/sys/un.h,newlib/libc/sys/rtems/include/sys/un.h,g' *.patch 61 62Some patches may change kernel space parts of the above header files. These 63parts are contained in kernel space header files provided by RTEMS or LibBSD. 64Gather all patches and hunks of patches which belong to the kernel space so 65that they can be applied to RTEMS or LibBSD. Use the following commands to map 66Newlib paths to kernel space header files. 67 68sed -i 's,newlib/libc/sys/rtems/include/netinet6/in6.h,cpukit/include/machine/_kernel_in6.h,g' *.patch 69sed -i 's,newlib/libc/sys/rtems/include/netinet/in.h,cpukit/include/machine/_kernel_in.h,g' *.patch 70sed -i 's,newlib/libc/sys/rtems/include/sys/cpuset.h,cpukit/include/machine/_kernel_cpuset.h,g' *.patch 71sed -i 's,newlib/libc/sys/rtems/include/sys/mman.h,cpukit/include/machine/_kernel_mman.h,g' *.patch 72sed -i 's,newlib/libc/sys/rtems/include/sys/param.h,cpukit/include/machine/_kernel_param.h,g' *.patch 73sed -i 's,newlib/libc/sys/rtems/include/sys/time.h,cpukit/include/machine/_kernel_time.h,g' *.patch 74sed -i 's,newlib/libc/sys/rtems/include/sys/types.h,cpukit/include/machine/_kernel_types.h,g' *.patch 75sed -i 's,newlib/libc/sys/rtems/include/sys/uio.h,cpukit/include/machine/_kernel_uio.h,g' *.patch 76 77sed -i 's,newlib/libc/sys/rtems/include/net/if.h,rtemsbsd/include/machine/_kernel_if.h,g' *.patch 78sed -i 's,newlib/libc/sys/rtems/include/sys/lock.h,rtemsbsd/include/machine/_kernel_lock.h,g' *.patch 79sed -i 's,newlib/libc/sys/rtems/include/sys/socket.h,rtemsbsd/include/machine/_kernel_socket.h,g' *.patch 80