213 Commits

Author SHA1 Message Date
Sebastian Huber
b3bbfdfe91 ZONE(9): Fix UMA_PCPU_ALLOC_SIZE
Using CACHE_LINE_SIZE for UMA_PCPU_ALLOC_SIZE was a huge memory waste
since the backend memory allocator is page based.
2019-02-12 08:57:42 +01:00
Sebastian Huber
1c3a92d81e atomic.h: Add atomic_fetchadd_64() 2019-02-11 15:20:11 +01:00
Sebastian Huber
4c8a1addeb atomic.h: Add atomic_load_32() 2019-02-11 09:36:55 +01:00
Sebastian Huber
f60ac53420 Update rtems-bsd-kernel-namespace.h 2018-12-20 13:49:03 +01:00
Sebastian Huber
e0b4edbdcc Update to FreeBSD head 2018-11-15
Git mirror commit a18b0830c4be01b39489a891b63d6023ada6358a.

Update #3472.
2018-11-15 10:56:14 +01:00
Sebastian Huber
d4bf70e497 Disable or make static kern_* functions 2018-11-15 10:06:58 +01:00
Sebastian Huber
70555d532d mutex: Avoid NULL pointer access in panic() 2018-11-15 09:18:48 +01:00
Sebastian Huber
ed5e02a933 Fix redefinition warnings 2018-10-23 13:25:45 +02:00
Sebastian Huber
3489e3b639 Update to FreeBSD head 2018-09-17
Git mirror commit 6c2192b1ef8c50788c751f878552526800b1e319.

Update #3472.
2018-09-21 10:29:41 +02:00
Sebastian Huber
bcdce02d9b Update to FreeBSD head 2018-06-01
Git mirror commit fb63610a69b0eb7f69a201ba05c4c1a7a2739cf9.

Update #3472.
2018-09-21 10:29:41 +02:00
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
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
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
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
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
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
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
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
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
c30fa94277 Add device tree support for Altera/Intel Cyclone V
Close #3290.
2018-02-06 09:55:31 +01:00
Sebastian Huber
c360b1a2dc Revert "RWLOCK(9): Add reader/writer lock implementation"
This was accidentally committed.

This reverts commit 97a98f6cd767b3a68279890488c7b451788f84f4.
2017-11-17 10:49:59 +01:00
Sebastian Huber
97a98f6cd7 RWLOCK(9): Add reader/writer lock implementation 2017-11-16 09:02:24 +01:00
Sebastian Huber
9c1490aac3 LOCKING(9): Update to current FreeBSD version 2017-11-16 08:11:42 +01:00
Christian Mauderer
ec29b2a0c2 at91_mci: Port to RTEMS and adapt for atsam. 2017-11-10 14:13:15 +01:00
Christian Mauderer
589220752b saf1761_otg: Port to RTEMS. 2017-11-10 14:01:55 +01:00
Christian Mauderer
4613db09fc wpa_supplicant: Add lock. 2017-11-10 13:33:03 +01:00
Sichen Zhao
ce2262ee28 Add wpa_supplicant_fork command.
Add fork command for wpa supplicant to start a new task.
2017-11-10 13:33:03 +01:00
Sichen Zhao
8f2267bbb9 Port wpa supplicant to RTEMS.
Add wpa_supplicant lib support and shell command support in RTEMS.
2017-11-10 13:33:03 +01:00
Sichen Zhao
7c68f4ef0b Port BBB sd driver files to RTEMS.
So BBB can mount and read eMMC and SD card.
2017-11-10 13:10:08 +01:00
Sebastian Huber
43fdf500ec Import CRC32 support from FreeBSD 2017-10-20 14:59:55 +02:00
Sebastian Huber
f7f3c4b0de blist: Import from FreeBSD 2017-10-20 14:59:55 +02:00
Sebastian Huber
62c8ca0ead Fix INVARIANTS support 2017-10-20 14:59:55 +02:00
Sebastian Huber
acf428e92f user-space: Define O_DIRECTORY 2017-10-10 15:01:34 +02:00
Christian Mauderer
80a7fe68a1 if-atsam: Port to rtems-libbsd. 2017-09-22 10:17:24 +02:00
Sebastian Huber
34ff390b09 BUS_SPACE(9): 64-bit support
Update #3082.
2017-08-23 11:04:20 +02:00
Sichen Zhao
9121570cf2 Port am335x usb driver to RTEMS.
Add FDT and umass support for am335x USB driver.

Now RTEMS can mount and open USB disk.
2017-07-13 07:30:06 +02:00
Sebastian Huber
3c967ca238 Use <sys/lock.h> provided by Newlib 2017-06-08 13:20:09 +02:00
Sebastian Huber
02373194fe Update due to Newlib 2017-06-07 changes
The following files are now provided by Newlib:

  * arpa/inet.h
  * net/if.h
  * netinet/in.h
  * netinet/tcp.h
  * sys/socket.h
  * sys/uio.h
  * sys/un.h

The <sys/param.h> and <sys/cpuset.h> are now compatible enough to be
used directly.

Update #2833.
2017-06-08 13:19:54 +02:00
Kevin Kirspel
e28a8d01c1 Add LPC32XX touch screen driver 2017-05-19 07:24:30 +02:00
Kevin Kirspel
fb2aa6ea99 Add bitcount inlinesfor RTEMS. These are found in FREEBSDs types.h 2017-05-19 07:24:30 +02:00