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