summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* score: Remove _Internal_errors_What_happenedSebastian Huber2021-07-283-29/+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.
* bsps/irq: bsp_interrupt_facility_initialize()Sebastian Huber2021-07-2736-148/+90
| | | | | | Do not return a status code in bsp_interrupt_facility_initialize() since this leads to unreachable code in bsp_interrupt_initialize(). Use RTEMS_DEBUG assertions in bsp_interrupt_facility_initialize() if necessary.
* validation: Test rtems_interrupt_handler_iterate()Sebastian Huber2021-07-262-0/+637
| | | | Update #3269.
* validation: Test rtems_interrupt_set_affinity()Sebastian Huber2021-07-262-0/+671
| | | | Update #3269.
* validation: Test rtems_interrupt_get_affinity()Sebastian Huber2021-07-262-0/+684
| | | | Update #3269.
* validation: Test rtems_interrupt_raise_on()Sebastian Huber2021-07-264-2/+722
| | | | Update #3269.
* validation: Test rtems_interrupt_is_pending()Sebastian Huber2021-07-262-0/+630
| | | | Update #3269.
* validation: Test rtems_interrupt_clear()Sebastian Huber2021-07-262-0/+587
| | | | Update #3269.
* validation: Test rtems_interrupt_raise()Sebastian Huber2021-07-262-0/+577
| | | | Update #3269.
* validation: Test rtems_interrupt_entry_remove()Sebastian Huber2021-07-262-0/+1433
| | | | Update #3269.
* validation: Test rtems_interrupt_entry_install()Sebastian Huber2021-07-262-0/+1365
| | | | Update #3269.
* validation: Test rtems_interrupt_vector_disable()Sebastian Huber2021-07-262-0/+633
| | | | Update #3269.
* validation: Test rtems_interrupt_vector_enable()Sebastian Huber2021-07-262-0/+639
| | | | Update #3269.
* validation: rtems_interrupt_vector_is_enabled()Sebastian Huber2021-07-262-0/+628
| | | | Update #3269.
* validation: Test rtems_interrupt_get_attributes()Sebastian Huber2021-07-262-0/+441
| | | | Update #3269.
* validation: GetTestableInterruptVector()Sebastian Huber2021-07-262-0/+49
| | | | Update #3269.
* validation: GetValidInterruptVectorNumber()Sebastian Huber2021-07-262-0/+31
| | | | Update #3269.
* validation: HasInterruptVectorEntriesInstalled()Sebastian Huber2021-07-263-0/+82
| | | | Update #3269.
* validation: Add CallWithinISR()Sebastian Huber2021-07-263-0/+149
| | | | Update #3269.
* bsp/raspberrypi: Add interrupt get/set affinitySebastian Huber2021-07-261-0/+26
| | | | | | | | Add default implementations for bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() which are required to link all tests in SMP configurations. Update #3269.
* bsps/irq: Add rtems_interrupt_entry_install()Sebastian Huber2021-07-2617-541/+681
| | | | | | | | | | | | | | | | | | | Add rtems_interrupt_entry_remove(). Split up irq-generic.c into several files. In particular, place all functions which use dynamic memory into their own file. Add optional macros to let the BSP customize the vector installation after installing the first entry and the vector removal before removing the last entry: * bsp_interrupt_vector_install() * bsp_interrupt_vector_remove() Use these new customization options in the m68k/genmcf548x BSP so re-use the generic interrupt controller support. Update #3269.
* bsps/irq: Move bsp_interrupt_handler_is_empty()Sebastian Huber2021-07-263-30/+11
| | | | | | This function is only used by one BSP. Update #3269.
* bsps/irq: Add bsp_interrupt_check_and_lock()Sebastian Huber2021-07-263-63/+86
| | | | | | | | Return RTEMS_INCORRECT_STATE instead of RTEMS_INTERNAL_ERROR in case the interrupt support is not initialized. This is similar to rtems_timer_server_fire_after() for example. Update #3269.
* bsps/irq: Use rtems_interrupt_entrySebastian Huber2021-07-263-25/+16
| | | | Update #3269.
* 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.
* sparc/irq: Implement new interrupt directivesSebastian Huber2021-07-266-22/+162
| | | | Update #3269.
* bsps/irq: Implement new directives for GICv2/3Sebastian Huber2021-07-264-32/+189
| | | | Update #3269.
* bsps/irq: bsp_interrupt_set_affinity()Sebastian Huber2021-07-2614-18/+30
| | | | | | Return a status code for bsp_interrupt_set_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_get_affinity()Sebastian Huber2021-07-2615-23/+38
| | | | | | Return a status code for bsp_interrupt_get_affinity(). Update #3269.
* bsps/irq: bsp_interrupt_vector_disable()Sebastian Huber2021-07-2637-45/+94
| | | | | | Return a status code for bsp_interrupt_vector_disable(). Update #3269.
* bsps/irq: bsp_interrupt_vector_enable()Sebastian Huber2021-07-2637-45/+94
| | | | | | Return a status code for bsp_interrupt_vector_enable(). Update #3269.
* bsps/irq: Add rtems_interrupt_is_pending()Sebastian Huber2021-07-2637-1/+438
| | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED. Update #3269.
* bsps/irq: Add rtems_interrupt_get_attributes()Sebastian Huber2021-07-2637-2/+337
| | | | | | | Add a default implementation which clears the attributes to zero and just returns RTEMS_SUCCESSFUL for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_raise()Sebastian Huber2021-07-2644-0/+669
| | | | | | | | | Add rtems_interrupt_raise_on() and rtems_interrupt_clear(). Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* bsps/irq: Add rtems_interrupt_vector_is_enabled()Sebastian Huber2021-07-2637-1/+437
| | | | | | | Add a default implementation which just returns RTEMS_UNSATISFIED for valid parameters. Update #3269.
* rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPTSebastian Huber2021-07-264-9/+15
| | | | | | | | 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-269-0/+154
| | | | | | 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.
* bsps/irq: Move handler iterate to separate fileSebastian Huber2021-07-2610-82/+164
| | | | Update #3269.
* bsps/irq: Canonicalize get/set affinity errorsSebastian Huber2021-07-261-2/+10
| | | | | | | Bring the error conditions and status in line with rtems_task_get_affinity() and rtems_task_set_affinity(). Update #3269.
* bsps/irq: Move get/set affinity to separate fileSebastian Huber2021-07-269-52/+97
| | | | Update #3269.
* build: Bring Item.link() in line with waf linkSebastian Huber2021-07-261-1/+1
| | | | | The LDFLAGS are placed after the static libraries in the standard waf link command, see "waflib/Tools/c.py" in the waf sources.
* build: Remove superfluous library from rcxx01Sebastian Huber2021-07-261-1/+0
|
* bsps: Fix bsp_fatal_extension()Sebastian Huber2021-07-231-0/+3
| | | | The heap protection is conditional.
* bsp: Remove fatal from exit(0). Add extended heap error outputChris Johns2021-07-231-13/+70
|
* build: Add "bsps/" prefix to BSP family enableSebastian Huber2021-07-221-1/+1
| | | | | BSP family and BSP variant names may be equal. This prefix avoids ambiguity in the enabled-by expressions.