Sebastian Huber
93306058c0
score: _CORE_mutex_Check_dispatch_for_seize()
...
Move the safety check performed by
_CORE_mutex_Check_dispatch_for_seize() out of the performance critical
path and generalize it. Blocking on a thread queue with an unexpected
thread dispatch disabled level is illegal in all system states.
Add the expected thread dispatch disable level (which may be 1 or 2
depending on the operation) to Thread_queue_Context and use it in
_Thread_queue_Enqueue_critical().
2016-05-30 16:16:21 +02:00
Chris Johns
24d0ee57a4
cpukit, testsuite: Add rtems_printf and rtems_printer support.
...
This change adds rtems_printf and related functions and wraps the
RTEMS print plugin support into a user API. All references to the
plugin are removed and replaced with the rtems_printer interface.
Printk and related functions are made to return a valid number of
characters formatted and output.
The function attribute to check printf functions has been added
to rtems_printf and printk. No changes to remove warrnings are part
of this patch set.
The testsuite has been moved over to the rtems_printer. The testsuite
has a mix of rtems_printer access and direct print control via the
tmacros.h header file. The support for begink/endk has been removed
as it served no purpose and only confused the code base. The testsuite
has not been refactored to use rtems_printf. This is future work.
2016-05-25 15:47:34 +10:00
Sebastian Huber
876dde7a7d
score: Make _Objects_Information_table const
...
The _Objects_Information_table is statically initialized. So, we can
make it read-only.
2016-05-04 07:24:30 +02:00
Sebastian Huber
f05eeb2091
score: Simplify _Objects_Initialize_information()
...
Remove unused supports_global parameter. Convert
_Objects_Initialize_information() to a macro to avoid use of
RTEMS_MULTIPROCESSING define for each caller.
2016-04-21 07:29:39 +02:00
Sebastian Huber
362722795a
sapi: Avoid Giant lock for extensions
...
Extension create and delete is protected by the object allocator lock.
Update #2555 .
2016-04-18 08:20:12 +02:00
Sebastian Huber
d995a263b5
score: Delete _Chain_Append()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:24 +02:00
Sebastian Huber
3bf2bcc8c6
score: Delete _Chain_Get()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:24 +02:00
Sebastian Huber
223fff46b8
score: Delete _Chain_Extract()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:23 +02:00
Sebastian Huber
b0354b0eee
score: Delete _Chain_Insert()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:23 +02:00
Sebastian Huber
cd90052365
score: Delete _Chain_Get_with_empty_check()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:23 +02:00
Sebastian Huber
c130387985
score: Delete _Chain_Prepend_with_empty_check()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:23 +02:00
Sebastian Huber
88f4157c93
score: Delete _Chain_Append_with_empty_check()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:23 +02:00
Sebastian Huber
6406b693b6
score: Delete _Chain_Prepend()
...
This function is not used in the score.
Update #2555 .
2016-04-06 09:08:22 +02:00
Sebastian Huber
2f02f93897
sapi: Include missing header file
2016-03-17 09:02:19 +01:00
Sebastian Huber
05ef28754e
sapi: Do not disable thread dispatching
...
Do not disable thread dispatching to add a user extension. After
startup, the object allocator lock is enough.
Update #2555 .
2016-03-16 07:16:58 +01:00
Sebastian Huber
18ff889624
score: Use ISR lock for IO driver registration
...
Create implementation header file.
Update #2555 .
2016-03-14 10:56:22 +01:00
Sebastian Huber
62d2540dae
score: Delete unused SAPI_IO_EXTERN
...
Update #2559 .
2016-03-14 09:41:37 +01:00
Sebastian Huber
03b900d3ed
score: Replace watchdog handler implementation
...
Use a red-black tree instead of delta chains.
Close #2344 .
Update #2554 .
Update #2555 .
Close #2606 .
2016-03-04 13:36:10 +01:00
Sebastian Huber
358bd74059
score: Avoid SCORE_EXTERN
...
Delete SCORE_INIT. This finally removes the
some.h:
#ifndef SOME_XYZ_EXTERN
#define SOME_XYZ_EXTERN extern
#endif
SOME_XYZ_EXTERN type xyz;
some_xyz.c:
#define SOME_XYZ_EXTERN
#include <some.h>
pattern in favour of
some.h:
extern type xyz;
some_xyz.c
#include <some.h>
type xyz;
Update #2559 .
2016-02-17 09:15:01 +01:00
Sebastian Huber
3bc12a8f5a
Delete unused API extensions
2016-02-03 10:00:58 +01:00
Sebastian Huber
8ca372e9b4
Use linker set for MPCI initialization
...
Update #2408 .
2016-02-03 10:00:57 +01:00
Sebastian Huber
6bf44a581b
Use linker set for driver manager initialization
...
Update #2408 .
2016-02-03 10:00:57 +01:00
Sebastian Huber
529b08a705
posix: Delete empty _POSIX_API_Initialize()
2016-02-03 10:00:56 +01:00
Sebastian Huber
2605a48938
Optional POSIX Keys initialization
...
Update #2408 .
2016-02-03 10:00:56 +01:00
Sebastian Huber
190169fee2
Optional CPU Set Handler initialization
...
Update #2408 .
2016-02-03 10:00:56 +01:00
Sebastian Huber
4eee878145
Optional POSIX Spinlock initialization
...
Update #2408 .
2016-02-03 10:00:56 +01:00
Sebastian Huber
76a8328945
Optional POSIX RWLock initialization
...
Update #2408 .
2016-02-03 10:00:56 +01:00
Sebastian Huber
e4e7f149c0
Optional POSIX Barrier initialization
...
Update #2408 .
2016-02-03 10:00:56 +01:00
Sebastian Huber
6c67855790
Optional POSIX Timer initialization
...
Update #2408 .
2016-02-03 10:00:55 +01:00
Sebastian Huber
2189b3e963
Optional POSIX Semaphore initialization
...
Update #2408 .
2016-02-03 10:00:55 +01:00
Sebastian Huber
3015ed641a
Optional POSIX Message Queue initialization
...
Update #2408 .
2016-02-03 10:00:55 +01:00
Sebastian Huber
9871f5dc60
Optional POSIX Mutex initialization
...
Update #2408 .
2016-02-03 10:00:55 +01:00
Sebastian Huber
f4fee4778e
Optional POSIX Condition Variable initialization
...
Update #2408 .
2016-02-03 10:00:55 +01:00
Sebastian Huber
ef1a985fc7
Optional POSIX Threads initialization
...
Update #2408 .
2016-02-03 10:00:54 +01:00
Sebastian Huber
04436ae7d8
Optional POSIX Signals initialization
...
Update #2408 .
2016-02-03 10:00:54 +01:00
Sebastian Huber
58089ff3ad
rtems: Delete empty _RTEMS_API_Initialize()
2016-02-03 10:00:54 +01:00
Sebastian Huber
97d94ff3e9
Optional Classic Barrier initialization
...
Update #2408 .
2016-02-03 10:00:54 +01:00
Sebastian Huber
b377e3f6b7
Optional Classic Rate Monotonic initialization
...
Update #2408 .
2016-02-03 10:00:53 +01:00
Sebastian Huber
af12278f9b
Optional Classic Dual-Ported Memory initialization
...
Update #2408 .
2016-02-03 10:00:53 +01:00
Sebastian Huber
365456cce3
Optional Classic Region initialization
...
Update #2408 .
2016-02-03 10:00:53 +01:00
Sebastian Huber
fd3cc36f61
Optional Classic Partition initialization
...
Update #2408 .
2016-02-03 10:00:53 +01:00
Sebastian Huber
cbaac1f7f4
Optional Classic Semaphore initialization
...
Update #2408 .
2016-02-03 10:00:53 +01:00
Sebastian Huber
ed8b00e667
Optional Classic Message Queue initialization
...
Update #2408 .
2016-02-03 10:00:52 +01:00
Sebastian Huber
ae85b0663e
Optional Classic Event initialization
...
Update #2408 .
2016-02-03 10:00:52 +01:00
Sebastian Huber
a7f36829c0
Optional Classic Signal initialization
...
Update #2408 .
2016-02-03 10:00:52 +01:00
Sebastian Huber
26335844f4
Optional Classic Timer initialization
...
Update #2408 .
2016-02-03 10:00:52 +01:00
Sebastian Huber
565672a257
Optional Classic Tasks initialization
...
Update #2408 .
2016-02-03 10:00:52 +01:00
Sebastian Huber
92bb345374
Optional Extensions initialization
...
Update #2408 .
2016-02-03 10:00:51 +01:00
Sebastian Huber
a853c8518d
Optional Initial Extensions initialization
...
Update #2408 .
2016-02-03 10:00:51 +01:00
Sebastian Huber
36b86d7eb5
score: Create idle threads via linker set
...
This allows a more fine grained rtems_initialize_data_structures().
Update #2408 .
2016-02-03 10:00:51 +01:00