summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/interr.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add deadlock detectionSebastian Huber2016-07-271-1/+2
| | | | | | | | | | The mutex objects use the owner field of the thread queues for the mutex owner. Use this and add a deadlock detection to _Thread_queue_Enqueue_critical() for thread queues with an owner. Update #2412. Update #2556. Close #2765.
* score: Do not disable ISR in _Terminate()Sebastian Huber2016-07-061-3/+1
| | | | | | | This partially reverts 38ee75853f674977609bd078c69fb53420afdd08. Let the calling context decide if interrupts must be disabled or not. The goal is to enable fatal extensions to continue program execution after some fatal errors.
* score: _CORE_mutex_Check_dispatch_for_seize()Sebastian Huber2016-05-301-1/+1
| | | | | | | | | | | Move the safety check performed by _CORE_mutex_Check_dispatch_for_seize() out of the performance critical path and generalize it. Blocking on a thread queue with an unexpected thread dispatch disabled level is illegal in all system states. Add the expected thread dispatch disable level (which may be 1 or 2 depending on the operation) to Thread_queue_Context and use it in _Thread_queue_Enqueue_critical().
* score: Add fatal errors for NULL entry init tasksSebastian Huber2016-01-081-1/+3
| | | | | | This simplifies the global construction. Update #2514.
* basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber2015-10-261-1/+1
|
* score: Simplify debug code and use _Assert()Sebastian Huber2015-03-221-1/+1
|
* cpukit: add and use CPU_Uint32ptr typeGedare Bloom2015-03-161-1/+1
|
* rtems: make error codes uintptr_tGedare Bloom2015-03-161-1/+1
|
* score: DocumentationAlexander Krutwig2015-03-051-0/+13
|
* score: PR788: Add INTERNAL_ERROR_RESOURCE_IN_USESebastian Huber2014-04-031-1/+2
| | | | | | | | | | | | | | | Issue a fatal error in case a thread is deleted which still owns resources (e.g. a binary semaphore with priority inheritance or ceiling protocol). The resource count must be checked quite late since RTEMS task variable destructors, POSIX key destructors, POSIX cleanup handler, the Newlib thread termination extension or other thread termination extensions may release resources. In this context it would be quite difficult to return an error status to the caller. An alternative would be to place threads with a non-zero resource count not on the zombie chain. Thus we have a resource leak instead of a fatal error. The terminator thread can see this error if we return an RTEMS_RESOURCE_IN_USE status for the rtems_task_delete() for example.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* score: Rename _Internal_error_Occurred()Sebastian Huber2014-02-211-1/+1
| | | | Rename _Internal_error_Occurred() into _Terminate().
* score: Add RTEMS_FATAL_SOURCE_SMPSebastian Huber2014-02-191-0/+7
| | | | | | Use rtems_fatal() instead of _CPU_Fatal_halt() to shutdown processors in SMP configurations since this allows intervention of BSP or application specific fatal extensions.
* score: Add RTEMS_FATAL_SOURCE_BSPSebastian Huber2014-02-191-12/+5
| | | | | | Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC into new fatal source RTEMS_FATAL_SOURCE_BSP. This makes it easier to figure out the code position given a fatal source and code.
* score: Delete INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UPSebastian Huber2014-02-191-1/+1
| | | | | This error case is no longer required since rtems_shutdown_executive() can be called anytime, anywhere
* score: Move _SMP_Request_other_cores_to_shutdown()Sebastian Huber2014-02-191-1/+4
| | | | | | Move _SMP_Request_other_cores_to_shutdown() invocation from rtems_shutdown_executive() to _Internal_error_Occurred() to allow a proper shutdown on SMP configurations even in the error case.
* score: Disable ISR in _Internal_error_Occurred()Sebastian Huber2014-02-191-1/+3
| | | | | | | Disable interrupts as the first step in _Internal_error_Occurred() to get a defined execution context for the fatal extensions. Make _ISR_Disable_without_giant() available for non-SMP configurations.
* score: Add SYSTEM_STATE_TERMINATEDSebastian Huber2014-02-191-1/+1
| | | | | | Merge systems states SYSTEM_STATE_SHUTDOWN and SYSTEM_STATE_FAILED into new system state SYSTEM_STATE_TERMINATED. This reflects that all system termination paths end up in _Internal_error_Occurred().
* bsps: Move bsp_generic_fatal_code to new fileSebastian Huber2013-06-211-3/+3
| | | | Add bsp_generic_fatal().
* score: Add and use rtems_assert_contextSebastian Huber2013-02-121-1/+3
|
* cpukit: Add EOL on files missing EOL at EOFJoel Sherrill2013-01-101-1/+1
|
* score: Doxygen Clean Up Task #2Mathew Kallada2012-12-281-1/+3
|
* score: DocumentationSebastian Huber2012-11-291-12/+7
|
* Score misc: Clean up Doxygen #4 (GCI 2012)Alexandre Devienne2012-11-281-0/+13
| | | | | | | This patch is a task from GCI 2012 which improves the Doxygen comments in the RTEMS source. http://www.google-melange.com/gci/task/view/google/gci2012/7985215
* score: Add CPU_Exception_frameSebastian Huber2012-11-271-3/+3
| | | | | | | | | | | | | | | | | | | | | Add CPU port type CPU_Exception_frame and function _CPU_Exception_frame_print(). The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh, sparc64, and v850 use an empty default implementation of _CPU_Exception_frame_print(). Add rtems_exception_frame and rtems_exception_frame_print(). Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal() with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc, and sparc for unexpected exceptions. Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the BSP_PRINT_EXCEPTION_CONTEXT define used in the default bsp_fatal_extension(). Add test sptests/spfatal26.
* score: Change _Internal_error_Occurred()Sebastian Huber2012-11-221-8/+23
| | | | | | | Call the fatal handlers of the user extensions before the update of _Internal_errors_What_happened. This reduces the requirements on the execution context further. Now a valid read-write data is only required after the call to the fatal handlers.
* score: Delete nest level from internal error stateSebastian Huber2012-11-221-7/+0
| | | | This reverts commit 7d0bdcac1ac20d6f22b24689c16e6aa7bc3c1e40.
* score: Add RTEMS_FATAL_SOURCE_POWERPC_EXCEPTIONSebastian Huber2012-11-211-0/+9
| | | | | | | | | Add ppc_exc_print_frame_and_context() which prints an exception frame and the context via printk(). The global exception handler will call now rtems_fatal() with source RTEMS_FATAL_SOURCE_POWERPC_EXCEPTION. The fatal code will contain the pointer value to the exception frame.
* score: Add RTEMS_FATAL_SOURCE_STACK_CHECKERSebastian Huber2012-11-151-0/+7
|
* score: Add RTEMS_FATAL_SOURCE_ASSERTSebastian Huber2012-11-151-0/+7
|
* score: Add RTEMS_FATAL_SOURCE_BSP_SPECIFICSebastian Huber2012-11-151-0/+7
|
* score: Add RTEMS_FATAL_SOURCE_BSP_GENERICSebastian Huber2012-11-151-0/+10
|
* score: Add RTEMS_FATAL_SOURCE_EXITSebastian Huber2012-11-151-0/+7
| | | | | | | Include <bsp/default-initial-extension.h> in all BSPs. Call rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit() status code as fatal code in every bsp_cleanup(). Move previous bsp_cleanup() code into bsp_fatal_extension().
* score: Add RTEMS_FATAL_SOURCE_APPLICATIONSebastian Huber2012-11-151-0/+7
|
* score: Add RTEMS_FATAL_SOURCE_BDBUFSebastian Huber2012-11-151-0/+7
| | | | | | Add rtems_bdbuf_fatal_code as a replacement for the previous fatal error codes. Remove unused error codes. Add new error codes. Use rtems_fatal() with RTEMS_FATAL_SOURCE_BDBUF as source.
* score: Add RTEMS_FATAL_SOURCE_LASTSebastian Huber2012-11-151-2/+10
| | | | | This enum value ensures that the enum type needs at least 32-bits for architectures with short enums.
* score: Add INTERNAL_ERROR_CPU_ISR_INSTALL_VECTORSebastian Huber2012-11-151-1/+2
| | | | | Use INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR on PowerPC for _CPU_ISR_install_vector().
* score: Add nest level to interal error stateSebastian Huber2012-11-151-0/+7
| | | | | Add Internal_errors_Information::nest_level. This helps to detect recursive calls to _Internal_error_Occurred().
* score: DocumentationSebastian Huber2012-11-151-3/+10
|
* score: Move global variables definitionSebastian Huber2012-11-131-1/+1
| | | | | Define _System_state_Current and _Internal_errors_What_happened in interr.c to make _Internal_error_Occurred() more independent.
* score: Work area initialization API changeSebastian Huber2012-10-251-1/+2
| | | | | | | | | | | | The work areas (RTEMS work space and C program heap) will be initialized now in a separate step and are no longer part of rtems_initialize_data_structures(). Initialization is performed with tables of Heap_Area entries. This allows usage of scattered memory areas present on various small scale micro-controllers. The sbrk() support API changes also. The bsp_sbrk_init() must now deal with a minimum size for the first memory chunk to take the configured work space size into account.
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-2/+0
| | | | | | | | | | | | Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
* 2011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rtems/include/rtems/rtems/types.h, score/include/rtems/score/address.h, score/include/rtems/score/apiext.h, score/include/rtems/score/bitfield.h, score/include/rtems/score/context.h, score/include/rtems/score/corebarrier.h, score/include/rtems/score/coremsg.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/corerwlock.h, score/include/rtems/score/coresem.h, score/include/rtems/score/corespinlock.h, score/include/rtems/score/interr.h, score/include/rtems/score/isr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/mppkt.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/percpu.h, score/include/rtems/score/priority.h, score/include/rtems/score/rbtree.h, score/include/rtems/score/scheduler.h, score/include/rtems/score/smp.h, score/include/rtems/score/smplock.h, score/include/rtems/score/stack.h, score/include/rtems/score/states.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadq.h, score/include/rtems/score/threadsync.h, score/include/rtems/score/timespec.h, score/include/rtems/score/timestamp.h, score/include/rtems/score/timestamp64.h, score/include/rtems/score/tod.h, score/include/rtems/score/tqdata.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h: Mark Score files as in Score Group to improve Doxygen output.
* 2011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-171-2/+3
| | | | | | | | | | | | | | | | | | | * libcsupport/include/rtems/malloc.h, libmisc/stackchk/stackchk.h, posix/include/rtems/posix/time.h, rtems/include/rtems/rtems/object.h, score/include/rtems/score/apiext.h, score/include/rtems/score/interr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/timespec.h, score/include/rtems/score/timestamp.h, score/include/rtems/score/timestamp64.h, score/include/rtems/score/tod.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h: Make @brief formatting more consistent. * score/include/rtems/score/rbtree.h: Also reformat.
* 2010-08-23 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-08-231-1/+3
| | | | | | | | | | | | PR 1671/cpukit * libcsupport/include/rtems/gxx_wrappers.h: New file. * libcsupport/Makefile.am, libcsupport/preinstall.am: Reflect change above. * libcsupport/src/gxx_wrappers.c: Include <rtems/gxx_wrappers.h>. Use _Internal_error_Occurred() instead of rtems_panic(). * score/include/rtems/score/interr.h: Added INTERNAL_ERROR_GXX_KEY_ADD_FAILED and INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED.
* 2010-08-10 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-08-101-1/+2
| | | | | | PR 1658/cpukit * sapi/src/exshutdown.c, score/include/rtems/score/interr.h: If the system is not up, consider it a fatal error.
* 2010-07-07 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-07-071-1/+0
| | | | | | PR 1606/cpukit * score/include/rtems/score/interr.h: Remove INTERNAL_ERROR_INVALID_WORKSPACE_ADDRESS since it is not generated.
* 2010-06-18 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2010-06-181-2/+1
| | | | * score/include/rtems/score/interr.h: Remove ITRON.
* 2010-03-10 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-03-101-1/+2
| | | | | | * score/include/rtems/score/interr.h, score/src/objectinitializeinformation.c: Add new fatal error for configuring unlimited and maximum of 0.
* Whitespace removal.Ralf Corsepius2009-11-281-1/+1
|