summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Rename _SMP_Get_processor_count()Sebastian Huber2019-04-112-4/+4
| | | | | | | Rename _SMP_Get_processor_count() in _SMP_Get_processor_maximum() to be in line with the API level rtems_scheduler_get_processor_maximum(). Update #3732.
* score: Rename _SMP_Processor_countSebastian Huber2019-04-111-2/+2
| | | | | | | Rename _SMP_Processor_count in _SMP_Processor_maximum to be in line with the API level rtems_scheduler_get_processor_maximum(). Update #3732.
* score: Add RTEMS_CONSTSebastian Huber2019-04-091-0/+11
| | | | Close #3734.
* doxygen: Update _Objects_Build_name()Sebastian Huber2019-04-051-8/+6
| | | | | | This is intended as an example in the RTEMS Software Engineering manual. Update #3704.
* doxygen: Rename Score* groups in RTEMSScore*Sebastian Huber2019-04-0494-198/+198
| | | | Update #3706
* doxygen: Rework some Doxygen commentsSebastian Huber2019-04-042-12/+9
| | | | | | They are intended as examples in the RTEMS Software Engineering manual. Update #3704.
* doxygen: score: Added ScoreRWLock to Score groupAndreas Dachsberger2019-04-021-5/+9
| | | | Update #3706.
* doxygen: Reviewed cpukit/include/rtems/scoreAndreas Dachsberger2019-04-026-35/+25
| | | | Update #3706.
* score: Rename ScoreCPU Doxygen groupSebastian Huber2019-03-261-1/+1
| | | | Update #3706.
* score: Add implementation top-level groupSebastian Huber2019-03-261-0/+2
| | | | Update #3706.
* score: Update Objects_Information documentationSebastian Huber2019-03-221-36/+115
|
* Remove superfluous <rtems/system.h> includesSebastian Huber2019-03-141-4/+1
|
* Remove explicit file names from @fileSebastian Huber2019-02-2829-29/+29
| | | | | | This makes the @file documentation independent of the actual file name. Update #3707.
* score: Avoid some deadlocks in _Once()Sebastian Huber2019-02-181-4/+6
| | | | | | | | Recursive usage of the same pthread_once_t results now in a deadlock. Previously, an error of EINVAL was returned. This usage scenario is invalid according to the POSIX pthread_once() specification. Close #3334.
* score: Fix _User_extensions_Thread_switch() (SMP)Sebastian Huber2019-02-081-3/+11
| | | | | We have to read the first node again once we obtained the lock since it may have aready changed.
* Add low level event recording supportSebastian Huber2019-01-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add low level event recording infrastructure for system and user defined events. The infrastructure is able to record high frequency events such as * SMP lock acquire/release, * interrupt entry/exit, * thread switches, * UMA zone allocate/free, and * Ethernet packet input/output, etc. It allows post-mortem analysis in fatal error handlers, e.g. the last events are in the record buffer, the newest event overwrites the oldest event. It is possible to detect record buffer overflows for consumers that expect a continuous stream of events, e.g. to display the system state in real-time. The implementation supports high-end SMP machines (more than 1GHz processor frequency, more than four processors). Add a new API instead. The implementation uses per-processor data structures and no atomic read-modify-write operations. It is uses per-processor ring buffers to record the events. The CPU counter is used to get the time of events. It is combined with periodic uptime events to synchronize it with CLOCK_REALTIME. The existing capture engine tries to solve this problem also, but its performance is not good enough for high-end production systems. The main issues are the variable-size buffers and the use of SMP locks for synchronization. To fix this, the API would change significantly. Update #3665.
* score: Remove unused _ISR_lock_Flash()Sebastian Huber2019-01-181-31/+0
|
* score: Improve debug support for ISR locksSebastian Huber2019-01-181-13/+19
| | | | Ensure that interrupts are disabled while acquiring an ISR lock.
* score: Simplify _Addresses_Is_aligned()Sebastian Huber2019-01-181-6/+2
| | | | | The CPU_ALIGNMENT must not be zero, this is also checked via a static assertion. Fix formatting.
* score: Remove superfluous include from chainimpl.hSebastian Huber2019-01-071-1/+0
|
* score: Fix per-CPU data allocationSebastian Huber2018-12-181-1/+2
| | | | | | | | | | | Allocate the per-CPU data for secondary processors directly from the heap areas before heap initialization and not via _Workspace_Allocate_aligned(). This avoids dependency on the workspace allocator. It fixes also a problem on some platforms (e.g. QorIQ) where at this early point in the system initialization the top of the RAM is used by low-level startup code on secondary processors (boot pages). Update #3507.
* score: Static Objects_Information initializationSebastian Huber2018-12-148-239/+322
| | | | | | | | | | | Statically allocate the objects information together with the initial set of objects either via <rtems/confdefs.h>. Provide default object informations with zero objects via librtemscpu.a. This greatly simplifies the workspace size estimate. RTEMS applications which do not use the unlimited objects option are easier to debug since all objects reside now in statically allocated objects of the right types. Close #3621.
* score: Remove Objects_Information::auto_extendSebastian Huber2018-12-141-4/+23
| | | | | | | Use Objects_Information::objects_per_block to provide this information. Add and use _Objects_Is_auto_extend(). Update #3621.
* score: Remove Objects_Information::the_apiSebastian Huber2018-12-071-4/+0
| | | | | | | Remove Objects_Information::the_class. This information is already contained in Objects_Information::maximum_id. Update #3621.
* score: Remove Objects_Information::maximumSebastian Huber2018-12-071-3/+15
| | | | | | | This information is already present in Objects_Information::maximum_id. Add and use _Objects_Get_maximum_index(). Update #3621.
* score: Optimize object lookupSebastian Huber2018-12-071-3/+23
| | | | | | | | | | | | | | | | Use the maximum ID for the ID to object translation. Using the maximum ID gets rid of an additional load from the object information in _Objects_Get(). In addition, object lookups fail for every ID in case the object information is cleared to zero. This makes it a bit more robust during system startup (see new tests in spconfig02). The local table no longer needs a NULL pointer entry at array index zero. Adjust all the object iteration loops accordingly. Remove Objects_Information::minimum_id since it contains only redundant information. Add _Objects_Get_minimum_id() to get the minimum ID. Update #3621.
* score: Rename Objects_Information::allocation_sizeSebastian Huber2018-12-071-2/+2
| | | | | | | | Rename Objects_Information::allocation_size in Objects_Information::objects_per_block. Adjust integer types in _Objects_Shrink_information() and _Objects_Free(). Update #3621.
* score: Rename Objects_Information::sizeSebastian Huber2018-12-071-8/+8
| | | | | | | | Rename Objects_Information::size to Objects_Information::object_size. Change its type from size_t to uint16_t and move it to reduce the size of Objects_Information. Update #3621.
* score: Remove Objects_Information::is_stringSebastian Huber2018-12-071-11/+22
| | | | | | Use Objects_Information::name_length to store this information. Update #3621.
* score: Avoid sbintime_t in API headersSebastian Huber2018-12-075-267/+306
| | | | | | | | | | The sbintime_t is a non-POSIX type and not visible if strict standard options are selected. Move implementation details from <rtems/score/timestamp.h> to <rtems/score/timestampimpl.h>. Update #3598.
* score: Use __typeof__ for strict ISO C compatSebastian Huber2018-12-061-3/+3
| | | | | Enable the use of RTEMS_DEVOLATILE() and RTEMS_DECONST() in strict ISO C environments.
* score: <rtems/score/smplockstats.h>Sebastian Huber2018-11-261-17/+17
| | | | | | | Remove <rtems/score/chainimpl.h> include from <rtems/score/smplockstats.h>. Close #3598.
* score: Introduce <rtems/score/heapinfo.h>Sebastian Huber2018-11-262-118/+159
| | | | | | | Move Heap_Information_block to separate header file to hide heap implementation details from <rtems.h>. Update #3598.
* score: Remove support for RTEMS_USE_16_BIT_OBJECTSebastian Huber2018-11-211-49/+2
| | | | | | | | | The RTEMS_USE_16_BIT_OBJECT define is not set by an RTEMS port. Remove support for 16-bit object identifiers. If someone really wants to use RTEMS on a 16-bit target, then it is better to use self-contained objects instead of playing around with object identifier optimizations. Update #3603.
* score: Add and use malloc() family attributesSebastian Huber2018-11-121-0/+50
| | | | Update #3583.
* score: Deprecate proc_ptrSebastian Huber2018-11-121-1/+1
| | | | Update #3585.
* score: Move internal structures to userextdata.hSebastian Huber2018-11-123-24/+64
| | | | Update #3598.
* score: Includes in <rtems/score/smplockstats.h>Sebastian Huber2018-11-121-0/+2
| | | | | | Include implementation header files only if necessary. Update #3598.
* score: Move internal structures to objectdata.hSebastian Huber2018-11-124-60/+100
| | | | Update #3598.
* score: Avoid complex include in heap.hSebastian Huber2018-11-121-2/+3
| | | | Update #3598.
* score: Introduce <rtems/score/watchdogticks.h>Sebastian Huber2018-11-125-38/+81
| | | | | | | Separate the definitions related to watchdog ticks from the watchdog structures. Update #3598.
* score: Avoid include of <rtems/score/thread.h>Sebastian Huber2018-11-122-15/+17
| | | | Update #3598.
* score: Remove empty <rtems/score/tod.h>Sebastian Huber2018-11-122-33/+0
| | | | Update #3598.
* small typoMalte Münch2018-11-081-1/+1
|
* score: Use RTEMS_DEPRECATED for deprecated typesSebastian Huber2018-11-081-3/+3
| | | | Update #3584.
* score: Remove _ISR_Dispatch()Sebastian Huber2018-11-081-15/+0
| | | | | | | | This function was only used on some m68k variants. On these m68k variants there is no need to use a global symbol. Use a local label instead. Remove _ISR_Dispatch() from the architecture-independent layer.
* score: Rename interrupt stack symbolsSebastian Huber2018-11-081-0/+26
| | | | | | | | | | | | | Rename * _Configuration_Interrupt_stack_area_begin in _ISR_Stack_area_begin, * _Configuration_Interrupt_stack_area_end in _ISR_Stack_area_end, and * _Configuration_Interrupt_stack_size in _ISR_Stack_size. Move definitions to <rtems/score/isr.h>. The new names are considerable shorter and in the right namespace. Update #3459.
* score: Optimize Objects_InformationSebastian Huber2018-11-061-14/+14
| | | | | | | Reduce structure internal padding. Group members used by _Objects_Get() together. Reduce size of some members. Format and simplify _Objects_Extend_information().
* posix: Provide threads by defaultSebastian Huber2018-10-291-8/+2
| | | | Update #2514.
* posix: Provide message queues by defaultSebastian Huber2018-10-291-15/+11
| | | | Update #2514.