summaryrefslogtreecommitdiffstats
path: root/spec/build/cpukit/librtemscpu.yml (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Split wkspace.cSebastian Huber2021-11-301-0/+2
| | | | Splitting the file avoids unnecessary link-time dependencies.
* 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-231-1/+0
| | | | | | | | 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 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++.
* 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).
* cpukit: Add signal mapping supportKinsey Moore2021-10-291-0/+3
| | | | | | 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.
* 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.
* microblaze: Rework for RTEMS 6Alex White2021-10-131-0/+2
| | | | | 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-111-0/+1
| | | | | | | | 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.
* 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.
* score: Move _Thread_Dispatch()Sebastian Huber2021-09-031-0/+1
| | | | | | | | | | | | The _Thread_Dispatch() function was customized over time and now the work is done by _Thread_Do_dispatch() and specialized wrappers. The plain _Thread_Dispatch() is now only used in some CPU ports. Move it to a separate file to avoid dead code in the general. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* confstr() support for RTEMSEshan dhawan2021-08-181-0/+1
| | | | | | | | Closes #3373 confstr() style update Signed-off-by: Eshan Dhawan <eshandhawan51@gmail.com>
* score: Move _ISR_Vector_table[] to separate fileSebastian Huber2021-06-241-0/+1
| | | | | | | | | | The _ISR_Handler_initialization() does not touch the _ISR_Vector_table[]. Move the definition of _ISR_Vector_table[] to a separate file. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber2021-06-101-0/+1
| | | | | | | | | Make the initialization of the per-CPU data optional. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* Change filesystem utime_h handler to utimens_hRyan Long2021-05-281-2/+2
| | | | | | | Also updated licenses. Closes #4400 Updates #3899
* libcsupport: Added futimens() and utimensat()Ryan Long2021-05-281-0/+3
| | | | | | | | | | Created futimens.c and utimensat.c to add support for the POSIX methods futimens() and utimensat(). utime() and utimes() are considered obsolote by POSIX, but RTEMS will continue to support them. Closes #4396
* score: Move _Thread_queue_Queue_get_name_and_id()Sebastian Huber2021-05-171-0/+1
| | | | | | | | | | Move this diagnostic function to a separate file since it does not provide a core function of the system. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* posix: Move clock_nanosleep()Sebastian Huber2021-05-171-0/+1
| | | | | | | Move clock_nanosleep() to a separate file to avoid a dependency on errno which pulls in the Newlib reentrancy support. This is an issue since most parts which are pulled in cannot be garbage collected by the linker due to the system initialization linker set.
* score: Rename _Stack_Free_nothing()Sebastian Huber2021-05-111-1/+1
| | | | | | | Rename _Stack_Free_nothing() in _Objects_Free_nothing() to make it reusable for the message queue buffers. Update #4007.
* Use alias for rtems_task_self() and pthread_self()Sebastian Huber2021-04-301-2/+1
| | | | This may reduce the code size a bit.
* libcsupport: Move rtems_calloc()Sebastian Huber2021-04-201-0/+1
| | | | | | | | | Move rtems_calloc() since it only depends on rtems_malloc(). This may make it easier to customize the heap allocator. Change licence to BSD-2-Clause according to file history. Update #3053.
* cpukit: remove pppdVijay Kumar Banerjee2021-04-071-1/+0
| | | | Update #3850
* spec: Remove RTEMS_NETWORKING optionsVijay Kumar Banerjee2021-04-071-2/+0
| | | | Update #3850
* score: Replace Objects_Name_or_id_lookup_errorsSebastian Huber2021-04-071-1/+0
| | | | | Replace Objects_Name_or_id_lookup_errors with new Status_Control codes. Get rid of the _Status_Object_name_errors_to_status lookup table.
* build: Install <rtems/score/hash.h>Sebastian Huber2021-02-261-0/+1
| | | | Update #4267.
* score: Add Hash HandlerSebastian Huber2021-02-261-0/+1
| | | | Update #4267.
* rtems: Add rtems_get_build_label()Sebastian Huber2021-02-251-0/+1
| | | | Update #4269.
* build: Sort source listsSebastian Huber2021-02-241-58/+58
| | | | Use the Python sorted() function to sort the "source" lists.
* score: Remove _CORE_barrier_Do_flush()Sebastian Huber2021-02-241-1/+0
| | | | Call _Thread_queue_Flush_critical() directly.
* rtems: Simplify signal handlingSebastian Huber2021-02-201-1/+0
| | | | | | | Remove superfluous ASR_Information::signals_posted. Move code out of trivial inline functions. Update #4244.
* libcsupport: Add sbrk greedy support to consume all sbrk memoryChris Johns2021-02-101-0/+1
| | | | | | | | | - Move the heap sbrk code into a separate routnine. - Update heap and workspace greedy allocators to use the common sbrk greedy support. Closes #3982
* score: Make FIFO thread queue ops publicSebastian Huber2021-02-061-0/+1
| | | | Update #4230.
* build: Fix duplicate install of jffs2.hSebastian Huber2020-12-161-1/+0
|
* build: Add <rtems/rtems/clockimpl.h>Sebastian Huber2020-12-021-0/+1
|
* posix: Delete unused _POSIX_Fatal_error()Sebastian Huber2020-12-021-1/+0
|
* score: Delete empty pheapinit.cSebastian Huber2020-12-021-1/+0
|
* config: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZESebastian Huber2020-11-261-0/+1
| | | | | | | | | | In order to better support applications which use the new rtems_task_construct() directive add the CONFIGURE_INIT_TASK_CONSTURCT_STORAGE_SIZE configuration option. If this option is specified, then the Classic API initialization task is constructed with rtems_task_construct(). Update #4181.
* libtrace: Move _Record_Stream_header_initialize()Sebastian Huber2020-11-091-0/+1
| | | | This fixes the build if no function sections are used.
* shell: Remove not functioning fdisk mount/unmountFrank Kühndel2020-10-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shell has an 'fdisk' command which has sub-commands 'mount' and 'unmount'. These two sub-commands have a bug which causes them to be not able to mount anything. This proposed patch removes the buggy file cpukit/libblock/src/bdpart-mount.c and the mount/unmount commands from 'fdisk' as bug fix. The 'fdisk' command itself is not removed. The reasons for removing the sub-commands (instead of fixing the issue) are: 1) The bug has been introduced on 2010-May-31 with commit 29e92b090c8bc35745aa5c89231ce806bcb11e57. Since ten years no one can use this feature, nor has anybody complained about it. 2) Besides of the 'fdisk' 'mount' sub-command, the shell has the usual 'mount' and 'unmount' commands which can serve as substitutes. 3) There are additional minor issues (see further down) which needed to be addressed when the file will be kept. What follows below is the precise bug description. The bug is in function rtems_bdpart_mount() which is only be used by the 'fdisk' shell command to mount all partitions of a disk with a single command: > fdisk DISK_NAME mount > mounts the file system of each partition of the disk > > fdisk DISK_NAME unmount > unmounts the file system of each partition of the disk The whole command does not work because in file cpukit/libblock/src/bdpart-mount.c line 103 specifies the file system type of each partition to be "msdos". Yet, "msdos" does not exist. The name must be "dosfs". Beside of this fundamental problem, there are more issues with the code in bdpart-mount.c: 1) The function returns RTEMS_SUCCESSFUL despite the mount always fails. 2) The reason for errors is not written to the terminal. 3) The directory '/mnt' is created but not deleted later on (failure or not). 3) There is no documentation about this special 'fdisk' feature in the RTEMS Shell Guide ('fdisk' is mentioned but its documentation is a bit short): https://docs.rtems.org/branches/master/shell/ file_and_directory.html#fdisk-format-disk 4) Only "msdos" formatted partitions can be mounted and all partitions are mounted read-only. This is hard coded and cannot be changed by options. Moreover, there is no information about this to the user of the shell (i.e. using 'fdisk' mount requires insider knowledge). How to reproduce: 1) For testing, I use the 'testsuites/samples/fileio.exe' sample with qemu: > cd rtems > env QEMU_AUDIO_DRV="none" qemu-system-arm -net none -nographic \ > -M realview-pbx-a9 -m 256M -kernel \ > build/arm/realview_pbx_a9_qemu/testsuites/samples/fileio.exe 2) Type any key to stop the timer and enter the sample tool. Type 's' to enter the shell, login as 'root' with the password shown in the terminal. 3) Type the following shell commands (they create a RAM disk, partition it, register it, format it and try to mount it): > mkrd > fdisk /dev/rda fat32 16 write mbr > fdisk /dev/rda register > mkdos /dev/rda1 > fdisk /dev/rda mount 4) The last line above is the command which fails - without an error message. There exists a '/mnt' directory but no '/mnt/rda1' directory as it should be: > ls -la /mnt 5) If you change line 103 of 'cpukit/libblock/src/bdpart-mount.c' from "msdos" to "dosfs", compile and build the executable and re-run the above test, '/mnt/rda1' exists (but the file system is mounted read-only). Close #4131
* score: Add AArch64 portKinsey Moore2020-10-051-0/+2
| | | | | This adds a CPU port for AArch64(ARMv8) with support for exceptions and interrupts.
* Decouple the C Program Heap initializationSebastian Huber2020-10-011-0/+3
| | | | | | | Before this patch RTEMS_Malloc_Initialize() had a fixed dependency on _Workspace_Area. Introduce _Workspace_Malloc_initializer to have this dependency only if CONFIGURE_UNIFIED_WORK_AREAS is defined by the application configuration.
* rtems: Add rtems_message_queue_construct()Sebastian Huber2020-09-281-0/+2
| | | | | | | | | | | In contrast to message queues created by rtems_message_queue_create(), the message queues constructed by this directive use a user-provided message buffer storage area. Add RTEMS_MESSAGE_QUEUE_BUFFER() to define a message buffer type for message buffer storage areas. Update #4007.
* score: Add <rtems/score/coremsgbuffer.h>Sebastian Huber2020-09-281-0/+1
| | | | | | | | | | Move the CORE_message_queue_Buffer definition to a separate header file to be able to use it independent of the remaining Message Queue Handler API. Change license to BSD-2-Clause according to file history. Update #3053. Update #4007.
* rtems: Install missing header fileSebastian Huber2020-09-221-0/+1
| | | | Update #3053.
* capture: Move default trace dataSebastian Huber2020-09-201-0/+1
| | | | | | | Provide the default trace data in a separate file to avoid issues on targets with a small-data area. Close #3883.
* rtems: Add rtems_task_construct()Sebastian Huber2020-09-171-0/+1
| | | | | | | | | | | | | | | | | In contrast to rtems_task_create() this function constructs a task with a user-provided task storage area. The new directive uses a configuration structure instead of individual parameters. Add RTEMS_TASK_STORAGE_SIZE() to calculate the recommended size of a task storage area based on the task attributes and the size dedicated to the task stack and thread-local storage. This macro may allow future extensions without breaking the API. Add application configuration option CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE to adjust RTEMS Workspace size estimate. Update #3959.
* build: Alternative build system based on wafSebastian Huber2020-09-141-0/+1574
Update #3818.