summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* confdefs.h: Do not hide network file systemsSebastian Huber2016-06-091-34/+30
| | | | | Do not hide network file systems if RTEMS_NETWORKING is not defined, since they may be provided by the LibBSD.
* ftpfs: Remove superfluous includeSebastian Huber2016-06-091-1/+0
|
* score: Add an SMP sequence lock implementationSebastian Huber2016-06-093-0/+178
|
* score: Use builtin for _Bitfield_Find_first_bit()Sebastian Huber2016-06-081-0/+2
| | | | | | In case the CPU architecture provides no specialized _CPU_Bitfield_Find_first_bit() macro, then use the __builtin_clz() builtin in case __GNUC__ is defined.
* score: Inline _Bitfield_Find_first_bit()Sebastian Huber2016-06-081-32/+23
| | | | Turn _Bitfield_Find_first_bit() macro into an inline function.
* score: Define _Priority_Bits_index() onceSebastian Huber2016-06-081-25/+13
|
* score: Define _Priority_Mask() onceSebastian Huber2016-06-081-21/+13
|
* score: Simplify priority bit map implementationSebastian Huber2016-06-0822-81/+21
| | | | | | | | | | The priority bit map can deal with a maximum of 256 priority values ranging from 0 to 255. Consistently use an unsigned int for computation, due to the usual integer promotion rules. Make Priority_bit_map_Word definition architecture-independent and define it to uint16_t. This was already the case for all architectures except PowerPC. Adjust the PowerPC bitmap support accordingly.
* score: Delete CPU_USE_GENERIC_BITFIELD_DATASebastian Huber2016-06-0820-56/+7
| | | | | | Rename __log2table into _Bitfield_Leading_zeros since it acually returns the count of leading zeros of an 8-bit integer. The value for zero is a bit odd. Provide it unconditionally.
* powerpc: Define bitmap defines to FALSESebastian Huber2016-06-081-0/+4
|
* score: Delete dead copy and paste codeSebastian Huber2016-06-0810-1064/+5
|
* rtems: Simplify rtems_semaphore_create()Sebastian Huber2016-06-071-132/+113
| | | | | Remove superfluous includes. Use one attribute compare for each semaphore variant. Text size drops by 10% on PowerPC due to this.
* shell: Add rtems_shell_wait_for_explicit_input()Alexander Krutwig2016-06-062-4/+40
|
* mghttpd: Add RTEMS printer supportSebastian Huber2016-06-063-2/+18
|
* rtems: Fix no protocol mutex releaseSebastian Huber2016-06-062-44/+13
| | | | | | | | | | | | | | | | The Classic binary semaphores without a locking protocol (RTEMS_BINARY_SEMAPHORE) could be released by everyone, e.g. in contrast to the POSIX mutexes (all variants) or the Classic binary semphores with priority inheritance or ceiling, there was no owner check in the release path. This behaviour was a bit unexpected and not documented. Add an owner check to the release path. Update sptests/sp42 accordingly. This change has nothing to do with the simple binary semaphores (RTEMS_SIMPLE_BINARY_SEMAPHORE) which have no owner at all. Update #2725
* tftp: Use proper semaphore attr for mutexSebastian Huber2016-06-061-4/+2
| | | | Close #2729.
* pipe: Use proper semaphore attr for mutexSebastian Huber2016-06-061-2/+2
| | | | Close #2728.
* dosfs: Use proper semaphore attr for mutexSebastian Huber2016-06-061-1/+2
| | | | Close #2727.
* libblock: Use proper semaphore attr for mutexSebastian Huber2016-06-061-2/+1
| | | | Close #1452.
* libmisc/untar: Support directory create and overwrites. Share the common code.Chris Johns2016-06-032-127/+343
| | | | | | | | | | | | | | | | | | | Support creating directories for files with a path depth greater than 1. Some tar files can have files with a path depth greater than 1 and no directory entry in the tar file to create a directory. Support overwriting existing files and directories failing in a similar way to tar on common hosts. If a file is replaced with a file delete the file and create a new file. If a directory replaces a file remove the file and create the directory. If a file replaces a directory remove the directory, and if the directory is not empty and cannot be removed report an error. If a directory alreday exists do nothing leaving the contents untouched. The untar code now shares the common header parsing and initial processing with the actual writes still separate. No changes to the IMFS have been made. Updates #2415. Closes #2207.
* libmisc/stackchk: Fix printk warnings.Chris Johns2016-06-031-6/+6
|
* arm: Fix printk warnings.Chris Johns2016-06-031-16/+18
|
* score: Maybe fix _Thread_Lock_acquire()Sebastian Huber2016-06-022-42/+7
| | | | | | | The approach with the generation number was broken. The load/store of the current lock, the thread queue and the thread queue operations were not properly synchronized. Under certain conditions on a PowerPC T4240 old thread queue operations operated on a new thread queue (NULL pointer).
* score: Fix _Thread_Lock_acquire()Sebastian Huber2016-06-011-11/+12
| | | | | | | | | A read-modify-write operation is necessary to read the last value written. See for example C11 standard or Power ISA 2.07, Book II: Power ISA Virtual Environment Architecture, Section 1.6.3 Memory Coherence Required [Category: Memory Coherence] and Section 1.7.3 Atomic Update.
* smptests/smpatomic01: New test casesSebastian Huber2016-06-011-1/+3
| | | | | Demonstrate that a read-modify-write atomic operation may be necessary on some archtitectures to observe the latest value written.
* shell: Add CPUINFO commandSebastian Huber2016-05-315-0/+139
| | | | Update #2723.
* cpuuse: Hide implementation detailsSebastian Huber2016-05-316-5/+33
|
* Fix rtems_print_printer_fprintf()Sebastian Huber2016-05-312-3/+21
| | | | We must use vfprintf().
* score: Use owner of thread queue for CORE mutexSebastian Huber2016-05-302-13/+8
|
* rtems: Remove superfluous includesSebastian Huber2016-05-301-5/+0
|
* rtems: Fix semaphore field nameSebastian Huber2016-05-305-9/+9
|
* rtems: Move MrsP semaphore operationsSebastian Huber2016-05-307-27/+27
| | | | | Move MrsP semaphore operations to a less prominent location. Fix field name.
* score: Rework CORE inherit priority mutexSebastian Huber2016-05-3025-485/+292
| | | | | Provide dedicated seize and surrender methods for inherit priority mutexes. This eliminates CORE_mutex_Attributes.
* score: Rework CORE priority ceiling mutexSebastian Huber2016-05-3018-225/+327
| | | | | Rework seize and surrender methods to use CORE_ceiling_mutex_Control. This eliminates CORE_mutex_Disciplines.
* score: Add CORE mutex variantsSebastian Huber2016-05-3024-172/+510
| | | | | | | | Add CORE_recursive_mutex_Control and CORE_ceiling_mutex_Control to avoid the run-time evaluation of attributes to figure out how a particular mutex methods should behave. Start with the no protocol variants. This eliminates the CORE_MUTEX_DISCIPLINES_FIFO and CORE_MUTEX_DISCIPLINES_PRIORITY disciplines.
* posix: Delete POSIX_Mutex_Protocol::process_sharedSebastian Huber2016-05-302-4/+0
|
* posix: Avoid use of internal mutex methodsSebastian Huber2016-05-301-21/+10
| | | | Avoid use of internal mutex methods for pthread_mutex_setprioceiling().
* posix: Avoid use of internal mutex methodsSebastian Huber2016-05-301-23/+13
| | | | Avoid use of internal mutex methods for condition variables.
* rtems: Remove superfluous includesSebastian Huber2016-05-301-11/+1
|
* rtems: Simplify rtems_semaphore_delete()Sebastian Huber2016-05-303-39/+6
| | | | | Due to the unified status codes, we can now use a common flush and destroy method for semaphore and mutex variants.
* rtems: Simplify rtems_semaphore_flush()Sebastian Huber2016-05-301-10/+5
| | | | | Due to the unified status codes, we can now use a common flush method for semaphore and mutex variants.
* score: Simplify CORE mutexSebastian Huber2016-05-309-45/+53
| | | | | Remove superfluous support for simple binary semaphores. With this we can get rid of the CORE_MUTEX_NESTING_BLOCKS variant.
* score: Add semaphore variantsSebastian Huber2016-05-3016-182/+227
|
* rtems: Simplify rtems_semaphore_delete()Sebastian Huber2016-05-303-28/+28
|
* score: Use thread queue lock for MrsPSebastian Huber2016-05-303-10/+24
| | | | | | Replace the ISR lock in MRSP_Control with a thread queue. This simplifies the Classic semaphore implementation. Only the lock part of the thread queue is used.
* score: _CORE_mutex_Check_dispatch_for_seize()Sebastian Huber2016-05-3031-255/+344
| | | | | | | | | | | 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().
* score: Add _Thread_queue_Context_set_MP_callout()Sebastian Huber2016-05-3030-117/+105
| | | | | | Add _Thread_queue_Context_set_MP_callout() to simplify _Thread_queue_Context_initialize(). This makes it possible to more easily add additional fields to Thread_queue_Context.
* score: Adjust thread queue layoutSebastian Huber2016-05-304-41/+49
| | | | | | Adjust thread queue layout according to Newlib. This makes it possible to use the same implementation for <sys/lock.h> and CORE mutexes in the future.
* score: Use Newlib provided <machine/endian.h>Sebastian Huber2016-05-302-94/+37
|
* network: Align with Newlib type definitionsSebastian Huber2016-05-301-4/+5
|