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