758 Commits

Author SHA1 Message Date
Sebastian Huber
2df56dbd60 Update to FreeBSD head 2018-04-01
Git mirror commit 8dfb1ccc26d1cea7e2529303003ff61f9f1784c4.

Update #3472.
2018-09-21 10:29:40 +02:00
Sebastian Huber
18fa92c2dc Update to FreeBSD head 2018-02-01
Git mirror commit d079ae0442af8fa3cfd6d7ede190d04e64a2c0d4.

Update #3472.
2018-09-21 10:29:39 +02:00
Sebastian Huber
bb80d9df8b Update to FreeBSD head 2017-12-01
Git mirror commit e724f51f811a4b2bd29447f8b85ab5c2f9b88266.

Update #3472.
2018-09-21 10:29:38 +02:00
Sebastian Huber
e4a8065910 Update to FreeBSD head 2017-10-01
Git mirror commit b2f0376b45428f13151d229c5ae9d4d8f74acbd1.

Update #3472.
2018-09-21 10:29:37 +02:00
Sebastian Huber
c37f9fba70 Update to FreeBSD head 2017-08-01
Git mirror commit f5002f5e5f78cae9f0269d812dc0aedb0339312c.

Update #3472.
2018-09-21 10:29:37 +02:00
Sebastian Huber
de261e0404 Update to FreeBSD head 2017-06-01
Git mirror commit dfb26efac4ce9101dda240e94d9ab53f80a9e131.

Update #3472.
2018-09-21 10:29:36 +02:00
Sebastian Huber
f01edf1024 mDNSResponder: Update to v765.1.2
The sources can be obtained via:

https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-765.1.2.tar.gz

Move mDNS_StartResolveService() and mDNS_StopResolveService() to an
RTEMS-specific file (rtemsbsd/mdns/mDNSResolveService.c) using the
v576.30.4 implementation.  Apple removed these functions without
explanation.

Update #3522.
2018-09-20 11:23:32 +02:00
Sebastian Huber
152d81f178 mDNSResponder: Increase stack size
The current stack size was insuffient on a test run of the foobarclient
test program.

Update #3522.
2018-09-20 11:23:31 +02:00
Sebastian Huber
3f09126cb6 mDNSResponder: Use FPU enabled task 2018-09-20 10:24:35 +02:00
Sebastian Huber
48cbe6cc1b Remove <poll.h>
This header file is provided by RTEMS.
2018-09-17 10:05:02 +02:00
Sebastian Huber
a85d90007e Optimize callout handline via static timer wheel
The number of callouts is a compile-time constant in libbsd.  Use this
in struct callout_cpu and avoid dynamic allocation of tables.  This
signficantly reduces the count of load instructions in the callout
handling.
2018-09-17 09:12:06 +02:00
Sebastian Huber
08fbf18141 Initialize interrupt server earlier
This allows to initialize other basic services which depend on the
interrupt server.
2018-09-12 08:09:38 +02:00
Sebastian Huber
6e5b088e8f Move dynamic mutex pool to separate file
This avoids false link-time dependencies.
2018-09-12 07:59:27 +02:00
Sebastian Huber
3b8f03b1e1 Fix BUS_SPACE_MAXADDR for 64-bit targets 2018-09-12 07:48:17 +02:00
Sebastian Huber
3990b45e97 Use rtems_counter_read() for get_cyclecount() 2018-09-11 11:37:34 +02:00
Sebastian Huber
0f9d58f58b dw_mmc: Avoid conflicting device ivars
Do not overwrite the device ivars used by the simplebus.  Use
unspecified unit number for child device.
2018-09-11 11:36:28 +02:00
Sebastian Huber
f56067e26c vprintf: Avoid printf() to avoid FPU usage 2018-09-10 15:15:42 +02:00
Sebastian Huber
4c22b5c1f2 Add FreeBSD kernel space header files
Move the kernel space content of some Newlib provided header files to
RTEMS and libbsd.  This allows to use the Newlib provided header files
with different FreeBSD baselines.

Update #3472.
2018-08-27 07:44:23 +02:00
Sebastian Huber
63084c1988 IPFW(4): Remove FreeBSD import
This firewall was not ported to RTEMS and is just dead code which may
make trouble during FreeBSD baseline updates.  It also increased the
compile-time of the library for nothing.

Update #3472.
2018-08-24 09:09:51 +02:00
Sebastian Huber
f62c62d2fe Update rtems-bsd-kernel-namespace.h
Update #3472.
2018-08-24 09:09:51 +02:00
Sebastian Huber
12a885cd18 Update due to <sys/time.h> API changes
Changes correspond to FreeBSD commit:

"Make timespecadd(3) and friends public

The timespecadd(3) family of macros were imported from NetBSD back in
r35029. However, they were initially guarded by #ifdef _KERNEL. In the
meantime, we have grown at least 28 syscalls that use timespecs in some
way, leading many programs both inside and outside of the base system to
redefine those macros. It's better just to make the definitions public.

Our kernel currently defines two-argument versions of timespecadd and
timespecsub.  NetBSD, OpenBSD, and FreeDesktop.org's libbsd, however, define
three-argument versions.  Solaris also defines a three-argument version, but
only in its kernel.  This revision changes our definition to match the
common three-argument version.

Bump _FreeBSD_version due to the breaking KPI change.

Discussed with: cem, jilles, ian, bde
Differential Revision:  https://reviews.freebsd.org/D14725"

Update #3472.
2018-08-24 08:57:10 +02:00
Christian Mauderer
028bf82f6d rc.conf: Fix cloned interface setup.
The cloned interfaces have to be set up befor the interface list is
created. Otherwise it's not possible to configure a cloned interface
with a `ifconfig_gifX` line.
2018-08-02 10:32:24 +02:00
Christian Mauderer
c7eec93e3c Add RTEMS_BSD_CONFIG_IPSEC. 2018-08-02 10:32:20 +02:00
Christian Mauderer
1b467ad47d Add ipsec to rc.conf. 2018-08-02 10:25:42 +02:00
Christian Mauderer
b376ae131d ipsec-tools: Port libipsec, setkey and racoon.
Note that this replaces the libipsec from FreeBSD with the one provided
by ipsec-tools.
2018-08-02 10:25:37 +02:00
Christian Mauderer
6215813e04 if_ipsec: Port and add to everything-buildset.
This ports the kernel space parts for ipsec and adds them to the
everything-buildset.
2018-08-01 09:55:27 +02:00
Sebastian Huber
94b5368388 Avoid malloc() in getsockaddr()
The getsockaddr() function is used to allocate a struct sockaddr of the
right length and initialize it with userspace provided data.  It is used
for the connect(), bind() and sendit() family functions.  In particular,
the sendit() function is used by the UDP send functions.  This means
each UDP send needs a malloc() and free() invocation.  This is a
performance problem in RTEMS (first-fit heap) and may lead to heap
fragmentation.  Replace the malloc() allocation with a stack allocation.
This requires SOCK_MAXADDRLEN (= 255) of additional stack space for
libbsd.

A further optimization would be to get rid of the stack copy of the
socket address.  However, this would require to check each consumer of
the address to ensure that it is not modified.
2018-07-04 07:20:37 +02:00
Christian Mauderer
f8cf0746b3 beagle: Disable WiFi if libbsd is build without it.
Update #3351.
2018-06-05 09:59:16 +02:00
Sebastian Huber
b2eb48c23b dhcpcd: Add hooks 2018-05-08 07:37:17 +02:00
Sebastian Huber
8bd38d645c dhcpcd: Add rtems_dhcpcd_start()
Use it throughout to start the DHCP client (dhcpcd).
2018-05-08 06:50:17 +02:00
Sebastian Huber
bd09f9f132 rc_conf: Do not create directories used by dhcpcd
The dhcpcd will create the directories on its own.
2018-05-08 06:50:17 +02:00
Sebastian Huber
9c570da872 rc_conf: Include missing header files 2018-05-08 06:50:17 +02:00
Christian Mauderer
338f3005fc buildset: Add minimal and everything config.
This adds two new buildset configurations: One that leaves out as much
features as possible and one that enables all features. For the default
configuration WiFi support is now disabled.

To disable IPv6 for the minimal configuration, all -DINET6 are
eliminated in libbsd.py. They are now replaced by a #ifdef that checks
for RTEMS_BSD_MODULE_NETINET6 instead.

Close #3351.
2018-05-03 07:09:46 +02:00
Sebastian Huber
634b3bfece rtems-debugger: Remove files
They are now in the main RTEMS sources.

Update #3419.
2018-05-02 10:36:41 +02:00
Sebastian Huber
443a058db4 Use network services from RTEMS
Close #3419.
2018-04-30 13:42:18 +02:00
Sebastian Huber
8189ea825a CRYPTO(4): Port to RTEMS 2018-03-28 07:59:12 +02:00
Sebastian Huber
8993827a73 DEVFS(5): Properly initialize fp->f_cdevpriv 2018-03-27 14:42:46 +02:00
Christian Mauderer
7ec935e03f vprintf: Add handler that mutes all output.
This adds a vprintf handler that can be used to suppress all outputs of
the libbsd.
2018-03-23 09:36:35 +01:00
Sebastian Huber
d300a34424 Silence rtems_bsd_ifconfig() 2018-03-23 09:14:34 +01:00
Christian Mauderer
b2a210ca3e if_atsam: Add checksum offload. 2018-03-21 09:14:25 +01:00
Sebastian Huber
eae664ea8f mutex: Use panic() after ISR lock release
Using panic() with interrupts disabled could lead to an additional error
(INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT) due to a potentially
blocking output.
2018-03-13 11:27:11 +01:00
Sebastian Huber
bcaa8a28a2 dw_mmc: Properly init/reset DMA 2018-02-06 09:56:35 +01:00
Sebastian Huber
138bf250c2 dw_mmc: Add MMCBR_IVAR_TIMING 2018-02-06 09:56:35 +01:00
Sebastian Huber
c30fa94277 Add device tree support for Altera/Intel Cyclone V
Close #3290.
2018-02-06 09:55:31 +01:00
Sebastian Huber
0f9258f2fb linux/percpu.h: Fix for uni-processor config 2018-02-05 11:55:01 +01:00
Sebastian Huber
8b3da1329b termios: Update due to API changes
Update #2843.
2018-02-05 10:56:24 +01:00
Sebastian Huber
d62a3df1c7 sdk_dpaa: Port to RTEMS
Update #3277.
2018-01-23 14:55:31 +01:00
Sebastian Huber
0f6ff4a923 dpaa: QMan portal only initialization
Update #3277.
2018-01-23 14:55:24 +01:00
Sebastian Huber
1342fad09c dpaa: Add and use SDK_DPAA_COMPAT_STATIC
Update #3277.
2018-01-23 14:55:15 +01:00
Sebastian Huber
2fba1e4322 dpaa: Remove unused configuration defines
Update #3277.
2018-01-23 14:55:05 +01:00