Commit Graph

8207 Commits

Author SHA1 Message Date
Sebastian Huber
e5ae7c927c score: Add and use _User_extensions_Iterate()
Replace the separate user extension iterations with a single iteration
function.  This reduces code size and improves maintainability since the
iteration logic is only in one function.  The runtime overhead is
insignificant.
2012-11-13 09:20:57 +01:00
Sebastian Huber
9ed2befb6b score: Add and use RTEMS_ARRAY_SIZE() 2012-11-13 09:20:57 +01:00
Sebastian Huber
2195fd27a7 sapi: Make initial user extensions table read-only 2012-11-07 15:19:21 +01:00
Sebastian Huber
b59675438e sapi: Fix user scheduler configuration
The comment in confdefs.h shows how to do it:

An application can define its own scheduling policy by defining
CONFIGURE_SCHEDULER_USER and the following:
   - CONFIGURE_SCHEDULER_ENTRY_POINTS
   - CONFIGURE_MEMORY_FOR_SCHEDULER - base memory
   - CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER - per task memory
2012-11-07 15:19:20 +01:00
Sebastian Huber
ae4f125e86 sapi: Make Configuration read-only
The Configuration is now read-only and must be statically initialized
via confdefs.h or similar.
2012-11-07 15:08:46 +01:00
Sebastian Huber
ed8be1aeea monitor: Add const qualifier 2012-11-07 15:08:46 +01:00
Sebastian Huber
682b819e96 monitor: Avoid unused function 2012-11-07 15:08:45 +01:00
Sebastian Huber
ef5f3598ad sapi: Delete duplicate declarations 2012-11-07 15:08:45 +01:00
Sebastian Huber
e39fa07cec sapi: Delete unused macros
Delete rtems_configuration_get_table(),
rtems_configuration_set_stack_space_size(),
rtems_configuration_set_work_space_size(), and
rtems_configuration_set_microseconds_per_tick().
2012-11-07 15:08:45 +01:00
Sebastian Huber
f536e127be sapi: Use rtems_*_get_user_multiprocessing_table 2012-11-07 15:08:45 +01:00
Sebastian Huber
39547679b3 sapi: Use rtems_configuration_get_idle_task 2012-11-07 15:08:44 +01:00
Sebastian Huber
0da4ecddb4 sapi: Use rtems_*_get_number_of_initial_extensions 2012-11-07 15:08:44 +01:00
Sebastian Huber
e8814e19f3 sapi: Use rtems_config*_get_user_extension_table 2012-11-07 15:08:44 +01:00
Sebastian Huber
8a331a5e4c sapi: Use rtems_config*_get_idle_task_stack_size 2012-11-07 15:08:44 +01:00
Sebastian Huber
2b875ff55b sapi: Use rtems_config*_get_maximum_extensions 2012-11-07 15:08:44 +01:00
Sebastian Huber
ec8b6c4e9f sapi: Use rtems_config*_get_device_driver_table 2012-11-07 15:08:43 +01:00
Sebastian Huber
1a75b4b336 sapi: Use rtems_conf*_get_number_of_device_drivers 2012-11-07 15:08:43 +01:00
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