Synchronize kernel <sys/time.h> with FreeBSD
Integrate parts of this commit:
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.
Once built into your kernel, you can select this stack by either
socket option with the name of the stack is "rack" or by setting
the global sysctl so the default is rack.
Note that any connection that does not support SACK will be kicked
back to the "default" base FreeBSD stack (currently known as "default").
To build this into your kernel you will need to enable in your
kernel:
makeoptions WITH_EXTRA_TCP_STACKS=1
options TCPHPTS
Sponsored by: Netflix Inc.
Differential Revision: ​https://reviews.freebsd.org/D15525

bsps/powerpc: Hack to fix the build
The ppc405 define must be checked before the ppc403 define. The ppc405
define is provided by <bspopts.h>. The ppc403 define is provided by GCC
as a built-in define if no ppc* or mpc* define is set via the
command line (see GCC sources "gcc/config/rs6000/rtems.h").
Update #3425.

tools: Remove packhex
All tools should be removed from the RTEMS source repository at some
point in time. Tools with a BSD-style license will be moved to the
RTEMS tools repository. Unfortunately, this tool has no license
information.
Remove all uses of this tool from the code base. Users of HEX files
should consider to use ELF instead.
Close #3379.

tools: Remove eolstrip
This program has no license information and is unused in the RTEMS
build. General usability is questionable, for example a
sed -i 's/:space:?*$' file
performs a similar task. Remove it.
Close #3377.

tools: Remove cklength
This program has no license information and is unused in the RTEMS
build. General usability is questionable, for example a
awk 'length($0) > 80' < file
performs a similar task. Remove it.
Close #3376.

tools: Remove shgen
All tools should be removed from the RTEMS source repository at some
point in time. Tools with a BSD-style license will be moved to the RTEMS
tools repository. Unfortunately, the shgen tool is GPL licensed.
Remove all uses of this tool from the code base. Replace generated files
with stub functions. If users of this BSP still exist, they can
reimplement the functionality using a BSD-style license.
Close #3443.

tools: Remove nios2gen
All tools should be removed from the RTEMS source repository at some
point in time. Tools with a BSD-style license will be moved to the
RTEMS tools repository. Unfortunately, the this tool is RTEMS GPL
licensed.
If users of this tool still exist, they can reimplement the
functionality using a BSD-style license and add it to the RTEMS tools.
Close #3444.

Fix --show-commands.
In the current version of libbsd, if the --show-commands option is used,
the cwd is passed as a Nod3. Popen does not work with that. Therefore
create a string from cwd if it isn't already.

Jun 4, 2018:

tester: Add script to generate html coverage report from covoar output
Add support in tester to run covoar and generate an html report to display
the summary of the coverage reports generated from covoar.
Co-authored-by : Cillian O'Donnell <cpodonnell8@…>

Remove Clock_driver_support_shutdown_hardware()
The aim of this clock driver hook was to stop clock tick interrupts at
some late point in the exit() procedure.
The use of atexit() pulls in malloc() which pulls in errno. It is
incompatible with the intention of the
CONFIGURE_DISABLE_NEWLIB_REENTRANCY configuration option.
The exit() function must be called from thread context, so accompanied
clock tick interrupts should cause no harm. On the contrary, someone
may assume a normal operating system operation, e.g. working timeouts.
Remove the Clock_driver_support_shutdown_hardware() clock driver hook.
Close #3436.

Add RTEMS_FATAL_SOURCE_INVALID_HEAP_FREE
An invalid heap usage such as a double free is usually a fatal error
since this indicates a use after free. Replace the use of printk() in
free() with a fatal error.
Update #3437.

Import ipsec-tools 0.8.2.
Import unchanged ipsec-tools sources in the release version 0.8.2. The
homepage of ipsec-tools is ​http://ipsec-tools.sourceforge.net/. The
sources can be obtained from there.

build: Really fix RTEMS_ENABLE_RTEMSBSP()
The d542af2e4304b663461330a60313fb6c4fdbf4db commit was a bad one.
The riscv32 and riscv64 targets share a riscv source directory. The
potential future powerpcspe and powerpc targets need this change as
well.
For example ${target_arch} is "riscv32" and ${cfg_arch} is "riscv".

May 25, 2018:

wontfix: It is used in deployed use code. Off the top of my head, it was used on a custom erc32 board to initialize a VMEBus and associated hardware before any other drivers were initialized. This was very specifically needed to extend -- not modify -- an existing BSP.
If you want a test added, great. But this has a very legitimate use case. It should not be deleted.

rtems: Move _Status_Object_name_errors_to_status
Move _Status_Object_name_errors_to_status to a separate file to avoid a
dependency on errno. Dependencies to errno are hard to be removed by
the linker garbage collection.

bsp/atsam: Remove side effect from gmac functions.
Quite a number of GMAC_... functions had a side effect of enabling the
transmit and receive. During the initialization of the ethernet driver,
that lead to the situation that the receive has been already enabled
while the DMA isn't set up correctly. Therefore the DMA interpreted the
values at address 0 as an DMA descriptor. When a packet is received
during that time, the behaviour is quite undefined.

bsp/atsam: Reserve one region for applications.
This allows a user to overwrite some MPU settings. That can for example
be usefull for devices with special requirements that are connected to
the external bus interface.