39 Commits

Author SHA1 Message Date
Sebastian Huber
556ec29b4e Update to FreeBSD stable/12 2019-02-11
Git mirror commit 606b591dae1023a71ff020faf99789059eb6591f.
2019-02-12 09:17:32 +01:00
Sebastian Huber
aec8db05b2 Update to FreeBSD stable/12 2019-01-16
Git mirror commit 4ff7d8141f665693dd8b17090d410604888f1e9a.

Update #3472.
2019-01-21 10:00:40 +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
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
bb80d9df8b Update to FreeBSD head 2017-12-01
Git mirror commit e724f51f811a4b2bd29447f8b85ab5c2f9b88266.

Update #3472.
2018-09-21 10:29:38 +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
0963419598 Fix alignment of getsockaddr_sockaddr 2018-08-24 09:06:31 +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
b03a1c0b59 Fix file descriptor reference counting in accept()
Update #3132.
2017-11-15 13:25:28 +01:00
Sebastian Huber
72d5fa11a8 Fix reference counting for file descriptors
Update #3132.
2017-11-10 11:01:54 +01:00
Sebastian Huber
894c965d95 Support reference counting for file descriptors
Close #3132.
2017-09-15 12:46:57 +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
Sebastian Huber
de8a76da2f Update to FreeBSD head 2017-04-04
Git mirror commit 642b174daddbd0efd9bb5f242c43f4ab4db6869f.
2017-04-04 14:46:23 +02:00
Sebastian Huber
0732183638 Fix SOCK_CLOEXEC with socket() and socketpair()
Remove SOCK_CLOEXEC flag to get a valid socket type, e.g. to avoid a
EPROTOTYPE in case of socket(..., SOCK_DGRAM | SOCK_CLOEXEC, ...).
2017-03-14 07:15:34 +01:00
Sebastian Huber
75b706fde4 Update to FreeBSD head 2016-12-10
Git mirror commit 80c55f08a05ab3b26a73b226ccb56adc3122a55c.
2017-01-10 09:53:34 +01:00
Sebastian Huber
c40e45b75e Update to FreeBSD head 2016-08-23
Git mirror commit 9fe7c416e6abb28b1398fd3e5687099846800cfd.
2017-01-10 09:53:31 +01:00
Sebastian Huber
7d0050d921 Fix fp initializaiton in kern_sendit()
Bug introduced by 22257c7d81148e5b78027116e07627a54f4efb95.
2016-04-25 11:26:58 +02:00
Sebastian Huber
22257c7d81 Avoid use of cap_rights_t 2016-04-18 15:06:41 +02:00
Sebastian Huber
dd96574e45 SOCKETPAIR(2): Port to RTEMS 2015-11-16 09:52:50 +01:00
Sebastian Huber
5c0aa976d3 Add zerocopy sendto 2015-02-13 10:34:20 +01:00
Sebastian Huber
7eeb079d84 Update to FreeBSD 9.3 2015-02-13 10:34:19 +01:00
Sebastian Huber
66659ff1ad Update to FreeBSD 9.2 2013-11-11 10:08:08 +01:00
Sebastian Huber
0a57e1db23 Reduce divergence from FreeBSD sources 2013-11-11 10:08:06 +01:00
Sebastian Huber
f244de9638 Rename rtems-bsd-config.h
Rename rtems-bsd-config.h in rtems-bsd-kernel-space.h.
2013-11-11 10:08:04 +01:00
Sebastian Huber
af5333e0a0 Update to FreeBSD 8.4 2013-11-04 15:28:21 +01:00
Sebastian Huber
9d9bfaff8d Use send/recv functions from FreeBSD
Use recvfrom(), recvmsg(), sendto() and sendmsg() from FreeBSD.
2013-10-31 13:18:48 +01:00
Sebastian Huber
8989c110f5 Use getsockname() from FreeBSD 2013-10-31 13:18:48 +01:00
Sebastian Huber
0beab1e86a Use getpeername() from FreeBSD 2013-10-31 13:18:48 +01:00
Sebastian Huber
ac78dd2440 Use getsockopt() and setsockopt() from FreeBSD 2013-10-31 13:18:47 +01:00
Sebastian Huber
7c2b59c831 Use accept() from FreeBSD 2013-10-31 13:18:47 +01:00
Sebastian Huber
7c3625139f Use listen() from FreeBSD 2013-10-31 13:18:47 +01:00
Sebastian Huber
6676de488a Use connect() from FreeBSD 2013-10-31 13:18:47 +01:00
Sebastian Huber
468b08e553 Use bind() from FreeBSD 2013-10-31 13:18:47 +01:00
Sebastian Huber
6ffb9b9e27 Use shutdown() from FreeBSD 2013-10-31 13:18:47 +01:00
Sebastian Huber
caf8eded60 Import socket() implementation from FreeBSD
Add new test syscalls01.
2013-10-31 13:18:47 +01:00