summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-04-11score: Rename _SMP_Get_processor_count()Sebastian Huber2-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.
2019-04-11score: Rename _SMP_Processor_countSebastian Huber1-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.
2019-04-09score: Add RTEMS_CONSTSebastian Huber1-0/+11
Close #3734.
2019-04-05doxygen: Update _Objects_Build_name()Sebastian Huber1-8/+6
This is intended as an example in the RTEMS Software Engineering manual. Update #3704.
2019-04-04doxygen: Rename Score* groups in RTEMSScore*Sebastian Huber94-198/+198
Update #3706
2019-04-04doxygen: Rework some Doxygen commentsSebastian Huber2-12/+9
They are intended as examples in the RTEMS Software Engineering manual. Update #3704.
2019-04-02doxygen: score: Added ScoreRWLock to Score groupAndreas Dachsberger1-5/+9
Update #3706.
2019-04-02doxygen: Reviewed cpukit/include/rtems/scoreAndreas Dachsberger6-35/+25
Update #3706.
2019-03-26score: Rename ScoreCPU Doxygen groupSebastian Huber1-1/+1
Update #3706.
2019-03-26score: Add implementation top-level groupSebastian Huber1-0/+2
Update #3706.
2019-03-22score: Update Objects_Information documentationSebastian Huber1-36/+115
2019-03-14Remove superfluous <rtems/system.h> includesSebastian Huber1-4/+1
2019-02-28Remove explicit file names from @fileSebastian Huber29-29/+29
This makes the @file documentation independent of the actual file name. Update #3707.
2019-02-18score: Avoid some deadlocks in _Once()Sebastian Huber1-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.
2019-02-08score: Fix _User_extensions_Thread_switch() (SMP)Sebastian Huber1-3/+11
We have to read the first node again once we obtained the lock since it may have aready changed.
2019-01-29Add low level event recording supportSebastian Huber1-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.
2019-01-18score: Remove unused _ISR_lock_Flash()Sebastian Huber1-31/+0
2019-01-18score: Improve debug support for ISR locksSebastian Huber1-13/+19
Ensure that interrupts are disabled while acquiring an ISR lock.
2019-01-18score: Simplify _Addresses_Is_aligned()Sebastian Huber1-6/+2
The CPU_ALIGNMENT must not be zero, this is also checked via a static assertion. Fix formatting.
2019-01-07score: Remove superfluous include from chainimpl.hSebastian Huber1-1/+0
2018-12-18score: Fix per-CPU data allocationSebastian Huber1-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.
2018-12-14score: Static Objects_Information initializationSebastian Huber8-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.
2018-12-14score: Remove Objects_Information::auto_extendSebastian Huber1-4/+23
Use Objects_Information::objects_per_block to provide this information. Add and use _Objects_Is_auto_extend(). Update #3621.
2018-12-07score: Remove Objects_Information::the_apiSebastian Huber1-4/+0
Remove Objects_Information::the_class. This information is already contained in Objects_Information::maximum_id. Update #3621.
2018-12-07score: Remove Objects_Information::maximumSebastian Huber1-3/+15
This information is already present in Objects_Information::maximum_id. Add and use _Objects_Get_maximum_index(). Update #3621.
2018-12-07score: Optimize object lookupSebastian Huber1-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.
2018-12-07score: Rename Objects_Information::allocation_sizeSebastian Huber1-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.
2018-12-07score: Rename Objects_Information::sizeSebastian Huber1-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.
2018-12-07score: Remove Objects_Information::is_stringSebastian Huber1-11/+22
Use Objects_Information::name_length to store this information. Update #3621.
2018-12-07score: Avoid sbintime_t in API headersSebastian Huber5-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.
2018-12-06score: Use __typeof__ for strict ISO C compatSebastian Huber1-3/+3
Enable the use of RTEMS_DEVOLATILE() and RTEMS_DECONST() in strict ISO C environments.
2018-11-26score: <rtems/score/smplockstats.h>Sebastian Huber1-17/+17
Remove <rtems/score/chainimpl.h> include from <rtems/score/smplockstats.h>. Close #3598.
2018-11-26score: Introduce <rtems/score/heapinfo.h>Sebastian Huber2-118/+159
Move Heap_Information_block to separate header file to hide heap implementation details from <rtems.h>. Update #3598.
2018-11-21score: Remove support for RTEMS_USE_16_BIT_OBJECTSebastian Huber1-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.
2018-11-12score: Add and use malloc() family attributesSebastian Huber1-0/+50
Update #3583.
2018-11-12score: Deprecate proc_ptrSebastian Huber1-1/+1
Update #3585.
2018-11-12score: Move internal structures to userextdata.hSebastian Huber3-24/+64
Update #3598.
2018-11-12score: Includes in <rtems/score/smplockstats.h>Sebastian Huber1-0/+2
Include implementation header files only if necessary. Update #3598.
2018-11-12score: Move internal structures to objectdata.hSebastian Huber4-60/+100
Update #3598.
2018-11-12score: Avoid complex include in heap.hSebastian Huber1-2/+3
Update #3598.
2018-11-12score: Introduce <rtems/score/watchdogticks.h>Sebastian Huber5-38/+81
Separate the definitions related to watchdog ticks from the watchdog structures. Update #3598.
2018-11-12score: Avoid include of <rtems/score/thread.h>Sebastian Huber2-15/+17
Update #3598.
2018-11-12score: Remove empty <rtems/score/tod.h>Sebastian Huber2-33/+0
Update #3598.
2018-11-08small typoMalte Münch1-1/+1
2018-11-08score: Use RTEMS_DEPRECATED for deprecated typesSebastian Huber1-3/+3
Update #3584.
2018-11-08score: Remove _ISR_Dispatch()Sebastian Huber1-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.
2018-11-08score: Rename interrupt stack symbolsSebastian Huber1-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.
2018-11-06score: Optimize Objects_InformationSebastian Huber1-14/+14
Reduce structure internal padding. Group members used by _Objects_Get() together. Reduce size of some members. Format and simplify _Objects_Extend_information().
2018-10-29posix: Provide threads by defaultSebastian Huber1-8/+2
Update #2514.
2018-10-29posix: Provide message queues by defaultSebastian Huber1-15/+11
Update #2514.