Commit Graph

29346 Commits

Author SHA1 Message Date
Sebastian Huber
8866e6222f score: Move thread queue object support 2016-05-25 12:43:53 +02:00
Sebastian Huber
0e9d5b69cc mpci: Fix thread queue flush method
We must call the MP callout for proxies if we unblock them after a
thread queue extraction.  This was missing in
_Thread_queue_Flush_critical().  Move thread remove timer and unblock
code to new function _Thread_Remove_timer_and_unblock().
2016-05-25 12:43:53 +02:00
Sebastian Huber
25e28d84d7 confdefs.h: Fix heap alloc size estimate
Account for the heap minimum block size.
2016-05-25 12:43:53 +02:00
Chris Johns
addf1aa868 testsuite: Fix printk format warnings. 2016-05-25 15:47:34 +10:00
Chris Johns
61ea345158 testsuite: Fix printk formating warning. 2016-05-25 15:47:34 +10:00
Chris Johns
62cba156f6 libmisc: Fix printk format warnings. 2016-05-25 15:47:34 +10:00
Chris Johns
458e4c4ef4 score/i386: Fix printk format warnings. 2016-05-25 15:47:34 +10:00
Chris Johns
75e3e0ebc1 libcsupport: Fix printk warnings. 2016-05-25 15:47:34 +10:00
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