Commit Graph

28116 Commits

Author SHA1 Message Date
Hesham ALMatary
66a5000d78 cpukit: Add Epiphany architecture port v4 2015-05-21 16:03:34 -04:00
Joel Sherrill
63c68cfcaf region*.c: Ensure return_status is set when RTEMS_MULTIPROCESSING is enabled 2015-05-21 08:28:58 -07:00
Joel Sherrill
60e4c0094a arm/s3c24xx/clock/clockdrv.c: Remove unused variable warning 2015-05-21 08:28:58 -07:00
Joel Sherrill
562c1b1b6d arm/lpc22xx/clock/clockdrv.c: Remove unused variable warning 2015-05-21 08:28:56 -07:00
Joel Sherrill
efd351d2f8 powerpc/shared/clock/clock.c: Remove unused variable warning 2015-05-21 08:28:56 -07:00
Joel Sherrill
68592d5432 mpc55xxevb/clock/clock-config.c: Remove unused variable warning 2015-05-21 08:28:55 -07:00
Joel Sherrill
4004d971fa mcf5225x/clock/clock.c: Remove unused variable warning 2015-05-21 08:28:55 -07:00
Joel Sherrill
2a605f6495 mcf52235/clock/clock.c: Remove unused variable warning 2015-05-21 08:28:55 -07:00
Joel Sherrill
5a9c3c1053 pc386/clock/ckinit.c: Remove prototyped but not defined warning 2015-05-21 08:28:55 -07:00
Joel Sherrill
52258f1344 arm/shared/lpc/clock/lpc-clock-config.c: Remove unused variable warning 2015-05-21 08:28:54 -07:00
Joel Sherrill
221031ec9f kill_noposix.c: Remove obsolete __kill() 2015-05-21 08:28:54 -07:00
Joel Sherrill
1c0663b48f mcf52235-testsuite.tcfg: Add syscall01 2015-05-21 08:28:54 -07:00
Joel Sherrill
0afac6ab66 Multiple bsp_specs: Change *(old_endfile) to %(old_endfile)
Fix typo.

closes 2345.
2015-05-21 08:28:54 -07:00
Joel Sherrill
64f7724bd0 Top files: Update and prep for release branch 2015-05-21 08:28:54 -07:00
Joel Sherrill
22e576dfde simsh2e-testsuite.tcfg: Add fileio 2015-05-21 08:28:53 -07:00
Joel Sherrill
bb997dd9c2 simsh1-testsuite.tcfg: Add fileio 2015-05-21 08:28:53 -07:00
Sebastian Huber
95889465e8 bsp/tms570: Typo 2015-05-21 17:27:34 +02:00
Alexander Krutwig
1c59cad4aa sparc: Add support for sptests/spcontext01
Implement _CPU_Context_validate() and _CPU_Context_volatile_clobber().

Update #2270.
2015-05-21 09:37:36 +02:00
Alexander Krutwig
a9c4f15dbe doc: Clarify SPARC floating point ABI 2015-05-21 09:02:51 +02:00
Alexander Krutwig
75acd9e69f bsps: Convert clock drivers to use a timecounter
Update #2271.
2015-05-20 08:40:34 +02:00
Alexander Krutwig
7cd2484c4c timecounter: Use in RTEMS
Replace timestamp implementation with FreeBSD bintime and timecounters.

New test sptests/sptimecounter02.

Update #2271.
2015-05-20 08:40:33 +02:00
Alexander Krutwig
31be41653a timecounter: Port to RTEMS
New test sptests/timecounter01.

Update #2271.
2015-05-20 08:40:29 +02:00
Alexander Krutwig
cc6938455e timecounter: Honor FFCLOCK define
Update #2271.
2015-05-19 15:14:34 +02:00
Alexander Krutwig
664f8446f4 timecounter: Use uint32_t instead of u_int
FreeBSD assumes that u_int is a 32-bit integer type.  This is wrong for
some 16-bit targets supported by RTEMS.

Update #2271.
2015-05-19 15:14:34 +02:00
Alexander Krutwig
4117cd1639 timecounter: Import from FreeBSD
Update #2271.
2015-05-19 15:14:34 +02:00
Sebastian Huber
33e30f393e smptests/smpscheduler03: Restructure
Restructure to avoid large maximum thread dispatch disabled times.
2015-05-19 15:14:34 +02:00
Sebastian Huber
9eb056f8c1 rtems: Avoid Giant lock for events 2015-05-19 15:14:34 +02:00
Sebastian Huber
20b423c6f2 psxualarm: Avoid endless signal handling
Increase the ualarm timer interval to avoid endless signal handling.
2015-05-19 15:14:33 +02:00
Sebastian Huber
d542329598 score: _Thread_Dispatch_disable_critical()
Thread dispatching is disabled in case interrupts are disabled.  To get
an accurate thread dispatch disabled time it is important to use the
interrupt disabled instant in case a transition from an interrupt
disabled section to a thread dispatch level section happens.
2015-05-19 15:14:33 +02:00
Sebastian Huber
aa05cfbb3d score: Replace _Thread_Delay_ended()
Use _Thread_Timeout() instead.  Use pseudo thread queue for nanosleep()
to deal with signals.

Close #2130.
2015-05-19 12:00:48 +02:00
Sebastian Huber
d8752860e5 score: Add static initializers for thread queues 2015-05-19 12:00:48 +02:00
Sebastian Huber
9052f88b16 score: Do not inline SMP lock if profiling enabled
This reduces the code size drastically.
2015-05-19 12:00:48 +02:00
Sebastian Huber
7a70a09260 score: Delete _Objects_Put_for_get_isr_disable()
This function is superfluous due to the introduction of fine grained
locking.
2015-05-19 12:00:48 +02:00
Sebastian Huber
a816f08478 score: Fine grained locking for MrsP
Update #2273.
2015-05-19 12:00:48 +02:00
Sebastian Huber
80f376db6c score: Remove Giant lock in rtems_clock_tick()
Update #2307.
2015-05-19 12:00:47 +02:00
Sebastian Huber
900d337f96 score: Rework _Thread_Change_priority()
Move the writes to Thread_Control::current_priority and
Thread_Control::real_priority into _Thread_Change_priority() under the
protection of the thread lock.  Add a filter function to
_Thread_Change_priority() to enable specialized variants.

Avoid race conditions during a thread priority restore with the new
Thread_Control::priority_restore_hint for an important average case
optimizations used by priority inheritance mutexes.

Update #2273.
2015-05-19 12:00:47 +02:00
Sebastian Huber
4438ac2575 score: Fine grained locking for mutexes
Update #2273.
2015-05-19 12:00:47 +02:00
Sebastian Huber
d12b313523 score: Inline _CORE_semaphore_Surrender() 2015-05-19 12:00:47 +02:00
Sebastian Huber
b76dd97990 score: Inline _CORE_semaphore_Flush() 2015-05-19 12:00:47 +02:00
Sebastian Huber
cfa5aabc78 score: Delete _CORE_semaphore_Seize()
Rename _CORE_semaphore_Seize_isr_disable() to _CORE_semaphore_Seize().
2015-05-19 12:00:46 +02:00
Sebastian Huber
e76c517d07 score: Fine grained locking for semaphores
Update #2273.
2015-05-19 12:00:46 +02:00
Sebastian Huber
cc18d7bec7 score: Fine grained locking for message queues
Aggregate several critical sections into a bigger one.  Sending and
receiving messages is now protected by an ISR lock.  Thread dispatching
is only disabled in case a blocking operation is necessary.  The message
copy procedure is done inside the critical section (interrupts
disabled).  Thus this change may have a negative impact on the interrupt
latency in case very large messages are transferred.

Update #2273.
2015-05-19 12:00:46 +02:00
Sebastian Huber
c654b52517 score: Delete _CORE_message_queue_Flush_support()
Check the number of pending messages in _CORE_message_queue_Flush() to
avoid race conditions.
2015-05-19 12:00:46 +02:00
Sebastian Huber
f5d6c8b58d score: Delete Thread_queue_Control::timeout_status
Use a parameter for _Thread_queue_Enqueue() instead to reduce memory
usage.
2015-05-19 12:00:46 +02:00
Sebastian Huber
cc366ec8c9 score: New thread queue implementation
Use thread wait flags for synchronization.  The enqueue operation is now
part of the initial critical section.  This is the key change and
enables fine grained locking on SMP for objects using a thread queue
like semaphores and message queues.

Update #2273.
2015-05-19 12:00:45 +02:00
Sebastian Huber
383cf42217 score: More thread queue operations
Move thread queue discipline specific operations into
Thread_queue_Operations.  Use a separate node in the thread control
block for the thread queue to make it independent of the scheduler data
structures.

Update #2273.
2015-05-19 12:00:45 +02:00
Sebastian Huber
568af83542 score: Add Thread_queue_Operations
Replace the Thread_Priority_control with more general
Thread_queue_Operations which will be used for generic priority change,
timeout, signal and wait queue operations in the future.

Update #2273.
2015-05-19 12:00:45 +02:00
Sebastian Huber
02c4c441a5 score: Add Thread_queue_Control::Lock
Move the complete thread queue enqueue procedure into
_Thread_queue_Enqueue_critical().  It is possible to use the thread
queue lock to protect state of the object embedding the thread queue.
This enables per object fine grained locking in the future.

Delete _Thread_queue_Enter_critical_section().

Update #2273.
2015-05-19 12:00:45 +02:00
Sebastian Huber
08fe84b5d7 score: Generalize _Event_Timeout()
Add a thread wait timeout code.  Replace _Event_Timeout() with a general
purpose _Thread_Timeout() watchdog handler.

Update #2273.
2015-05-19 12:00:45 +02:00
Sebastian Huber
b7cff7feb0 score: Reduce thread wait states
Merge THREAD_WAIT_STATE_SATISFIED, THREAD_WAIT_STATE_TIMEOUT,
THREAD_WAIT_STATE_INTERRUPT_SATISFIED, and
THREAD_WAIT_STATE_INTERRUPT_TIMEOUT into one state
THREAD_WAIT_STATE_READY_AGAIN.  This helps to write generic routines to
block a thread.

Update #2273.
2015-05-19 12:00:44 +02:00