Commit Graph

29338 Commits

Author SHA1 Message Date
Chris Johns
8f9d07bbbc bsp/shared: Fix printk warnings. 2016-05-25 15:47:34 +10:00
Chris Johns
c16e54a983 libfs/jff2: Avoid printk format warnings.
This change does not fix the printk format warnings rather
it ignores them.
2016-05-25 15:47:34 +10:00
Chris Johns
1503c1c382 i386/pc386: Fix printk formatting warnings. 2016-05-25 15:47:34 +10: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
b1860df53d psxtests/psxmsgq01: Fix typo 2016-05-24 15:39:07 +02:00
Sebastian Huber
4b623d655b score: Fix blocking _CORE_message_queue_Submit()
Close #2718.
2016-05-24 15:37:10 +02:00
Sebastian Huber
7088340957 psxtests/psxmsgq01: Enable test case 2016-05-24 15:32:33 +02:00
Sebastian Huber
16dbcdcd7c score: _CORE_message_queue_Seize()
Delete unused parameter.
2016-05-24 14:06:17 +02:00
Sebastian Huber
7af4d676f3 mpci: Add missing return statements 2016-05-24 14:06:07 +02:00
Sebastian Huber
bdb3b7fa2f score: _CORE_semaphore_Seize()
Delete unused parameter.
2016-05-20 16:17:00 +02:00
Sebastian Huber
e266d134eb Replace *_Get_interrupt_disable() with *_Get()
Uniformly use *_Get() to get an object by identifier with a lock
context.
2016-05-20 16:17:00 +02:00
Sebastian Huber
582bb23c74 score: Rename _Objects_Get_local()
Rename _Objects_Get_local() into _Objects_Get().  Confusions with the
previous _Objects_Get() function are avoided since the Objects_Locations
parameter is gone.
2016-05-20 16:17:00 +02:00
Sebastian Huber
4bae341dc9 score: Delete unused _Objects_Get_isr_disable()
Delete now unused Objects_Locations.
2016-05-20 16:17:00 +02:00
Sebastian Huber
62c528e633 rtems: _Semaphore_Get_interrupt_disable()
Use _Objects_Get_local() for _Semaphore_Get_interrupt_disable() to get
rid of the location parameter.  Move remote object handling to semaphore
MPCI support.
2016-05-20 16:17:00 +02:00
Sebastian Huber
641b44c225 rtems: _Message_queue_Get_interrupt_disable()
Use _Objects_Get_local() for _Message_queue_Get_interrupt_disable() to
get rid of the location parameter.  Move remote object handling to
message queue MPCI support.
2016-05-20 16:16:59 +02:00
Sebastian Huber
0a00b2b5f6 rtems: Remove location from _Partition_Get()
Use _Objects_Get_local() for _Partition_Get() to get rid of the location
parameter.  Move remote object handling to partition MPCI support.
2016-05-20 16:16:59 +02:00
Sebastian Huber
516ee758df mpci: Delete unused region support 2016-05-20 16:16:59 +02:00
Sebastian Huber
956b8e5047 mpci: Simplify _Objects_MP_Is_remote() 2016-05-20 16:16:59 +02:00
Sebastian Huber
0cc60718d0 posix: Add const to _POSIX_Keys_Key_value_find() 2016-05-20 16:16:59 +02:00
Sebastian Huber
61340d1723 score: Add const to _RBTree_Find_inline() 2016-05-20 16:16:58 +02:00
Sebastian Huber
0cc91daa20 score: Delete unused _Objects_Get_local_object() 2016-05-20 16:16:58 +02:00
Sebastian Huber
28ba7e20aa posix: Remove dead code and shrink comment 2016-05-20 16:16:58 +02:00
Sebastian Huber
05f9b02e3c posix: Add and use _POSIX_Get_object_body() 2016-05-20 16:16:26 +02:00
Sebastian Huber
8a040fe4ee score: Use _RBTree_Insert_inline()
Use _RBTree_Insert_inline() for priority thread queues.

Update #2556.
2016-05-20 16:11:02 +02:00
Sebastian Huber
7dfb4b970c score: Add per scheduler instance maximum priority
The priority values are only valid within a scheduler instance.  Thus,
the maximum priority value must be defined per scheduler instance.  The
first scheduler instance defines PRIORITY_MAXIMUM.  This implies that
RTEMS_MAXIMUM_PRIORITY and POSIX_SCHEDULER_MAXIMUM_PRIORITY are only
valid for threads of the first scheduler instance.  Further
API/implementation changes are necessary to fix this.

Update #2556.
2016-05-20 16:11:02 +02:00
Sebastian Huber
452b7f83c4 fat: Fix for invalid cluster sizes
A cluster size > 32KiB resulted in an infinite loop in
fat_init_volume_info() due to an integer overflow.

Close #2717.
2016-05-20 07:50:38 +02:00
Sebastian Huber
ceb0f6597c score: Remove the Giant lock
Update #2555.
2016-05-20 07:50:37 +02:00
Sebastian Huber
c2f301b580 score: Rename _ISR_Flash() into _ISR_Local_flash()
This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:50:37 +02:00
Sebastian Huber
2471316321 score: Rename _ISR_Disable() and _ISR_Enable()
Rename _ISR_Disable() into _ISR_Local_disable().  Rename _ISR_Enable()
into _ISR_Local_enable().  Remove _Debug_Is_owner_of_giant().

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:50:37 +02:00
Sebastian Huber
4b04cb6155 score: Rename _ISR_Disable_without_giant()
Rename _ISR_Disable_without_giant() into _ISR_Local_disable().  Rename
_ISR_Enable_without_giant() into _ISR_Local_enable().

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:50:34 +02:00
Sebastian Huber
d2bacb6c38 score: _Thread_Dispatch_increment_disable_level()
Avoid _Thread_Dispatch_increment_disable_level() and
_Thread_Dispatch_decrement_disable_level() and thus the Giant
lock.

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:49:41 +02:00
Sebastian Huber
dab902d5b2 testsuites: Avoid Giant lock
Replace _Thread_Disable_dispatch() with _Thread_Dispatch_disable().
Replace _Thread_Enable_dispatch() with _Thread_Dispatch_enable().

This is a preparation to remove the Giant lock.

Update #2555.
2016-05-20 07:49:41 +02:00
Sebastian Huber
b80156cf15 score: Avoid Giant _Objects_Extend_information()
Avoid Giant lock for _Objects_Extend_information().

Update #2280.
Update #2555.
2016-05-20 07:49:41 +02:00
Sebastian Huber
ee710ef483 score: Delete unused _Objects_Get()
Update #2555.
2016-05-20 07:49:40 +02:00
Sebastian Huber
23294fd225 score: Delete unused _Thread_Get()
Update #2555.
2016-05-20 07:49:40 +02:00
Sebastian Huber
5eac967651 testsuites: Replace _Thread_Get()
Replace _Thread_Get() with _Thread_Get_interrupt_disable() to avoid the
Giant lock.

Update #2555.
2016-05-20 07:49:40 +02:00
Sebastian Huber
92f6883073 sptests/spintrcritical22: Avoid _Objects_Get()
Use _Semaphore_Get_interrupt_disable() instead.

Update #2555.
2016-05-20 07:49:40 +02:00
Sebastian Huber
f36ada320d rtems: Avoid Giant lock for rtems_task_delete()
Update #2555.
2016-05-20 07:49:40 +02:00
Sebastian Huber
64fe16636b posix: Avoid Giant lock for pthread_kill()
Update #2555.
2016-05-20 07:49:40 +02:00
Sebastian Huber
da82656065 posix: Rework thread cancellation
Add Thread_Life_state::THREAD_LIFE_CHANGE_DEFERRED and rework the POSIX
thread cancellation to use the thread life states.

Update #2555.
Update #2626.
2016-05-20 07:49:39 +02:00
Sebastian Huber
33829ce155 score: Avoid Giant lock for _Thread_Start()
Update #2555.
2016-05-20 07:49:39 +02:00
Sebastian Huber
54550e048d posix: Rework pthread_join()
Rework pthread_join() to use _Thread_Join().

Close #2402.
Update #2555.
Update #2626.
Close #2714.
2016-05-20 07:49:39 +02:00
Sebastian Huber
29e1ecab87 score: Simplify _Thread_Life_action_handler()
Use _Thread_Change_life_locked() to avoid duplicated code.  Avoid Giant
lock in _Thread_Life_action_handler().

Update #2555.
Update #2626.
2016-05-20 07:49:39 +02:00
Sebastian Huber
ef09017ebb score: Rework _Thread_Cancel()
Rework _Thread_Cancel() to use _Thread_Change_life_locked().

Update #2555.
Update #2626.
2016-05-20 07:49:39 +02:00
Sebastian Huber
862a0eeb11 score: Rework _Thread_Restart_other()
Rework _Thread_Restart_other() to use _Thread_Change_life_locked().
Cope with concurrent change requests by means of a pending request
counter.

Update #2555.
Update #2626.
2016-05-20 07:49:38 +02:00
Sebastian Huber
9388390777 score: Split _Thread_Restart()
Split _Thread_Restart() into _Thread_Restart_self() and
_Thread_Restart_other().  Move content of existing
_Thread_Restart_self() into new _Thread_Restart_self().  Avoid Giant
lock for thread restart.  _Thread_Restart_self() is a no-return function
and used by _Thread_Global_construction().

Update #2555.
Update #2626.
2016-05-20 07:49:38 +02:00
Sebastian Huber
0475cca9a0 score: Add _Thread_Dispatch_disable_with_CPU()
Update #2555.
Update #2626.
2016-05-20 07:49:38 +02:00
Sebastian Huber
f410ea82a4 score: Add _Thread_Clear_state_locked()
This makes it possible to do thread state and thread life changes
together under protection of the thread state lock.

Update #2555.
Update #2626.
2016-05-20 07:49:38 +02:00
Sebastian Huber
9a99ce15d0 score: Add _Thread_Set_state_locked()
This makes it possible to do thread state and thread life changes
together under protection of the thread state lock.

Update #2555.
Update #2626.
2016-05-20 07:49:38 +02:00
Sebastian Huber
232147ddc1 score: Add _Thread_Join() and _Thread_Cancel()
Split _Thread_Close() into _Thread_Join() and _Thread_Cancel() to
prepare for a re-use in pthread_join() and pthread_cancel().

Update #2555.
Update #2626.
2016-05-20 07:49:37 +02:00