summaryrefslogtreecommitdiffstats
path: root/spec/build (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bsps: Default to CPU counter benchmark timerSebastian Huber2022-01-1521-21/+21
| | | | | | Most BSPs which used the stubbed benachmark timer provide a CPU counter. All BSPs provide at least a stub CPU counter. Simply use the benchmark timer implementation using the CPU counter.
* bsp/imx7: dl06 fails expectedlySebastian Huber2022-01-142-0/+15
|
* aarch64: always boot into EL1NSGedare Bloom2022-01-125-28/+0
| | | | | | | | | | | Always start the executive in Exception Level 1, Non-Secure mode. If we boot in EL3 Secure with GICv3 then we have to initialize the distributor and redistributor to set up G1NS interrupts early in the boot sequence before stepping down from EL3S to EL1NS. Now there is no need to distinguish between secure and non-secure world execution after the primary core boots, so get rid of the AARCH64_IS_NONSECURE configuration option.
* build: Fix build item formatSebastian Huber2022-01-113-9/+6
|
* bsp/mrm332: Fix TLS support in linker command fileSebastian Huber2021-12-221-2/+0
|
* Remove powerpc/haleakala boardJoel Sherrill2021-12-176-136/+0
| | | | Closes #4302.
* bsps/arm: Add missing Cache Manager source fileSebastian Huber2021-12-132-0/+2
|
* spec: Update location of cadence I2CKinsey Moore2021-12-092-3/+7
| | | | | | When the cadence I2C code was moved to a shared directory, the references were updated but the install locations weren't. This updates the install locations to match what out-of-tree applications expect.
* build: Move test header to right library itemSebastian Huber2021-12-092-3/+5
|
* rtems: Move scheduler directives to own headerSebastian Huber2021-12-021-0/+1
| | | | | | Move all rtems_scheduler_* directives to the new header file <rtems/rtems/scheduler.h>. Add a Scheduler Manager API and implementation group.
* libc: Optimize malloc() initializationSebastian Huber2021-11-3011-1/+10
| | | | | | | | | | | | | | | | The BSPs provide memory for the separate C Program Heap initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the separate C Program Heap and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs. Change licence to BSD-2-Clause according to file history. Update #3053.
* score: Optimize Workspace Handler initializationSebastian Huber2021-11-3010-0/+10
| | | | | | | | | | | | The BSPs provide memory for the workspace initialization via _Memory_Get(). Most BSPs provide exactly one memory area. Only two BSPs provide more than one memory area (arm/altera-cyclone-v and bsps/powerpc/mpc55xxevb). Only if more than one memory area is provided, there is a need to use _Heap_Extend(). Provide two implementations to initialize the workspace handler and let the BSP select one of the implementations based on the number of provided memory areas. This gets rid of a dependency on _Heap_Extend(). It also avoids dead code sections for most BSPs.
* build: Use common objects item for get memorySebastian Huber2021-11-30117-84/+210
|
* score: Split wkspace.cSebastian Huber2021-11-301-0/+2
| | | | Splitting the file avoids unnecessary link-time dependencies.
* bsp_specs: Delete last remnants of these.Joel Sherrill2021-11-291-3/+0
| | | | Updates #3937.
* build: Remove trailing white spaceSebastian Huber2021-11-292-2/+2
|
* score: Move _Thread_queue_Extract()Sebastian Huber2021-11-231-0/+1
| | | | | | | Move _Thread_queue_Extract() since this function is not used by the core services (threads, semaphores, mutexes, message queues). Update #4546.
* score: Add _Thread_MP_Extract_proxy()Sebastian Huber2021-11-232-1/+1
| | | | | | | | Remove _Thread_queue_Extract_with_proxy() and move the proxy extraction to _Thread_MP_Extract_proxy(). Move similar code blocks of the previous caller of _Thread_queue_Extract_with_proxy() to helper functions. Update #4546.
* score: Add SMP scheduler make/clean stickySebastian Huber2021-11-231-0/+1
| | | | | | | | | | | | | | | | | | | | This patch fixes the following broken behaviour: While a thread is scheduled on a helping scheduler, while it does not own a MrsP semaphore, if it obtains a MrsP semaphore, then no scheduler node using an idle thread and the ceiling priority of the semaphore is unblocked for the home scheduler. This could lead to priority inversion issues and is not in line with the MrsP protocol. Introduce two new scheduler operations which are only enabled if RTEMS_SMP is defined. The operations are used to make the scheduler node of the home scheduler sticky and to clean the sticky property. This helps to keep the sticky handing out of the frequently used priority update operation. Close #4532.
* score: Add red-black tree append/prependSebastian Huber2021-11-231-0/+2
| | | | | | | These functions are a faster alternative to _RBTree_Insert_inline() if it is known that the new node is the maximum/minimum node. Update #4531.
* rtems: Add external functionsSebastian Huber2021-11-181-0/+2
| | | | | | These external functions rtems_scheduler_get_processor() and rtems_scheduler_get_processor_maximum() which may be used by bindings for languages other than C/C++.
* build: Optional __RTEMS_MAJOR__ via command lineSebastian Huber2021-11-161-1/+1
| | | | Update #4548.
* Revert "optvermaj.yml: Allow __RTEMS_MAJOR__ to be overridden so RTEMS 7 ↵Sebastian Huber2021-11-151-5/+3
| | | | | | tools can be tested" This reverts commit d1bbfbea5f60f552b2b3138bb1df35c3372f2461.
* score: Introduce CPU budget operationsSebastian Huber2021-11-151-1/+3
| | | | | | | | | | | | | | This patch set replaces the CPU budget algorithm enumeration with a set of CPU budget operations which implement a particular CPU budget algorithm. This helps to hide the CPU budget algorithm implementation details from the general thread handling. The CPU budget callouts are turned into CPU budget operations. This slightly reduces the size of the thread control block. All schedulers used the default scheduler tick implementation. The tick scheduler operation is removed and the CPU budget operations are directly used in _Watchdog_Tick() if the executing thread uses a CPU budget algorithm. This is performance improvement for all threads which do not use a CPU budget algorithm (default behaviour).
* optvermaj.yml: Allow __RTEMS_MAJOR__ to be overridden so RTEMS 7 tools can ↵Joel Sherrill2021-11-121-3/+5
| | | | be tested
* cpukit/aarch64: Add libdebugger supportKinsey Moore2021-11-013-0/+18
| | | | | | This adds support for libdebugger under AArch64 using software breakpoints and the single-step execution mode present in all AArch64 CPUs.
* aarch64: Break out MMU definitionsKinsey Moore2021-11-015-0/+5
| | | | | | This moves the AArch64 MMU memory type definitions into cpukit for use by libdebugger since remapping of memory is required to insert software breakpoints.
* testsuite: Add machine exception signal map testKinsey Moore2021-10-292-0/+24
| | | | | Add a test to verify that mapping of machine exceptions to POSIX signals operates properly when the application requests it.
* cpukit: Add signal mapping supportKinsey Moore2021-10-292-0/+18
| | | | | | This adds a confdef option allowing an application to request mapping machine exceptions to POSIX signals. This is required for some languages such as Ada.
* testsuite: Add machine exception resume testKinsey Moore2021-10-292-0/+22
| | | | | Add a test to verify that intercepted exceptions can be resolved and execution can be resumed.
* cpukit/aarch64: Add exception extensions supportKinsey Moore2021-10-291-0/+1
| | | | | This adds the function implementations necessary to add exception extensions support to AArch64.
* cpukit: Add exception extensionsKinsey Moore2021-10-292-0/+20
| | | | | | | | This adds the set of functions necessary to allow more generic handling of machine exceptions. This initial patch offers the ability to manipulate a CPU_Exception_frame and resume execution using that exception information with or without thread dispatch. These functions are gated behind the RTEMS_EXCEPTION_EXTENSIONS configuration option.
* rtems: Fix rate monotonic statisticsSebastian Huber2021-10-251-0/+1
| | | | | | | | | | | | | | | The rate monotonic period statistics were affected by rtems_cpu_usage_reset(). The logic to detect and work around a CPU usage reset was broken. The Thread_Contol::cpu_time_used is changed to contain the processor time used throughout the entire lifetime of the thread. The new member Thread_Contol::cpu_time_used_at_last_reset is added to contain the processor time used at the time of the last reset through rtems_cpu_usage_reset(). This decouples the resets of the CPU usage and the rate monotonic period statistics. Update #4528.
* spec/libdebugger: Only enable for supported architecturesChris Johns2021-10-224-4/+20
| | | | Closes #4533
* spec/aarch64: Enable previously unbuildable testsKinsey Moore2021-10-206-23/+0
| | | | | | | The spconfig01 and spmisc01 tests were disabled for all AArch64 BSPs due to a toolchain issue preventing them from compiling correctly. The binutils version that contains the fix has been released and integrated into RSB such that these two tests now build and operate correctly.
* microblaze: Rework for RTEMS 6Alex White2021-10-1316-0/+553
| | | | | This reworks the existing MicroBlaze architecture port and BSP to achieve basic functionality using the latest RTEMS APIs.
* Add support for IDLE Thread stack allocatorJoel Sherrill2021-10-114-0/+43
| | | | | | | | Add a stack allocator hook specifically for allocation of IDLE thread stacks. This allows the user to decide if IDLE thread stacks are statically allocated or handled by the same custom allocator mechanism as other thread stacks. Closes #4524.
* cpukit: Add AArch64 SMP SupportKinsey Moore2021-09-214-0/+24
| | | | This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
* bsps/gicv2: Allow BSPs to define IRQ attributesKinsey Moore2021-09-217-0/+7
| | | | | | | ARM's GICv2 is configurable and its attributes vary between implementations including omission of specific interrupts. This allows BSPs to accomodate those varying implementations with customized attribute sets.
* arm/lpc24xx: Use common test definition fileSebastian Huber2021-09-214-68/+2
|
* score: Remove unused default scheduler opsSebastian Huber2021-09-211-1/+0
| | | | | | | | | | If SMP support is enabled and the system has exactly one processor, then it may use an uniprocessor scheduler. The ask for help, reconsider help request, and withdraw node operations can be NULL in this case, since they are only used if a thread has at least one helping scheduler node. At least two schedulers are required to get a helping node and each scheduler involved must own at least one processor. This is not possible on a system with exactly one processor.
* score: Provide two thread pin/unpin defaultsSebastian Huber2021-09-211-0/+1
| | | | | | | | | | | | | | The uniprocessor schedulers do not support systems with more than more processors. So they rivially support thread pinning and thus the SMP_FATAL_SCHEDULER_PIN_OR_UNPIN_NOT_SUPPORTED cannot happen. Add a second default implementation for SMP schedulers which do not support thread pinning. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* testsuites: Wrap putcharAlex White2021-09-1612-0/+12
| | | | The linker flag to wrap putchar was lost in translation from make to waf.
* build: Remove invalid attributesSebastian Huber2021-09-142-2/+0
|
* bsps/arm: Fix ABI flags for Cortex-M4Sebastian Huber2021-09-142-3/+5
| | | | Close #4504.
* bsps/zynqmp: Added I2C support for ZynqMPStephen Clark2021-09-095-0/+87
| | | | Added I2C drivers for ZynqMP and updated build system accordingly.
* bsps/zynq: Moved general i2c files to shared directoriesStephen Clark2021-09-091-3/+3
| | | | | Certain files related to the Zynq BSP's I2C driver are useable by the ZynqMP BSP as well. Moved these files to shared directory in anticipation of I2C support for ZynqMP.
* score: Split up rbtreenext.cSebastian Huber2021-09-061-0/+3
| | | | | | | | | | Split up rbtreenext.c since only _RBTree_Minimum() is used by the operating system core services (thread queues and the EDF scheduler). Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* score: Add _TOD_Is_valid_new_time_of_day()Sebastian Huber2021-09-061-0/+1
| | | | | | Move the TOD validation to the callers of _TOD_Set(). This avoids dead code in case only rtems_clock_set() is used in an application because rtems_clock_set() always calls _TOD_Set() with a valid time of day.
* score: Remove TOD_TICKS_PER_SECOND_method()Sebastian Huber2021-09-061-1/+0
| | | | Use _Watchdog_Ticks_per_second instead.