summaryrefslogtreecommitdiffstats
path: root/cpukit (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rtems: Add rtems_interrupt_entry_install()Sebastian Huber2021-07-261-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.
* rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPTSebastian Huber2021-07-262-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.
* rtems: Add rtems_interrupt_is_pending()Sebastian Huber2021-07-261-0/+54
| | | | Update #3269.
* rtems: Add rtems_interrupt_vector_is_enabled()Sebastian Huber2021-07-261-0/+50
| | | | Update #3269.
* rtems: Add rtems_interrupt_vector_enable()Sebastian Huber2021-07-261-0/+88
| | | | | | Add rtems_interrupt_vector_disable(). Update #3269.
* rtems: Add rtems_interrupt_get_attributes()Sebastian Huber2021-07-261-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.
* rtems: Generate <rtems/irq-extension.h>Sebastian Huber2021-07-261-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.
* rtems: Add rtems_interrupt_raise()Sebastian Huber2021-07-261-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.
* cpukit: occured -> occurredSebastian Huber2021-07-1623-64/+64
|
* sparc: Prefer RTEMS_FATAL_SOURCE_EXCEPTIONSebastian Huber2021-07-151-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.
* rtems: Fix Doxygen commentSebastian Huber2021-07-151-2/+2
|
* Fix compiler warnings for schedulerstrongapa.cRichi Dubey2021-07-061-4/+20
|
* rtems: Do not broadcast to signal a condition varSebastian Huber2021-07-011-1/+1
| | | | Close #4463.
* arm: For AArch32 use non-shareable memorySebastian Huber2021-06-291-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.
* arm: Fix AARCH32_PMSA_ATTR_XN valueSebastian Huber2021-06-291-1/+1
| | | | Update #4202.
* arm: Fix AArch32 memory attribute definesSebastian Huber2021-06-291-4/+4
| | | | Update #4202.
* arm: Disable alignment check in PMSA initSebastian Huber2021-06-291-1/+1
| | | | | | | Disable the alignment check through SCTLR[A] in _AArch32_PMSA_Initialize(). Update #4202.
* Update Strong APA SchedulerRichi Dubey2021-06-243-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.
* sparc: Simplify trap table initializationSebastian Huber2021-06-244-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.
* sparc: Move FP frame offset defines to cpuimpl.hSebastian Huber2021-06-242-57/+57
| | | | | | This makes them usable in multiple files. Update #4458.
* sparc: More reliable bad trap handlingSebastian Huber2021-06-246-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.
* sparc: Move ISR handler install routinesSebastian Huber2021-06-243-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.
* score: Move _ISR_Vector_table[] to separate fileSebastian Huber2021-06-243-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.
* score: Remove bogus _ISR_Nest_level settingSebastian Huber2021-06-241-4/+0
| | | | | | | This variable is actually contained in _Per_CPU_Information[] which is already zero initialized. Remove superfluous includes.
* score: Remove _CPU_Initialize_vectors()Sebastian Huber2021-06-2413-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.
* i2c: Add non blocking read / writeChristian Mauderer2021-06-222-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.
* cpukit: Add timespecisnonnegative to Makefile.amRyan Long2021-06-211-0/+1
|
* cpu/armv7m: Fix initialization of MPU regionsChristian Mauderer2021-06-211-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
* cpu/armv7m: Avoid regions with negative sizeChristian Mauderer2021-06-211-1/+1
| | | | | | | Don't initialze regions that have a negative size (for example due to a wrong calculation). Update #4450
* rtems: Fix rtems_task_set_affinity() docsSebastian Huber2021-06-171-1/+1
|
* arm: Fix parameter use in AARCH32_PMSA_MEM_ATTR()Sebastian Huber2021-06-161-1/+1
| | | | Update #4202.
* score: Comment _Thread_queue_Surrender_sticky()Sebastian Huber2021-06-151-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.
* Use a common phrase for pointer parametersSebastian Huber2021-06-1514-181/+180
| | | | | | | Mention the type of the pointer in the parameter description. Use the more general term "object" instead of "variable". Update #3993.
* score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber2021-06-105-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.
* score: Fix initialization of thread queue contextSebastian Huber2021-06-106-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.
* sysconf: Remove sysconf(515)Ryan Long2021-06-091-4/+0
| | | | | | | GCC originally needed this 20 years ago. No longer needed, so it is being removed. Closes #4391
* main_edit.c: get rid of malloc warningRyan Long2021-06-091-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'.
* futimens.c, utime.c: Remove unnecessary include of <sys/stat.h>.Joel Sherrill2021-06-092-2/+0
|
* score: Remove unused _Per_CPU_Initialize() declSebastian Huber2021-06-081-7/+0
|
* cpukit/libdebugger: Fix for sockaddr_in not being initializedHarrison Edward Gerber2021-06-021-1/+1
| | | | | | See also CID 1468684 Closes #4445
* cpukit/libmisc/monitor: Fix src/dest overlap of strcpy in mon-editor.cHarrison Edward Gerber2021-05-281-1/+11
| | | | | | See also CID 1399727 Closes #4444
* Change filesystem utime_h handler to utimens_hRyan Long2021-05-2818-177/+292
| | | | | | | Also updated licenses. Closes #4400 Updates #3899
* libcsupport: Implement utimes() in terms of utimensat()Ryan Long2021-05-281-14/+49
| | | | | | | | | utimes() now calls utimensat() to update file access and modification timestamps. Updated license. Closes #4398
* libcsupport: Implement utime() in terms of utimensat()Ryan Long2021-05-281-32/+40
| | | | | | | | | utime() now calls utimensat() to update file access and modification timestamps. Updated license. Closes #4397
* libcsupport: Added futimens() and utimensat()Ryan Long2021-05-286-15/+491
| | | | | | | | | | 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
* main_help.c: Do not care what char is returned by getchar()Ryan Long2021-05-281-1/+1
| | | | | | CID 1437650: Unchecked return value from library in rtems_shell_help(). Closes #4291
* main_cp.c: Ignore return value from stat()Ryan Long2021-05-281-0/+6
| | | | | | CID 26051: Unchecked return value from library in main_cp(). Closes #4365
* gen_uuid.c: Ignore return values from fcntl()Ryan Long2021-05-281-0/+6
| | | | | | | CID 1049146: Unchecked return value from library in get_clock(). CID 1049147: Unchecked return value from library in get_random_fd(). Closes #4280
* thread-API: Add rtems_*mutex_try_lockChristian Mauderer2021-05-281-0/+12
| | | | | | This adds a rtems_mutex_try_lock and a rtems_recursive_mutex_try_lock. Update #4440.
* cpukit: Add description of release version numbersChristian Mauderer2021-05-281-0/+21
| | | | | The release version in the git sources doesn't change. Add a note why that is the case.