| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Update #3850
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #2843.
|
|
|
|
|
| |
Update #3117.
Update #3182.
|
|
|
|
| |
Update #2833.
|
|
|
|
|
|
|
| |
Do not use the MSIZE for the legacy network stack. Instead use
_SYS_MBUF_LEGACY_MSIZE.
Update #2833.
|
|
|
|
|
|
| |
Use the Thread_Control::resource_count for the no protocol mutexes.
Merge the no protocol and priority inherit CORE mutex seize/surrender
operations.
|
|
|
|
|
|
| |
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 <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>.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Parameter was unused.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
Pass the executing thread as a function parameter. Obtain the executing
thread inside a thread dispatch critical section to avoid problems on
SMP.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Make functions rtems_bsdnet_semaphore_obtain_recursive() and
rtems_bsdnet_semaphore_release_recursive() public.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Add reserved system events RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT and
RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP.
Add and use rtems_bsdnet_event_send().
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* 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().
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
rtems_bsdnet_parse_driver_name() if namep is NULL.
include/rtems/status-checks.h: Added prefix "RTEMS" for all macros. Doxygen style comments. Cleanup.
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* 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.
|