[PATCH 00/44] Update RTEMS-specific header files to latest FreeBSD versions
Sebastian Huber <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
This is an RTEMS-specific patch set. It is a preparation to update the libbsd (a port of FreeBSD code to RTEMS, e.g. the network stack) to new FreeBSD baseline. The patch set does two things: 1. It updates several header files imported from FreeBSD using the commits from FreeBSD. 2. It removes the kernel space content from some files and includes a <machine/_kernel_*.h> file instead. This allows to use the Newlib provided header files with different FreeBSD baselines. Sebastian Huber (7): RTEMS: Update FreeBSD version tags RTEMS: Add __BSD_VISIBLE in <sys/_termios.h> RTEMS: Introduce <machine/_kernel_uio.h> RTEMS: Introduce <machine/_kernel_in6.h> RTEMS: Introduce <machine/_kernel_in.h> RTEMS: Introduce <machine/_kernel_if.h> RTEMS: Introduce <machine/_kernel_socket.h> [email protected] (1): Follow the RFC6980 and silently ignore following IPv6 NDP messages that had the IPv6 fragmentation header: o Neighbor Solicitation o Neighbor Advertisement o Router Solicitation o Router Advertisement o Redirect brooks (5): Add _IOC_NEWLEN() and _IOC_NEWTYPE() macros. Move uio enums to sys/_uio.h. Fix access to ifru_buffer on freebsd32. Use an accessor function to access ifr_data. Add 32-bit compat for ioctls that take struct ifgroupreq. delphij (1): Implement INHERIT_ZERO for minherit(2). des (1): Correct sysctl names. [email protected] (1): mprotect(): Change prototype to comply to POSIX. glebius (2): Listening sockets improvements. Garbage collect IFCAP_POLLING_NOCOUNT. It wasn't used since very beginning of polling(4). The module always ignored return value from driver polling handler. imp (1): Renumber copyright clause 4 jeff (1): Implement several enhancements to NUMA policies. jhb (4): Add a mmap flag (MAP_32BIT) on 64-bit platforms to request that a mapping use an address in the first 2GB of the process's address space. This flag should have the same semantics as the same flag on Linux. Add a new fo_fill_kinfo fileops method to add type-specific information to struct kinfo_file. - Move the various fill_*_info() methods out of kern_descrip.c and into the various file type implementations. - Rework the support for kinfo_ofile to generate a suitable kinfo_file object for each file and then convert that to a kinfo_ofile structure rather than keeping a second, different set of code that directly manipulates type-specific file information. - Remove the shm_path() and ksem_info() layering violations. Retire the unimplemented MAP_RENAME and MAP_NORESERVE flags to mmap(2). Older binaries are still permitted to use these flags. Add a new file operations hook for mmap operations. File type-specific logic is now placed in the mmap hook implementation rather than requiring it to be placed in sys/vm/vm_mmap.c. This hook allows new file types to support mmap() as well as potentially allowing mmap() for existing file types that do not currently support any mapping. jtl (1): Add the "TCP Blackbox Recorder" which we discussed at the developer summits at BSDCan and BSDCam in 2017. kib (8): Implement read(2)/write(2) and neccessary lseek(2) for posix shmfd. Add MAC framework entries for posix shm read and write. Add MAP_EXCL flag for mmap(2). It should be combined with MAP_FIXED, and prevents the request from deleting existing mappings in the region, failing instead. Implement process-shared locks support for libthr.so.3, without breaking the ABI. Special value is stored in the lock pointer to indicate shared lock, and offline page in the shared memory is allocated to store the actual lock. Implement address space guards. Relax visibility for some termios symbols. Add a place for a driver to report rx timestamps in nanoseconds from boot for the received packets. Use hardware timestamps to report packet timestamps for SO_TIMESTAMP and other similar socket options. Allow to specify PCP on packets not belonging to any VLAN. mmacy (1): iflib(9): Add support for cloning pseudo interfaces pfg (4): sys: further adoption of SPDX licensing ID tags. include: further adoption of SPDX licensing ID tags. sys/sys: further adoption of SPDX licensing ID tags. SPDX: license IDs for some ISC-related files. pkelsey (1): This is an implementation of the client side of TCP Fast Open (TFO) [RFC7413]. It also includes a pre-shared key mode of operation in which the server requires the client to be in possession of a shared secret in order to successfully open TFO connections with that server. rrs (1): This commit brings in a new refactored TCP stack called Rack. Rack includes the following features: - A different SACK processing scheme (the old sack structures are not used). - RACK (Recent acknowledgment) where counting dup-acks is no longer done instead time is used to knwo when to retransmit. (see the I-D) - TLP (Tail Loss Probe) where we will probe for tail-losses to attempt to try not to take a retransmit time-out. (see the I-D) - Burst mitigation using TCPHTPS - PRR (partial rate reduction) see the RFC. sbruno (3): Load balance sockets with new SO_REUSEPORT_LB option Revert r332894 at the request of the submitter. Load balance sockets with new SO_REUSEPORT_LB option. sephe (1): if: Add ioctls to get RSS key and hash type/function. newlib/libc/sys/rtems/include/arpa/inet.h | 6 +- newlib/libc/sys/rtems/include/net/if.h | 66 ++++++-- newlib/libc/sys/rtems/include/netdb.h | 4 +- newlib/libc/sys/rtems/include/netinet/in.h | 36 +---- newlib/libc/sys/rtems/include/netinet/tcp.h | 85 +++++++++- newlib/libc/sys/rtems/include/netinet6/in6.h | 175 ++------------------- newlib/libc/sys/rtems/include/sys/_bitset.h | 10 +- newlib/libc/sys/rtems/include/sys/_cpuset.h | 4 +- newlib/libc/sys/rtems/include/sys/_iovec.h | 4 +- .../libc/sys/rtems/include/sys/_sockaddr_storage.h | 4 +- newlib/libc/sys/rtems/include/sys/_termios.h | 14 +- newlib/libc/sys/rtems/include/sys/_uio.h | 52 ++++++ newlib/libc/sys/rtems/include/sys/bitset.h | 4 +- newlib/libc/sys/rtems/include/sys/filio.h | 4 +- newlib/libc/sys/rtems/include/sys/ioccom.h | 6 + newlib/libc/sys/rtems/include/sys/ioctl.h | 4 +- newlib/libc/sys/rtems/include/sys/mman.h | 35 ++++- newlib/libc/sys/rtems/include/sys/socket.h | 101 ++++-------- newlib/libc/sys/rtems/include/sys/sockio.h | 11 +- newlib/libc/sys/rtems/include/sys/syslog.h | 4 +- newlib/libc/sys/rtems/include/sys/ttycom.h | 4 +- newlib/libc/sys/rtems/include/sys/ttydefaults.h | 4 +- newlib/libc/sys/rtems/include/sys/uio.h | 76 ++------- newlib/libc/sys/rtems/include/sys/un.h | 4 +- newlib/libc/sys/rtems/include/termios.h | 4 +- 25 files changed, 357 insertions(+), 364 deletions(-) create mode 100644 newlib/libc/sys/rtems/include/sys/_uio.h -- 2.13.7