summaryrefslogtreecommitdiffstats
path: root/cpukit (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-07-28score: Remove SMP message multicast/broadcastSebastian Huber2-61/+1
Remove the unused _SMP_Send_message_multicast() and _SMP_Send_message_broadcast().
2021-07-28score: Simplify SMP processor state handlingSebastian Huber6-227/+209
The per-CPU states which control the SMP system initialization were added quite early during the SMP support development. Replace this initial implementation with a simplified one. There is no longer a global SMP lock required which serialized the state changes of all processors. The new implementation better integrates with the per-CPU jobs.
2021-07-28score: Remove processor event broadcast/receiveSebastian Huber12-125/+51
Remove _CPU_SMP_Processor_event_broadcast() and _CPU_SMP_Processor_event_receive(). These functions are hard to use since they are subject to the lost wake up problem.
2021-07-28libcsupport: Consistent rtems_putc() outputSebastian Huber1-16/+34
Use the same function to output the '\r\n' combination produced by rtems_putc(). Fix the format. Change licence according to file history. Update #3053.
2021-07-28libcsupport: Fix TOCTOU in getchark()Sebastian Huber1-8/+13
Use the same function pointer value to check against NULL and call the function (if non-NULL). Fix format, add Doxygen comments, and reduce includes.
2021-07-28score: Remove _Internal_errors_What_happenedSebastian Huber2-27/+2
Users have access to the fatal error source and code though the fatal error extension. The user-specific fatal error handling should be done in statically initialized fatal error handlers. The _Internal_errors_What_happened was updated after the fatal error extension. In addition, there was no API to get the information stored in _Internal_errors_What_happened. In SMP configurations, this object could contain a mix of different fatal errors. Remove this object to save some bytes of storage.
2021-07-26rtems: Add rtems_interrupt_entry_install()Sebastian Huber1-0/+237
Add RTEMS_INTERRUPT_ENTRY_INITIALIZER(), rtems_interrupt_entry_initialize(), and rtems_interrupt_entry_remove(). This allows to install interrupt handlers using user-provided storage as an alternative to rtems_interrupt_handler_install() which has to allocate memory. Update #3269.
2021-07-26rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPTSebastian Huber2-1/+9
Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT as the fatal source for spurious interrupts. Use the interrupt vector number of the spurious interrupt for the fatal code. Update #3269.
2021-07-26rtems: Add rtems_interrupt_is_pending()Sebastian Huber1-0/+54
Update #3269.
2021-07-26rtems: Add rtems_interrupt_vector_is_enabled()Sebastian Huber1-0/+50
Update #3269.
2021-07-26rtems: Add rtems_interrupt_vector_enable()Sebastian Huber1-0/+88
Add rtems_interrupt_vector_disable(). Update #3269.
2021-07-26rtems: Add rtems_interrupt_get_attributes()Sebastian Huber1-0/+207
Add a directive to query the attributes of an interrupt vector. This can be used for generic tests and system diagnostics. Update #3269.
2021-07-26rtems: Generate <rtems/irq-extension.h>Sebastian Huber1-476/+1354
Use <rtems/score/chain.h> which just provides the data types and avoid a dependency on <rtems/chain.h> which contains the full chain implementation. Change license to BSD-2-Clause according to file histories and documentation re-licensing agreement. Update #3269. Update #3899. Update #3993.
2021-07-26rtems: Add rtems_interrupt_raise()Sebastian Huber1-37/+125
Add rtems_interrupt_raise_on(). Document the currently not implemented rtems_interrupt_clear(). Remove the not implemented and badly named rtems_interrupt_cause() directive. Update #3269.
2021-07-16cpukit: occured -> occurredSebastian Huber23-64/+64
2021-07-15sparc: Prefer RTEMS_FATAL_SOURCE_EXCEPTIONSebastian Huber1-14/+0
Prefer RTEMS_FATAL_SOURCE_EXCEPTION over INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT since the fatal code (rtems_exception_frame) provides more context.
2021-07-15rtems: Fix Doxygen commentSebastian Huber1-2/+2
2021-07-06Fix compiler warnings for schedulerstrongapa.cRichi Dubey1-4/+20
2021-07-01rtems: Do not broadcast to signal a condition varSebastian Huber1-1/+1
Close #4463.
2021-06-29arm: For AArch32 use non-shareable memorySebastian Huber1-2/+2
The Cortex-R52 does not support cache coherency and the shareable memory attribute. If a region is configured to be shareable, then it falls back to use non-cacheable memory. Update #4202.
2021-06-29arm: Fix AARCH32_PMSA_ATTR_XN valueSebastian Huber1-1/+1
Update #4202.
2021-06-29arm: Fix AArch32 memory attribute definesSebastian Huber1-4/+4
Update #4202.
2021-06-29arm: Disable alignment check in PMSA initSebastian Huber1-1/+1
Disable the alignment check through SCTLR[A] in _AArch32_PMSA_Initialize(). Update #4202.
2021-06-24Update Strong APA SchedulerRichi Dubey3-229/+924
This change allows for the migration of higher priority tasks on the arrival of a lower priority task limited by affinity constraints. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
2021-06-24sparc: Simplify trap table initializationSebastian Huber4-54/+639
Move _ISR_Handler() to a separate file since it is now only used if a handler is installed by _CPU_ISR_install_raw_handler(). Statically initialize the traps for external interrupts to use the new _SPARC_Interrupt_trap() which directly dispatches the interrupt handlers installed by rtems_interrupt_handler_install() via the BSP-provided _SPARC_Interrupt_dispatch(). Since the trap table is now fully statically initialized, there is no longer a dependency on the Cache Manager in the default configuration. Update #4458.
2021-06-24sparc: Move FP frame offset defines to cpuimpl.hSebastian Huber2-57/+57
This makes them usable in multiple files. Update #4458.
2021-06-24sparc: More reliable bad trap handlingSebastian Huber6-1/+515
Statically initialize the trap table in start.S to jump to _SPARC_Bad_trap() for all unexpected traps. This enables a proper RTEMS fatal error handling right from the start. Do not rely on the stack and register settings which caused an unexpected trap. Use the ISR stack of the processor to do the fatal error handling. Save the full context which caused the trap. Fatal error handler may use it for error logging. Unify the _CPU_Exception_frame_print() implementations and move it to cpukit. Update #4459.
2021-06-24sparc: Move ISR handler install routinesSebastian Huber3-174/+202
Move _CPU_ISR_install_raw_handler() and _CPU_ISR_install_vector() to separate files. The goal is to make their use optional. Update #4458. Update #4459.
2021-06-24score: Move _ISR_Vector_table[] to separate fileSebastian Huber3-8/+49
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.
2021-06-24score: Remove bogus _ISR_Nest_level settingSebastian Huber1-4/+0
This variable is actually contained in _Per_CPU_Information[] which is already zero initialized. Remove superfluous includes.
2021-06-24score: Remove _CPU_Initialize_vectors()Sebastian Huber13-76/+0
This CPU port macro was not used. Since the _ISR_Vector_table[] is statically allocated, CPU ports could initialize this table in _CPU_Initialize() if necessary. Remove _CPU_Initialize_vectors() to simplify the CPU port interface.
2021-06-22i2c: Add non blocking read / writeChristian Mauderer2-6/+83
This adds the possibility to open an I2C bus with O_NONBLOCK (or set it later via fcntl) to get non-blocking transmissions. This means that if the bus is busy, a read, write or transfer ioctl will return with a EAGAIN errno.
2021-06-21cpukit: Add timespecisnonnegative to Makefile.amRyan Long1-0/+1
2021-06-21cpu/armv7m: Fix initialization of MPU regionsChristian Mauderer1-1/+1
The write to RBAR didn't have the valid flag set. Therefore the write to RASR had an influence on the previously set region. That means for example that if Region 0 had been enabled but 1 should be disabled due to a size of 0, the previous code would have disabled region 0 instead. This patch fixes that behaviour. Close #4450
2021-06-21cpu/armv7m: Avoid regions with negative sizeChristian Mauderer1-1/+1
Don't initialze regions that have a negative size (for example due to a wrong calculation). Update #4450
2021-06-17rtems: Fix rtems_task_set_affinity() docsSebastian Huber1-1/+1
2021-06-16arm: Fix parameter use in AARCH32_PMSA_MEM_ATTR()Sebastian Huber1-1/+1
Update #4202.
2021-06-15score: Comment _Thread_queue_Surrender_sticky()Sebastian Huber1-1/+7
The change also helps to avoid reports from static analysers since most callers of _Thread_queue_Make_ready_again() check the unblock status.
2021-06-15Use a common phrase for pointer parametersSebastian Huber14-181/+180
Mention the type of the pointer in the parameter description. Use the more general term "object" instead of "variable". Update #3993.
2021-06-10score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber5-55/+113
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.
2021-06-10score: Fix initialization of thread queue contextSebastian Huber6-9/+15
Set Thread_queue_Context::timeout_absolute in _Thread_queue_Context_set_timeout_argument() to avoid using it uninitialized. The bug was introduced by a89ecaa1a94d49ddae7753d6b83923e9d2a00486.
2021-06-09sysconf: Remove sysconf(515)Ryan Long1-4/+0
GCC originally needed this 20 years ago. No longer needed, so it is being removed. Closes #4391
2021-06-09main_edit.c: get rid of malloc warningRyan Long1-8/+8
A warning was present when building RTEMS that stated that the argument for malloc() exceeded the maximum object size. To get rid of this, I changed many places where 'int' was being used to 'size_t'.
2021-06-09futimens.c, utime.c: Remove unnecessary include of <sys/stat.h>.Joel Sherrill2-2/+0
2021-06-08score: Remove unused _Per_CPU_Initialize() declSebastian Huber1-7/+0
2021-06-02cpukit/libdebugger: Fix for sockaddr_in not being initializedHarrison Edward Gerber1-1/+1
See also CID 1468684 Closes #4445
2021-05-28cpukit/libmisc/monitor: Fix src/dest overlap of strcpy in mon-editor.cHarrison Edward Gerber1-1/+11
See also CID 1399727 Closes #4444
2021-05-28Change filesystem utime_h handler to utimens_hRyan Long18-177/+292
Also updated licenses. Closes #4400 Updates #3899
2021-05-28libcsupport: Implement utimes() in terms of utimensat()Ryan Long1-14/+49
utimes() now calls utimensat() to update file access and modification timestamps. Updated license. Closes #4398
2021-05-28libcsupport: Implement utime() in terms of utimensat()Ryan Long1-32/+40
utime() now calls utimensat() to update file access and modification timestamps. Updated license. Closes #4397