summaryrefslogtreecommitdiffstats
path: root/cpukit/score (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sysinit: Add RTEMS_SYSINIT_ZERO_MEMORYSebastian Huber2020-02-063-6/+71
| | | | | | | | Use a dedicate system initialization step to zero the memory used for the workspace and C program heap. This avoids dead code in case CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY is not configured.
* bsps: Rework work area initializationSebastian Huber2020-02-042-101/+64
| | | | | | | | | | | | | | | | | | | | The work area initialization was done by the BSP through bsp_work_area_initialize(). This approach predated the system initialization through the system initialization linker set. The workspace and C program heap were unconditionally initialized. The aim is to support RTEMS application configurations which do not need the workspace and C program heap. In these configurations, the workspace and C prgram heap should not get initialized. Change all bsp_work_area_initialize() to implement _Memory_Get() instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and malloc() heap initialization into separate system initialization steps. This makes it also easier to test the individual initialization steps. This change adds a dependency to _Heap_Extend() to all BSPs. This dependency will be removed in a follow up change. Update #3838.
* score: Add _Memory_Fill()Sebastian Huber2020-02-041-0/+48
| | | | Update #3838.
* score: Add Memory HandlerSebastian Huber2020-02-041-0/+67
| | | | Update #3838.
* score: Optimize per-processor data placementSebastian Huber2020-02-011-1/+8
| | | | Only align per-processor data in SMP configurations.
* mpci: Fix blocking proxy statusSebastian Huber2020-01-021-1/+1
| | | | | Remove THREAD_STATUS_PROXY_BLOCKING and replace it with STATUS_PROXY_BLOCKING.
* score: Fix objects node initializationSebastian Huber2020-01-021-0/+1
| | | | | | | The objects node is statically initialized to one. Clear the node field before it is set. Update #3621.
* score: Remove _Workspace_Allocate_or_fatal_error()Sebastian Huber2019-12-131-23/+0
| | | | | | This function is unused. Update #3735.
* config: Statically allocate MP object controlsSebastian Huber2019-12-132-5/+5
| | | | Update #3735.
* config: Statically allocate MP thread proxiesSebastian Huber2019-12-132-5/+4
| | | | Update #3735.
* config: Add _MPCI_ConfigurationSebastian Huber2019-12-134-27/+38
| | | | | | | Replace the user MPCI configuration table with a system provided _MPCI_Configuration. Update #3735.
* Add TOD Hooks to allow BSP to take action when TOD is setJoel Sherrill2019-12-115-1/+248
| | | | | | | | | | | | Two use cases were envisioned for this. 1) a BSP or application which desires to update a real-time clock when the RTEMS TOD is set. 2) a paravirtualized BSP can use this to propagate setting the time in an RTEMS application to the hosting environment. This enables the entire set of applications in the virtualized environments to have a single consistent TOD.
* userext: Simplify configurationSebastian Huber2019-12-092-18/+10
| | | | | Avoid the use of the workspace and use statically allocated switch controls for the initial extensions.
* Regenerate headers.amSebastian Huber2019-11-291-0/+1
|
* riscv: preliminarily support for libdlHesham Almatary2019-11-121-0/+144
| | | | Support for targets compiled with -fno-pic and -mno-relax
* heap: Simplify _Heap_Block_allocate()Sebastian Huber2019-11-051-24/+24
| | | | Determine the next block only once and use it throughout.
* rtems-5: Improve heap fatal error informationsebastian.huber2019-11-053-8/+18
| | | | Update #3806.
* arm: Add defines for small pages MMUSebastian Huber2019-10-311-0/+57
|
* score: Install timecounter according to qualitySebastian Huber2019-10-021-0/+2
| | | | | | This makes it possible to install higher quality timecounter in plug-and-play systems and helps to override the clock driver provided timecounter in some test scenarios.
* score: Remove strange timecounter init stepSebastian Huber2019-10-021-1/+1
| | | | | The double call of the timecounter get method was added to FreeBSD in 2002 without a comment. It is not clear why this is needed.
* score: Remove superfluous timecounter membersSebastian Huber2019-10-021-3/+7
|
* arm: Fix default exception handlerSebastian Huber2019-09-031-2/+2
| | | | Keep the stack pointer properly 8-byte aligned.
* arm: Return the current handler from arm_cp15_set_exception_handlerChris Johns2019-06-281-1/+6
| | | | Closes #3762
* sparc: Fix mistakenly cleared PSR[EF] bit.Maksim E. Kozlov2019-06-071-1/+1
| | | | | The superfluously modified %l0 had no effect if the branch is not taken. This change clarifies the code.
* sparc: Fix missed restoring of PSR in syscall_lazy_fp_switchMaksim E. Kozlov2019-06-061-0/+11
| | | | | | | | | It is needed to restore PSR just before return because condition codes are dirty after the CMP instructions and this may cause undefined program behavior after returning from the switching procedure (on following branch instruction, for example). Close #3756.
* sparc: Improve _CPU_Context_validate()Sebastian Huber2019-06-061-8/+20
| | | | | | Use the FPU and check that the condition codes in the PSR are preserved. Update #3756.
* score: Add _SMP_Unicast_action()Sebastian Huber2019-05-201-0/+51
|
* score: Add _Per_CPU_Wait_for_job()Sebastian Huber2019-05-201-27/+34
|
* score: Add _SMP_Synchronize()Sebastian Huber2019-05-201-0/+10
|
* score: Remove unused SMP_MESSAGE_TESTSebastian Huber2019-05-201-2/+0
| | | | All uses were replaced by per-processor jobs.
* score: Modify _Per_CPU_Perform_jobs()Sebastian Huber2019-05-201-5/+7
| | | | | | | | Process only the jobs initially registered on the processing list. This makes it possible to add jobs for the current processor in a job handler. These jobs are processed with the next SMP_MESSAGE_PERFORM_JOBS message. The lock is only acquired and released once.
* score: Add _Per_CPU_Add_job()Sebastian Huber2019-05-201-16/+21
|
* score: Move per-processor job data structuresSebastian Huber2019-05-201-69/+18
| | | | | This enables re-use for other purposes, e.g. replacement for SMP_MESSAGE_TEST.
* score: Simplify _SMP_Multicast_action()Sebastian Huber2019-05-201-20/+5
| | | | | | Move resposibility to disable thread dispatching to the caller of _SMP_Multicast_action(). Using an interrupt disable for this purpose is questionable.
* score: Add _SMP_Othercast_action()Sebastian Huber2019-05-201-0/+12
|
* score: Add _SMP_Broadcast_action()Sebastian Huber2019-05-201-4/+8
|
* score: Use dedicated lock for per-CPU jobsSebastian Huber2019-05-201-12/+12
|
* score: Fix per-CPU job done handlingSebastian Huber2019-05-151-4/+14
|
* score: More robust _SMP_Multicast_action()Sebastian Huber2019-04-121-2/+12
| | | | | | If the caller already disabled interrupts, then do not disable thread dispatching. Calling _SMP_Multicast_action() with interrupts disabled is a questionable use case.
* score: Remove _SMP_Before_multitasking_action()Sebastian Huber2019-04-122-96/+0
| | | | Use _SMP_Multicast_action() instead.
* score: Improve _SMP_Multicast_action()Sebastian Huber2019-04-122-7/+22
| | | | Let it work during system initialization.
* score: Rework SMP multicast actionSebastian Huber2019-04-122-76/+174
| | | | | Use a FIFO list of jobs per processor to carry out the SMP multicast action. Use a done indicator per job to reduce the bus traffic a bit.
* score: Use processor mask in _SMP_Multicast_actionSebastian Huber2019-04-121-17/+7
| | | | Processor_mask is the internal data type to deal with processor sets.
* score: Use an ISR lock for Per_CPU_Control::LockSebastian Huber2019-04-125-22/+23
| | | | | | The use of a hand crafted lock for Per_CPU_Control::Lock was necessary at some point in the SMP support development, but it is no longer justified.
* score: Add _ISR_lock_Set_name()Sebastian Huber2019-04-121-2/+3
| | | | | Add _ISR_lock_Set_name() to optimize the initialization of zero-initialized locks.
* score: Rename _SMP_Get_processor_count()Sebastian Huber2019-04-115-29/+39
| | | | | | | 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.
* Remove superfluous run-time checkSebastian Huber2019-04-091-4/+1
| | | | | The _Objects_Information_table[ the_api ] is never NULL for a valid API index.
* doxygen: Rename Score* groups in RTEMSScore*Sebastian Huber2019-04-04157-157/+157
| | | | Update #3706
* doxygen: Added Management to Example CPU ArchitectureAndreas Dachsberger2019-04-041-0/+8
| | | | Update #3706.