| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Introduce Thread_queue_Lock_context to contain the context necessary for
thread queue lock and thread wait lock acquire/release operations to
reduce the Thread_Control size.
|
|
|
|
|
|
|
|
|
| |
Clock disciplines may be WATCHDOG_RELATIVE, WATCHDOG_ABSOLUTE,
or WATCHDOG_NO_TIMEOUT. A discipline of WATCHDOG_RELATIVE with
a timeout of WATCHDOG_NO_TIMEOUT is equivalent to a discipline
of WATCHDOG_NO_TIMEOUT.
updates #2732
|
| |
|
|
|
|
|
| |
Import the <sys/socket.h> from current FreeBSD. This allows to build
some current software (e.g. libressl).
|
|
|
|
| |
Close #2748.
|
| |
|
|
|
|
| |
This is necessary for new <sys/socket.h>.
|
|
|
|
|
|
|
|
|
|
| |
Import the <arpa/inet.h> from current FreeBSD. Necessary due to changes
in <netinet/in.h>. Remove BSD hack from <arpa/inet.h>.
Clean up problems with htonl(). These functions are defined in
<arpa/inet.h>. This lead to some problems because they are defined in
<rtems/endian.h> too. Add NTOHL, ... to
<rtems/rtems_bsdnet_internal.h>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Import the <netinet/in.h> from current FreeBSD. This allows to build
some current software (e.g. libressl).
Add legacy support like
* prototype for in_cksum(),
* IPPORT_USERRESERVED,
* deprecated IPCTL_RT* defines,
* ip_fw_chk_t and ip_fw_ctl_t,
* ip_nat_... (IP NAT hooks), and
* IP_NAT option for get/setsockopt()
to new <rtems/rtems_netinet_in.h>.
|
|
|
|
|
| |
Import the <netinet6/in6.h> from current FreeBSD. This allows to build
some current software (e.g. libressl).
|
|
|
|
|
| |
Import the <sys/_sockaddr_storage.h> from current FreeBSD. Necessary
for <netinet/in.h> update.
|
|
|
|
|
|
|
| |
This implementation just falls back to giving a string representation of
the IP. It supports IPv4 only.
Add test for getnameinfo().
|
|
|
|
|
|
|
|
|
|
|
|
| |
Import the <netdb.h> from current FreeBSD. This allows to build some
current software (e.g. libressl).
Add __h_errno().
Update gethostent_r() API. Linux and FreeBSD use a common API now.
Adapt the RTEMS one to provide the same one.
Match gethostbyname_r() with prototype.
|
|
|
|
|
| |
Move prototypes of non-portable _get*by*name/addr and _set/end*ent
functions. This makes it easier to update <netdb.h>.
|
| |
|
|
|
|
| |
Close #2729.
|
|
|
|
|
| |
Provide dedicated seize and surrender methods for inherit priority
mutexes. This eliminates CORE_mutex_Attributes.
|
|
|
|
|
|
|
|
| |
Add CORE_recursive_mutex_Control and CORE_ceiling_mutex_Control to avoid
the run-time evaluation of attributes to figure out how a particular
mutex methods should behave. Start with the no protocol variants. This
eliminates the CORE_MUTEX_DISCIPLINES_FIFO and
CORE_MUTEX_DISCIPLINES_PRIORITY disciplines.
|
|
|
|
|
|
| |
Add _Thread_queue_Context_set_MP_callout() to simplify
_Thread_queue_Context_initialize(). This makes it possible to more
easily add additional fields to Thread_queue_Context.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Unify the status codes of the Classic and POSIX API to use the new enum
Status_Control. This eliminates the Thread_Control::Wait::timeout_code
field and the timeout parameter of _Thread_queue_Enqueue_critical() and
_MPCI_Send_request_packet(). It gets rid of the status code translation
tables and instead uses simple bit operations to get the status for a
particular API. This enables translation of status code constants at
compile time. Add _Thread_Wait_get_status() to avoid direct access of
thread internal data structures.
|
|
|
|
|
|
|
|
| |
Drop the multiprocessing (MP) dependent callout parameter from the
thread queue extract, dequeue, flush and unblock methods. Merge this
parameter with the lock context into new structure Thread_queue_Context.
This helps to gets rid of the conditionally compiled method call
helpers.
|
|
|
|
|
| |
Get rid of the mp_id parameter used for some thread queue methods. Use
THREAD_QUEUE_QUEUE_TO_OBJECT() instead.
|
|
|
|
| |
Update #2555.
|
| |
|
|
|
|
| |
Ensure that kernel and user space system call protoypes are identical.
|
| |
|
|
|
|
| |
Parameter was unused.
|
| |
|
|
|
|
|
| |
Newlib provides now a declration for random() in <stdlib.h>. This
confilicts with the define in <rtems/rtems_bsdnet_internal.h>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The thread queue implementation was heavily reworked to support SMP.
This broke the multiprocessing support of the thread queues. This is
fixed by this patch.
A thread proxy is unblocked due to three reasons
1) timeout,
2) request satisfaction, and
3) extraction.
In case 1) no MPCI message must be sent. This is ensured via the
_Thread_queue_MP_callout_do_nothing() callout set during
_Thread_MP_Allocate_proxy().
In case 2) and 3) an MPCI message must be sent. In case we interrupt
the blocking operation during _Thread_queue_Enqueue_critical(), then
this message must be sent by the blocking thread. For this the new
fields Thread_Proxy_control::thread_queue_callout and
Thread_Proxy_control::thread_queue_id are used.
Delete the individual API MP callout types and use
Thread_queue_MP_callout throughout. This type is only defined in
multiprocessing configurations. Prefix the multiprocessing parameters
with mp_ to ease code review. Multiprocessing specific parameters are
optional due to use of a similar macro pattern. There is no overhead
for non-multiprocessing configurations.
|
|
|
|
| |
Allow network tasks to run with priority 0 (PRIORITY_PSEUDO_ISR).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Apparently 'free' is defined as a macro which takes two arguments and calls
rtems_bsdnet_free. When fixing #2405 I added a missing 'free' but didn't notice
it was non-standard.
Closes #2410.
|
|
|
|
|
|
| |
dhcp_hostname.
Closes #2405.
|
|
|
|
| |
closes #2376.
|
|
|
|
|
| |
This allows a suitably configured DHCP server with DDNS to enter
the name into the DNS table making it addressiable via it's host name.
|
|
|
|
|
|
|
|
| |
Replace timestamp implementation with FreeBSD bintime and timecounters.
New test sptests/sptimecounter02.
Update #2271.
|
|
|
|
| |
Update #2273.
|
|
|
|
|
|
|
| |
Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for
low-level locking.
Update #2273.
|
| |
|
|
|
|
|
|
|
| |
Fix the code to panic rather than perform a bad access if the network
semaphore is accessed without the stack being intialised.
Closes #2229.
|
|
|
|
|
| |
Access memory using a byte stream when copying to avoid unaligned
access. update #1401
|
|
|
|
| |
closes 2245
|
| |
|
|
|
|
|
| |
Drop parameter check from previously unused
rtems_libio_iop_to_descriptor().
|
|
|
|
|
|
|
|
|
| |
This was needed to make it possible to only include <sys/socket.h>
for the methods in this file in compliance with the POSIX
specification. This was identified by the Open Group FACE
Conformance Test Suite.
Close 2245.
|
|
|
|
| |
Close #2244.
|