summaryrefslogtreecommitdiff
path: root/cpukit/Makefile.am (follow)
AgeCommit message (Collapse)Author
2020-04-05Revert "score: Fix _ISR_Stack_area_end"Sebastian Huber
This reverts commit 8e80876bdd54e36fb668eee655eec1dd588daf13 which broke several architectures.
2020-04-03score: Fix _ISR_Stack_area_endSebastian Huber
The _ISR_Stack_area_begin and _ISR_Stack_area_end symbols are in different sections. They must have the same alignment, otherwise the following linker directive could separate them: *(SORT_BY_ALIGNMENT (SORT_BY_NAME (.rtemsstack*))) Update #3799.
2020-03-18record: Add rtems_record_dump()Sebastian Huber
Add rtems_record_dump_base64() and rtems_record_dump_base64_zlib(). Add CONFIGURE_RECORD_FATAL_DUMP_BASE64 and CONFIGURE_RECORD_FATAL_DUMP_BASE64_ZLIB configuration options. Update #3904.
2020-03-16rtems: Add rtems_put_char()Sebastian Huber
Update #3904.
2020-03-16score: Add _IO_Base64()Sebastian Huber
Update #3904.
2020-03-09imfs: Replace devfs with an IMFS specializationSebastian Huber
Add a simplified path evaluation function IMFS_eval_path_devfs() for a device only IMFS configuration. The code size can be further reduced by the application if it disables the support for legacy IO drivers via: #define CONFIGURE_IMFS_DISABLE_MKNOD #define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE Obsolete CONFIGURE_MAXIMUM_DEVICES. Remove BSP_MAXIMUM_DEVICES. Update #3894. Update #3898.
2020-03-04imfs: Add IMFS_add_node()Sebastian Huber
Update #3894.
2020-03-04rtems: rtems_scheduler_get_processor_maximum()Sebastian Huber
In uniprocessor configurations, use compile-time constants for rtems_scheduler_get_processor_maximum() and rtems_scheduler_get_processor(). This helps compilers and static analyzers to deduce that some loop bodies are only executed once and some conditional statements have a fixed outcome (may improve code generation and reduce false positives). In SMP configurations, directly provide the internal implementation for performance reasons.
2020-03-03rtems: Add rtems_scheduler_map_priority_from_posix()Sebastian Huber
Update #3881.
2020-03-03rtems: Add rtems_scheduler_map_priority_to_posix()Sebastian Huber
Update #3881.
2020-02-26config: Initialize IO drivers on demandSebastian Huber
2020-02-25config: Add <rtems/confdefs/malloc.h>Sebastian Huber
Remove all comments and copyrightable content from the moved content. Use BSD-2-Clause license for new file. Move the default configuration to library files so that application configurations do not include the definitions for the default case. Update #3053. Update #3875.
2020-02-25config: Add _Workspace_Is_unifiedSebastian Huber
Move the unified workspace configuration constant out of the configuration table. Provide a default definition of the unified workspace constant. Update #3875.
2020-02-25config: Add _Thread_Idle_bodySebastian Huber
Move the idle thread body configuration constant out of the configuration table. Provide a default definition of the idle thread body constant. Update #3875.
2020-02-25config: Add _Watchdog_Ticks_per_timesliceSebastian Huber
Move the ticks per timeslice configuration constant out of the configuration table. Add WATCHDOG_TICKS_PER_TIMESLICE_DEFAULT and use it to provide a default definition of the watchdog ticks per timeslice constant. Update #3875.
2020-02-25config: Simplify initialization task configSebastian Huber
With the removal of the CONFIGURE_HAS_OWN_INIT_TASK_TABLE configuration option at most one Classic API user initialization task can be configured. Provide an RTEMS API configuration table for backward compatibility. Update #3873.
2020-02-12score: Simplify _Thread_Initialize()Sebastian Huber
Allocate new thread queue heads during objects information extend. This removes an error case and the last dependency on the workspace in _Thread_Initialize(). Update #3835.
2020-02-12score: Split up objects freeSebastian Huber
Split up the different objects free methods into separate functions. This helps to avoid a dependency on the workspace in case no objects or a static set of objects is configured. Update #3835.
2020-02-12score: Split up objects allocationSebastian Huber
Split up the different objects allocation methods into separate functions. This helps to avoid a dependency on the workspace in case no objects or a static set of objects is configured. Change license to BSD-2-Clause according to file histories. Update #3053. Update #3835.
2020-02-12score: Split stack allocator configurationSebastian Huber
This allows the linker garbage collection to perform its work. Update #3835.
2020-02-12score: Simplify TLS area allocationSebastian Huber
Use the stack area to allocate the TLS area. Update #3835.
2020-02-06config: Add CONFIGURE_DIRTY_MEMORYSebastian Huber
Replace the BSP_DIRTY_MEMORY BSP option with a CONFIGURE_DIRTY_MEMORY configuration option. Update #3843.
2020-02-06sysinit: Add RTEMS_SYSINIT_ZERO_MEMORYSebastian Huber
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.
2020-02-04config: Add CONFIGURE_VERBOSE_SYSTEM_INITIALIZATIONSebastian Huber
Update #3861.
2020-02-04score: Add _Memory_Fill()Sebastian Huber
Update #3838.
2020-02-04score: Add Memory HandlerSebastian Huber
Update #3838.
2019-12-20libtest: Add T_check_task_context() actionSebastian Huber
2019-12-13config: Add _MPCI_ConfigurationSebastian Huber
Replace the user MPCI configuration table with a system provided _MPCI_Configuration. Update #3735.
2019-12-11Add TOD Hooks to allow BSP to take action when TOD is setJoel Sherrill
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.
2019-11-19imfs: Add IMFS_make_linfile()Sebastian Huber
Update #3818.
2019-10-08termios: Add Capability to Generate SIGINTR and SIGQUITJoel Sherrill
This patch adds the ability for termios to send SIGINTR on receipt of VINTR and SIGQUIT for VKILL and return -1/EINTR from read() on a termios channel. Importantly, this patch does not alter the default behavior or force POSIX signal code in just because termios is used. The application must explicitly enable the POSIX behavior of generating a signal upon receipt of these characters. This is discussed in the POSIX standard: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap11.html Closes #3800.
2019-10-02Revert "record: Add wrappers for malloc() functions"Sebastian Huber
It was accidentally committed. This reverts commit a314544a278f1533ae001f742d7fe24fcee253e6.
2019-10-01record: Add wrappers for malloc() functionsSebastian Huber
Introduce new library librtemsrecordwrap.a which contains wrappers for operating system functions which produce entry/exit events. The wrappers can be selected during link time via the GNU ld --wrap option. Update #3665.
2019-08-29record: Add more system eventsSebastian Huber
Reduce the system dependencies to allow tracing of very low level functions, for example the interrupt disable/enable. Introduce general purpose RTEMS_RECORD_CALLER and RTEMS_RECORD_LINE events. Update #3665.
2019-07-31libdebugger: ARM fixes for Cortex-A8 and ARM mode.Chris Johns
- Fix destorying the target and thread parts. - Fix the ARM backend to support Cortex-A8 and ARM mode code. - Use the DBGDSCR interrupt mask when single stepping. - Use the DBGDSCR method of entry to debug mode to filter the execptions. - Add support for BSPs to control the ARM backend.
2019-05-20score: Add _SMP_Unicast_action()Sebastian Huber
2019-03-27Add RTEMS Test FrameworkSebastian Huber
Update #3199.
2019-03-26build: Move test support to librtemstest.aSebastian Huber
One reason to move the test support into a dedicated library are the standard output __wrap_*() functions. They may conflict with application level wrappers. Update #3199.
2019-03-25build: Always build libmghttpd.aSebastian Huber
2019-02-09libdl: Add powerpc large memory and small data support.Chris Johns
- Add support for architecure sections that can be handled by the architecture back end. - Add trampoline/fixup support for PowerPC. This means the PowerPC now supports large memory loading of applications. - Add a bit allocator to manage small block based regions of memory. - Add small data (sdata/sbss) support for the PowerPC. The support makes the linker allocated small data region of memory a global resource available to libdl loaded object files. Updates #3687 Updates #3685
2019-02-09libdl: Add symbol searching and loading from archives.Chris Johns
- Load archive symbol tables to support searching of archives for symbols. - Search archive symbols and load the object file that contains the symbol. - Search the global and archives until all remaining unresolved symbols are not found. Group the loaded object files in the pending queue. - Run the object file and loaded dependents as a group before adding to the main object list. - Remove orphaned object files after references are removed. Updates #3686
2019-01-29Add low level event recording supportSebastian Huber
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.
2018-12-21Add aligned_alloc() and memalign()Sebastian Huber
Ensure that the C++17 aligned new operator works. Close #3666.
2018-12-14score: Static Objects_Information initializationSebastian Huber
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-14rtems: Use object information to get config maxSebastian Huber
Use functions instead of macros. Add missing rtems_configuration_get_maximum_*() functions. Update #3621.
2018-12-07rtems: Add rtems_scheduler_get_maximum_priority()Sebastian Huber
Update #3636.
2018-12-07Simplify _CPU_Counter_difference()Sebastian Huber
In order to simplify the use of CPU counter values it is beneficial to have monotonic increasing values within the range of the CPU counter ticks data type, e.g. 32-bit unsigned integer. This eases the use of CPU counter timestamps in external tools which do not know the details of the CPU counter hardware. The CPU counter is the fastest way to get a time on an RTEMS system. Such a CPU counter may be also used as the timecounter. Use it on SPARC for this purpose to simplify the clock drivers. Update #3456.
2018-11-12powerpc: Remove use of proc_ptrSebastian Huber
Update #3585.
2018-11-12nios2: Remove use of proc_ptrSebastian Huber
Update #3585.
2018-11-12rtems: Avoid include of <rtems/score/scheduler.h>Sebastian Huber
Update #3598.