summaryrefslogtreecommitdiffstats
path: root/cpukit/libmisc (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* score: Rework thread priority managementSebastian Huber2016-09-212-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Add priority nodes which contribute to the overall thread priority. The actual priority of a thread is now an aggregation of priority nodes. The thread priority aggregation for the home scheduler instance of a thread consists of at least one priority node, which is normally the real priority of the thread. The locking protocols (e.g. priority ceiling and priority inheritance), rate-monotonic period objects and the POSIX sporadic server add, change and remove priority nodes. A thread changes its priority now immediately, e.g. priority changes are not deferred until the thread releases its last resource. Replace the _Thread_Change_priority() function with * _Thread_Priority_perform_actions(), * _Thread_Priority_add(), * _Thread_Priority_remove(), * _Thread_Priority_change(), and * _Thread_Priority_update(). Update #2412. Update #2556.
* score: Introduce _Thread_Get_priority()Sebastian Huber2016-09-083-4/+8
| | | | Avoid direct access to thread internal data fields.
* stackchk: Fix stack checker thread initializationSebastian Huber2016-09-082-30/+4
| | | | | | | Commit 0fd6f25507fbea5f4892b71b58837cdda17856b4 relaxed the thread begin extension execution environment. This broke the stack check which only partially initialized the stack pattern in its create extension. Move the part of the begin extension to the create extension.
* stackchk: Use a const pattern to checkSebastian Huber2016-09-081-89/+42
|
* stackchk: Remove superfluous internal header fileSebastian Huber2016-09-083-103/+26
|
* capture: Use proper accessor functionsSebastian Huber2016-09-061-4/+4
|
* capture: Workaround to avoid misaligned accessSebastian Huber2016-09-061-1/+1
| | | | | Move the 64-bit field to a not 64-bit aligned structure offset to stop the compiler from generating 64-bit load/store operations.
* libmisc/capture: Remove the reserved _t in the types.Chris Johns2016-09-018-271/+252
|
* libmisc/capture: Fix the capture engine on SMP.Chris Johns2016-09-019-666/+880
| | | | | | | | | | | | | | | | | | | | | | | This patches some issues with the capture engine: 1. Check is the engine is open in ctrace commands. 2. Check all record open and appends for overflow. 3. Fix the record open to take the size of user data and not the record header. 4. Use packed structs for data being written to the per cpu buffers. 5. Remove direct struct access to the capture buffers to avoid misaligned accesses. 6. Add support to extract records, no struct access to the capture buffers. 7. Update ctrace to extract records from the capture buffers. 8. Add support to ctrace to always print the task name if it has one. 9. Add support to manage names or the lack of a name. 10. Range of minor fixes. 11. Fix a long standing bug in ctset's handling of args. Closes #2780.
* libmisc/untar: Set the perms to the value in the tar file.Chris Johns2016-08-092-20/+34
| | | | | | | This patch parses the mode field in the tar header and sets the directory or file to the mode value in the header. Closes #2768.
* score: Turn thread lock into thread wait lockSebastian Huber2016-07-271-4/+3
| | | | | | | | | The _Thread_Lock_acquire() function had a potentially infinite run-time due to the lack of fairness at atomic operations level. Update #2412. Update #2556. Update #2765.
* Add Untar_FromGzChunk_Print() + TestAlexander Krutwig2016-07-263-1/+123
|
* Add Untar_FromChunk_Print() + TestAlexander Krutwig2016-07-262-1/+197
|
* score: Introduce map priority scheduler operationSebastian Huber2016-06-221-2/+4
| | | | | | | | | | | Introduce map/unmap priority scheduler operations to map thread priority values from/to the user domain to/from the scheduler domain. Use the map priority operation to validate the thread priority. The EDF schedulers use this new operation to distinguish between normal priorities and priorities obtain through a job release. Update #2173. Update #2556.
* rtems: Rework RTEMS API to SuperCore prioritySebastian Huber2016-06-222-6/+6
| | | | | Use same structure as POSIX API for thread priority conversion to/from SuperCore.
* Rename rtems_test_print() into rtems_test_printf()Sebastian Huber2016-06-222-2/+2
|
* Move printer initialization to separate headerSebastian Huber2016-06-2212-1/+12
| | | | | | The RTEMS print user need to know nothing about a particular printer implementation. In particular get rid of the <stdio.h> include which would be visible via <rtems.h>.
* Make rtems/print.h independent of rtems/bspIo.hSebastian Huber2016-06-222-0/+2
|
* Rename and move RTEMS_PRINTF_ATTRIBUTE()Sebastian Huber2016-06-221-1/+1
| | | | | Rename RTEMS_PRINTF_ATTRIBUTE() into RTEMS_PRINTFLIKE() (similar to <sys/cdefs.h> __printflike()) and move it to <rtems/score/basedefs.h>.
* shell: Add rtems_shell_wait_for_explicit_input()Alexander Krutwig2016-06-062-4/+40
|
* 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
|
* 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
|
* rtems: Fix semaphore field nameSebastian Huber2016-05-301-2/+2
|
* rtems: Move MrsP semaphore operationsSebastian Huber2016-05-301-1/+1
| | | | | Move MrsP semaphore operations to a less prominent location. Fix field name.
* score: Rework CORE inherit priority mutexSebastian Huber2016-05-301-22/+72
| | | | | Provide dedicated seize and surrender methods for inherit priority mutexes. This eliminates CORE_mutex_Attributes.
* score: Add CORE mutex variantsSebastian Huber2016-05-301-2/+3
| | | | | | | | 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.
* libmisc: Fix printk format warnings.Chris Johns2016-05-252-3/+3
|
* cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns2016-05-2516-227/+172
| | | | | | | | | | | | | | | | | | | 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.
* score: Rework _Thread_Restart_other()Sebastian Huber2016-05-201-1/+1
| | | | | | | | | 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.
* score: Add _Thread_Join() and _Thread_Cancel()Sebastian Huber2016-05-201-1/+0
| | | | | | | | 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.
* capture: Fix use of per-processor dataSebastian Huber2016-05-122-27/+31
| | | | | | Get the current processor index only once and with interrupts disabled. Close #2707.
* capture: Remove superfluous includesSebastian Huber2016-05-121-3/+0
|
* capture: Compact rtems_capture_record_tSebastian Huber2016-05-121-1/+1
| | | | | Order fields according to alignment to reduce structure internal padding.
* capture: Fix buffer allocation and freeSebastian Huber2016-05-122-11/+11
| | | | | | | Do not use function static variables. Remove superfluous volatile qualifiers. Use proper integer types. Close #2706.
* score: Avoid Giant lock _Scheduler_Set_affinity()Sebastian Huber2016-05-121-1/+0
| | | | Update #2555.
* score: Use thread state lock for current stateSebastian Huber2016-05-121-3/+10
| | | | | | | In addition protect scheduler of thread by thread state lock. Enables use of scheduler per-instance locks. Update #2555.
* score: Simplify _Objects_Get_next()Sebastian Huber2016-04-211-2/+1
| | | | Remove unused location parameter.
* shell: Fix warning visible with latest NewlibSebastian Huber2016-04-121-0/+2
| | | | Works also with previous Newlib versions.
* rtems: Delete Region_Control::page_sizeSebastian Huber2016-04-121-1/+1
|
* rtems: Delete Region_Control::lengthSebastian Huber2016-04-121-1/+1
|
* rtems: Delete Region_Control::starting_addressSebastian Huber2016-04-121-1/+1
|
* rtems: Delete Region_Control::number_of_used_blocksSebastian Huber2016-04-121-1/+2
| | | | Use Heap_Statistics::used_blocks instead.
* score: Delete Thread_Wait_information::idSebastian Huber2016-04-061-6/+26
| | | | | | | | | | | This field was only by the monitor in non-multiprocessing configurations. Add new field Thread_Wait_information::remote_id in multiprocessing configurations and use it for the remote procedure call thread queue. Add _Thread_Wait_get_id() to obtain the object identifier for debug and system information tools. Ensure the object layout via static asserts. Add test cases to sptests/spthreadq01.
* score: Use constant for maximum count of CORE semaSebastian Huber2016-03-291-5/+2
|
* shell/hexdump-odsyntax.c: Add define of _GNU_SOURCE to avoid warningsJoel Sherrill2016-03-241-0/+3
|
* shell/hexdump-conv.c: Disable sccsid to avoid unused warningJoel Sherrill2016-03-241-0/+2
|
* libmisc/shell/main_hexdump.c: Disable unused copyright stringJoel Sherrill2016-03-241-0/+2
|