summaryrefslogtreecommitdiffstats
path: root/cpukit/libnetworking/rtems/rtems_glue.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cpukit: Remove libnetworkingVijay Kumar Banerjee2021-04-071-1264/+0
| | | | Update #3850
* Canonicalize config.h includeSebastian Huber2020-04-161-1/+1
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* network: Use kernel/user space header filesSebastian Huber2018-09-101-0/+2
| | | | | | | | | | Add and use <machine/rtems-bsd-kernel-space.h> and <machine/rtems-bsd-user-space.h> similar to the libbsd to avoid command line defines and defines scattered throught the code base. Simplify cpukit/libnetworking/Makefile.am. Update #3375.
* network: Use self-contained recursive mutexSebastian Huber2018-02-021-96/+14
| | | | Update #2843.
* score: Move thread queue timeout handlingSebastian Huber2017-10-241-1/+1
| | | | | Update #3117. Update #3182.
* Do not include <sys/ioctl.h> in kernel-spaceSebastian Huber2017-06-071-1/+1
| | | | Update #2833.
* network: Do not use MSIZESebastian Huber2017-06-071-5/+5
| | | | | | | Do not use the MSIZE for the legacy network stack. Instead use _SYS_MBUF_LEGACY_MSIZE. Update #2833.
* score: Unify CORE mutex seize/surrenderSebastian Huber2016-09-271-0/+2
| | | | | | Use the Thread_Control::resource_count for the no protocol mutexes. Merge the no protocol and priority inherit CORE mutex seize/surrender operations.
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-081-2/+2
| | | | | | 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.
* cpukit: Add and use Watchdog_Discipline.Gedare Bloom2016-07-251-1/+1
| | | | | | | | | 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
* libnetworking: Import current <arpa/inet.h>Christian Mauderer2016-06-281-1/+2
| | | | | | | | | | 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>.
* score: Rework CORE inherit priority mutexSebastian Huber2016-05-301-9/+11
| | | | | Provide dedicated seize and surrender methods for inherit priority mutexes. This eliminates CORE_mutex_Attributes.
* score: Add CORE mutex variantsSebastian Huber2016-05-301-3/+3
| | | | | | | | 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.
* score: Add _Thread_queue_Context_set_MP_callout()Sebastian Huber2016-05-301-2/+2
| | | | | | 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.
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-9/+7
| | | | | | | | | | | 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.
* score: Move thread queue MP callout to contextSebastian Huber2016-05-251-7/+8
| | | | | | | | 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.
* score: Get rid of mp_id parameterSebastian Huber2016-05-251-1/+0
| | | | | Get rid of the mp_id parameter used for some thread queue methods. Use THREAD_QUEUE_QUEUE_TO_OBJECT() instead.
* rtems: Avoid Giant lock for semaphoresSebastian Huber2016-05-021-5/+2
| | | | Update #2555.
* network: Fix warningsSebastian Huber2016-04-221-13/+5
|
* score: Remove id parameter _CORE_mutex_Seize()Sebastian Huber2016-04-211-1/+0
| | | | Parameter was unused.
* score: Rework MP thread queue callout supportSebastian Huber2016-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* network: Special case for RTEMS_MULTIPROCESSINGSebastian Huber2016-03-291-0/+12
| | | | Allow network tasks to run with priority 0 (PRIORITY_PSEUDO_ISR).
* timecounter: Use in RTEMSAlexander Krutwig2015-05-201-4/+0
| | | | | | | | Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
* score: Fine grained locking for mutexesSebastian Huber2015-05-191-12/+7
| | | | Update #2273.
* score: _Objects_Get_isr_disable()Sebastian Huber2015-04-211-3/+3
| | | | | | | Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for low-level locking. Update #2273.
* network: Avoid clash with FreeBSD <sys/time.h>Sebastian Huber2015-03-091-0/+5
|
* Panic on RTEMS_FAST_MUTEX network semaphore claim/release.Chris Johns2015-02-241-1/+8
| | | | | | | Fix the code to panic rather than perform a bad access if the network semaphore is accessed without the stack being intialised. Closes #2229.
* libnetworking: Fix close of active socketsSebastian Huber2015-01-201-51/+51
| | | | | | | Send a special event to notify tasks waiting for a socket state change in case this socket gets closed. This prevents a use after free. Close #785.
* libnetworking: Simplify sbwait()Sebastian Huber2015-01-151-11/+1
|
* net: Add network task affinity configDaniel Cederman2014-12-021-0/+34
| | | | | | | This patch adds a default network tasks CPU affinity configuration option. The network drivers have the option to create their own daemon tasks with a custom CPU affinity set, or rely on the default set.
* PR766: Delete __RTEMS_VIOLATE_KERNEL_VISIBILITY__Sebastian Huber2013-08-081-4/+0
|
* network: SMP support for network semaphoreSebastian Huber2013-07-221-0/+6
|
* score: Avoid direct usage of _Thread_ExecutingSebastian Huber2013-07-181-2/+5
| | | | | | Pass the executing thread as a function parameter. Obtain the executing thread inside a thread dispatch critical section to avoid problems on SMP.
* score: Create mutex implementation headerSebastian Huber2013-07-181-0/+1
| | | | | | Move implementation specific parts of coremutex.h and coremutex.inl into new header file coremuteximpl.h. The coremutex.h contains now only the application visible API.
* rtems: Create semaphore implementation headerSebastian Huber2013-07-181-0/+1
| | | | | | Move implementation specific parts of sem.h and sem.inl into new header file semimpl.h. The sem.h contains now only the application visible API.
* libnetworking: Make functions publicSebastian Huber2012-12-181-2/+2
| | | | | Make functions rtems_bsdnet_semaphore_obtain_recursive() and rtems_bsdnet_semaphore_release_recursive() public.
* libnetworking: Use rtems_clock_get_uptime_secondsSebastian Huber2012-11-211-15/+0
| | | | | | | | This reduces the start-up time of the network stack. With a 1ms tick the ticks since boot value overflows after approximately 50 days. This problem is avoided with the rtems_clock_get_uptime_seconds() function.
* libnetworking: Use rtems_clock_get_uptime_timevalSebastian Huber2012-11-211-13/+0
|
* libnetworking: Avoid deadlock during starvationSebastian Huber2012-11-021-7/+36
|
* libnetworking: Use system eventsSebastian Huber2012-11-021-7/+7
| | | | | | | Add reserved system events RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT and RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP. Add and use rtems_bsdnet_event_send().
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-4/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2010-12-08 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-12-081-71/+108
| | | | | | | * libnetworking/loop.h, libnetworking/net/if_loop.c, libnetworking/rtems/rtems_glue.c, libmisc/dummy/dummy-networking.c: Initialize loop back interface during normal initialization via rtems_bsdnet_initialize_network().
* 2009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-12-171-6/+7
| | | | | | | | | * libcsupport/src/termios.c, libfs/src/dosfs/msdos_format.c, libfs/src/nfsclient/src/nfs.c, libfs/src/pipe/fifo.c, libnetworking/lib/rtems_bsdnet_ntp.c, libnetworking/lib/tftpDriver.c, libnetworking/rtems/rtems_glue.c, libnetworking/rtems/rtems_select.c: Eliminate uses of deprecated rtems_clock_get() and replace with properly typed routine.
* libnetworking/rtems/rtems_glue.c: Copy nothing if ↵Thomas Doerfler2008-10-101-9/+17
| | | | | | rtems_bsdnet_parse_driver_name() if namep is NULL. include/rtems/status-checks.h: Added prefix "RTEMS" for all macros. Doxygen style comments. Cleanup.
* Stop using old-style function definitions.Ralf Corsepius2008-09-011-12/+10
|
* 2008-08-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-08-181-5/+13
| | | | | | | | | * libnetworking/lib/ftpfs.c, libnetworking/libc/inet_ntoa.c, libnetworking/libc/rcmd.c, libnetworking/nfs/bootp_subr.c, libnetworking/rtems/rtems_glue.c, libnetworking/rtems/rtems_malloc_mbuf.c, libnetworking/rtems/rtems_showicmpstat.c, libnetworking/sys/malloc.h: Fix some warnings.
* 2008-05-01 Maarten Van Es <maarten@mind.be>Chris Johns2008-05-011-1/+1
| | | | | | | | | | | | | | | | | | * libnetworking/rtems/rtems_dhcp.c: Removed panic()s. Added interface for rtems_dhcp_failsafe. * libnetworking/rtems/rtems_dhcp.h: Added interface for rtems_dhcp_failsafe. 2008-05-01 Arnout Vandecappelle <arnout@mind.be> * libnetworking/nfs/bootp_subr: Allow some errors for sosend() and return on timeout in bootpc_call(). Removed panic()s. * libnetworking/rtems/rtems_glue.c: Fix the cast for the SIOCAIFADDR ioctl call. * libnetworking/rtems/rtems_dhcp_failsafe.c, libnetworking/rtems/rtems_dhcp_failsafe.h: New. * libnetworking/Makefile.am, libnetworking/preinstall.am: Added rtems_dhcp_failsafe.c and rtems_dhcp_failsafe.h files.
* 2008-02-05 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-02-051-0/+15
| | | | | | | | | | | * libnetworking/kern/uipc_socket2.c, libnetworking/netinet/tcp_usrreq.c, libnetworking/netinet/udp_usrreq.c, libnetworking/rtems/rtems_bsdnet.h, libnetworking/rtems/rtems_glue.c: Add configuration parameters for network stack efficiency multiplier and default socket buffer sizes. Change default multiplier from 8 to 2 to match GNU/Linux. This has no impact on performance on the BSPs tested.
* 2007-12-22 Chris Johns <chrisj@rtems.org>Chris Johns2007-12-221-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac: fixed bug that always enabled strict order mutexes. * score/inline/rtems/score/coremutex.inl: Fixed coding standard. * score/src/coremutex.c: Add the holder's thread to the lock_mutex list if the mutex is initialised locked. * libnetworking/rtems/rtems_glue.c: Changed semaphore error message to show the error is an rtems-net error. * libmisc/monitor/mon-network.c: Removed warnings. * telnetd/icmds.c: Changed shell_* to rtems_shell_*. * score/Makefile.am: Fixed typo that stopped 'make tags' working. * libmisc/shell/err.c, libmisc/shell/err.h, libmisc/shell/errx.c, libmisc/shell/extern-cp.h, libmisc/shell/fts.c, libmisc/shell/fts.h, libmisc/shell/main_cp.c, libmisc/shell/utils-cp.c, libmisc/shell/verr.c, libmisc/shell/verrx.c, libmisc/shell/vwarn.c, libmisc/shell/vwarnx.c, libmisc/shell/warn.c, libmisc/shell/warnx.c: New. Ported from BSD. * libmisc/shell/shellconfig.h: Add the cp command. * libmisc/Makefile.am: Add the new files to the shell. * libmisc/shell/shell.c, libmisc/shell/shell.h: Add scripting support. * libblock/src/flashdisk.c: Fixed disk drive count size setting bug.
* 2007-11-17 Till Straumann <strauman@slac.stanford.edu>Till Straumann2007-11-171-0/+4
| | | | | | * libnetworking/rtems/rtems_glue.c: let rtems_bsdnet_ifconfig (SIOCGIFMEDIA) pass the user parameter down to the ioctl so that it knows what PHY they want to look at.