Commit Graph

7290 Commits

Author SHA1 Message Date
Sebastian Huber
c53b330c94 sapi: Use rtems_configuration_get_maximum_drivers 2012-11-07 15:08:43 +01:00
Sebastian Huber
75524a5e13 sapi: Use rtems_config*_get_interrupt_stack_size 2012-11-07 15:08:43 +01:00
Sebastian Huber
5e86086f1e sapi: Use rtems_config*_get_microseconds_per_tick 2012-11-07 15:08:43 +01:00
Sebastian Huber
e278f8b7d9 score: Support static_assert and _Static_assert 2012-11-06 10:20:42 +01:00
Ralf Corsépius
0f06a0e540 Remove rtems-rfs-bitmaps-ut.c. 2012-11-06 04:59:40 +01:00
Sebastian Huber
8cbd90c51c libnetworking: Disconnect after mbuf shortage
The missing disconnect left the socket in an unusable state.  Each send
request resulted in an EISCONN error.
2012-11-05 11:01:41 +01:00
Sebastian Huber
d2cf254485 rtems: Transient event documentation 2012-11-05 10:37:18 +01:00
Sebastian Huber
b3cee28a51 libnetworking: Avoid deadlock during starvation 2012-11-02 16:06:57 +01:00
Sebastian Huber
7a1e92a17a monitor: Support for system events 2012-11-02 16:06:40 +01:00
Sebastian Huber
eb93595b4c libblock: Documentation 2012-11-02 09:40:58 +01:00
Sebastian Huber
9f0a68ce5a libblock: Block device transfer request API change
Add and use rtems_blkdev_request_done().  Block device transfer requests
must signal the completion status now with rtems_blkdev_request_done().
The return value of the block device IO control will be ignored for
transfer requests.

The first parameter of rtems_blkdev_request_cb is now the transfer
request structure.

Renamed rtems_blkdev_request::req_done to rtems_blkdev_request::done to
break third party drivers at compile time, otherwise this API change
would result in runtime errors.
2012-11-02 09:40:58 +01:00
Sebastian Huber
26e90fb1c6 libnetworking: Use system events
Add reserved system events RTEMS_EVENT_SYSTEM_NETWORK_SBWAIT and
RTEMS_EVENT_SYSTEM_NETWORK_SOSLEEP.

Add and use rtems_bsdnet_event_send().
2012-11-02 09:34:35 +01:00
Sebastian Huber
f7ceeacfb0 rtems: Use event 31 for the transient event
This avoids conflicts with the netisr events of the network stack.
2012-11-02 09:34:34 +01:00
Sebastian Huber
736b8d2714 rtems: Use correct sync state for system events 2012-10-31 17:03:44 +01:00
Sebastian Huber
93b29f08f0 Filesystem: Use transient event 2012-10-30 18:03:29 +01:00
Sebastian Huber
ee82825dec libblock: Use transient event 2012-10-30 18:03:29 +01:00
Sebastian Huber
0edf263139 rtems: Add system events
System events are similar to normal events.  They offer a second set of
events.  These events are intended for internal RTEMS use and should not
be used by applications (with the exception of the transient system
event).
2012-10-30 18:03:02 +01:00
Sebastian Huber
990575c57f rtems: Reusable event implementation
Change event implementation to enable reuse for system events.
2012-10-30 18:00:33 +01:00
Sebastian Huber
f8657bbd31 rtems: Remove unused event_condition member 2012-10-30 18:00:33 +01:00
Sebastian Huber
9dffa384e1 libblock: rtems_bdbuf_set_block_size() API change
The set block size must synchronize and purge the disk to avoid an
inconsistent cache state and data corruption.  The synchronization is
optional depending on the new sync parameter.  In some contexts a
synchronization must not be performed, e.g. during disk creation.
2012-10-26 22:03:22 +02:00
Sebastian Huber
48680bb176 libblock: ramdisk documentation 2012-10-26 21:30:40 +02:00
Sebastian Huber
47a3cd8f73 score: Work area initialization API change
The work areas (RTEMS work space and C program heap) will be initialized
now in a separate step and are no longer part of
rtems_initialize_data_structures().  Initialization is performed with
tables of Heap_Area entries.  This allows usage of scattered memory
areas present on various small scale micro-controllers.

The sbrk() support API changes also.  The bsp_sbrk_init() must now deal
with a minimum size for the first memory chunk to take the configured
work space size into account.
2012-10-25 14:54:06 +02:00
Sebastian Huber
e4278f2050 score: Append to free list in _Heap_Extend() 2012-10-25 14:54:06 +02:00
Sebastian Huber
6ccfe722bd score: Change _Heap_Extend() API
The _Heap_Extend() has now the same signature as _Heap_Initialize().
The 4th parameter is ignored (page size in _Heap_Initialize()).

Add Heap_Area and Heap_Initialization_or_extend_handler.

Add and test _Heap_No_extend().

This helps to do a table based heap initialization and extension.
Create a table of Heap_Area elements and iterate through it.  Set the
handler to _Heap_Initialize() in the first iteration and then to
_Heap_Extend().
2012-10-25 14:54:06 +02:00
Sebastian Huber
3b978e190d libcsupport: malloc_deferred_frees_initialize()
Remove this function and statically initialize RTEMS_Malloc_GC_list.
2012-10-25 14:54:05 +02:00
Ralf Corsépius
b1c4e92cee Make uid_buttons static.
Reorder include-files.
Remove stray blanks.
2012-10-19 14:15:48 +02:00
Ralf Corsépius
b44f994052 Include "rtems-rfs-shell.h". 2012-10-19 14:02:48 +02:00
Sebastian Huber
8d4faf90e8 score: Use _Workspace_Allocate_or_fatal_error()
Use _Workspace_Allocate_or_fatal_error() consistently in case auto
extend is turned off.  This helps to avoid undefined behaviour in
_API_Mutex_Allocate() in case _API_Mutex_Information() fails.
2012-10-15 14:58:08 +02:00
Sebastian Huber
ca9f2e639e libcsupport: Spelling 2012-10-15 14:58:08 +02:00
Joel Sherrill
0e27119f80 Use proper 3 line form of license text 2012-10-11 15:52:51 -05:00
Joel Sherrill
b8fa5013fd threadqextractwithproxy.c: Doxygen header and spacing 2012-10-11 15:52:51 -05:00
Ralf Corsépius
fd7161017b Cleanup Krzysztof's copyright notices. 2012-10-11 18:25:03 +02:00
Sebastian Huber
75025a6e96 rtems: PR1844: Fix MP process packet size 2012-10-08 16:24:26 +02:00
Sebastian Huber
78f417f897 Filesystem: Rename function
Rename rtems_filesystem_location_exists_in_same_fs_instance_as() into
rtems_filesystem_location_exists_in_same_instance_as() for consistency
with other file system instance related functions.
2012-10-07 17:17:27 +02:00
Sebastian Huber
8b65f389aa Filesystem: Rename function
Rename rtems_filesystem_location_is_root() into
rtems_filesystem_location_is_instance_root() to distinguish this from
the file system root directory of the current task environment.
2012-10-07 17:12:49 +02:00
Sebastian Huber
c17d0b315b Filesystem: Reject removal of root nodes
Reject the removal of file system instance root nodes in rmdir() and
unlink() and return the EBUSY error status.  File system instances can
be removed with unmount().  Remove root node special cases in IMFS,
DOSFS, and RFS.
2012-10-07 17:03:20 +02:00
Sebastian Huber
9b83a66546 score: Critical fix for thread dispatching
The changes in _Thread_Dispatch() of commits
dad36c52b8 and
d4dc7c8196 introduced a severe bug which
destroys the real-time properties of RTEMS completely.

Consider the following scenario.  We have three tasks L (lowest
priority), M (middle priority), and H (highest priority).  Now let a
thread dispatch from M to L happen.  An interrupt occurs in
_Thread_Dispatch() here:

void _Thread_Dispatch( void )
{
  [...]

post_switch:

  _ISR_Enable( level );

  <-- INTERRUPT
  <-- AFTER INTERRUPT

  _Thread_Unnest_dispatch();

  _API_extensions_Run_postswitch();
}

The interrupt event makes task H ready.  The interrupt code will see
_Thread_Dispatch_disable_level > 0 and thus doesn't perform a
_Thread_Dispatch().  Now we return to position "AFTER INTERRUPT".  This
means task L executes now although task H is ready!  Task H will execute
once someone calls _Thread_Dispatch().
2012-10-07 14:40:49 +02:00
Joel Sherrill
cb7b57e174 mghttpd: Requires POSIX to build server and tests
Formerly, mghttpd was conditional only on networking being
enabled. It uses on pthread and must also be conditional
on POSIX threads support being enabled.
2012-10-03 11:09:32 -05:00
Joel Sherrill
8896c97621 threaddispatch.c: Fix typo 2012-10-02 13:28:08 -05:00
Joel Sherrill
196fe5964f score/thread.h: Move Thread_CPU_usage_t definition down
At the previous location, uint32_t was not available.
2012-10-02 13:27:04 -05:00
Joel Sherrill
9e73596610 score/percpu.h: _Thread_Time_of_last_context_switch always available
This field is used whether ticks are used for statistics or not.
2012-10-02 13:24:20 -05:00
Joel Sherrill
b249d7f6a6 score/tod.h: Fix formatting 2012-10-02 13:23:23 -05:00
Sebastian Huber
5633c54cdf nfsclient: Format changes 2012-10-02 15:38:51 +02:00
Sebastian Huber
c69ef3b6a5 nfsclient: Add and use nfsEvaluateStatus()
The NFS status codes do not map directly to the corresponding errno
values.
2012-10-02 15:27:35 +02:00
Sebastian Huber
3becac2ca3 nfsclient: Fix for short enums
The XDR library has a problem on architectures with short enums like the
default ARM EABI.  Short enums means that the size of the enum type is
variable and the smallest integer type to hold all enum values will be
selected.  For many enums this is char.  The XDR library uses int32_t
for enum_t.  There are several evil casts from an enum type to enum_t
which leads to invalid memory accesses on short enum architectures.  A
workaround is to add appropriate dummy enum values.
2012-10-02 15:27:35 +02:00
Sebastian Huber
86f6e8b73b nfsclient: PR2075: Fix node initialization 2012-10-02 15:27:34 +02:00
Joel Sherrill
2e83663a88 cpukit/configure.ac: Remove unused use ticks for statistics options
The following were not used in any code:
  __RTEMS_USE_TICKS_CPU_USAGE_STATISTICS__
  __RTEMS_USE_TICKS_RATE_MONOTONIC_STATISTICS__

Both CPU Usage and Rate Monotonic Period Statistics are switched
to ticks resolution by configuring with __RTEMS_USE_TICKS_FOR_STATISTICS__
set to 1 on the configure command line.
2012-09-28 17:19:59 -05:00
Sebastian Huber
90e2026b99 telnetd: Map CRLF to CR
It is not so easy to use Termios for that.  We already map CRNUL to CR,
thus we cannot ignore CRs.  We could change the shell code to map CRNL
to a single line end, but this is more intrusive than the change here.
2012-09-28 15:41:33 +02:00
Sebastian Huber
e652e5f8db telnetd: Inform client that we will echo
The standard line editor rtems_shell_line_editor() produces an echo.
2012-09-28 15:41:33 +02:00
Joel Sherrill
d3c8602342 shell/dd-misc.c: Rename __unused to avoid conflict with new <sys/cdefs.h> 2012-09-05 12:25:38 -05:00