/** * @file * * @ingroup RTEMSImplClassic * * @brief This source file contains the implementation of * rtems_internal_error_text(). */ /* * Copyright (c) 2012, 2020 embedded brains GmbH. All rights reserved. * * embedded brains GmbH * Dornierstr. 4 * 82178 Puchheim * Germany * * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.org/license/LICENSE. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include static const char *const internal_error_text[] = { "INTERNAL_ERROR_NO_CONFIGURATION_TABLE", "INTERNAL_ERROR_NO_CPU_TABLE", "INTERNAL_ERROR_TOO_LITTLE_WORKSPACE", "INTERNAL_ERROR_WORKSPACE_ALLOCATION", "INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL", "INTERNAL_ERROR_THREAD_EXITTED", "INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION", "INTERNAL_ERROR_INVALID_NODE", "INTERNAL_ERROR_NO_MPCI", "INTERNAL_ERROR_BAD_PACKET", "INTERNAL_ERROR_OUT_OF_PACKETS", "INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS", "INTERNAL_ERROR_OUT_OF_PROXIES", "INTERNAL_ERROR_INVALID_GLOBAL_ID", "INTERNAL_ERROR_BAD_STACK_HOOK", "INTERNAL_ERROR_BAD_ATTRIBUTES", "INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY", "INTERNAL_ERROR_IMPLEMENTATION_BLOCKING_OPERATION_CANCEL", "INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_FROM_BAD_STATE", "INTERNAL_ERROR_UNLIMITED_AND_MAXIMUM_IS_0", "INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP", "INTERNAL_ERROR_GXX_KEY_ADD_FAILED", "INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED", "INTERNAL_ERROR_NO_MEMORY_FOR_HEAP", "INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR", "INTERNAL_ERROR_RESOURCE_IN_USE", "INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL", "INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULL", "INTERNAL_ERROR_THREAD_QUEUE_DEADLOCK", "INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_STICKY_FROM_BAD_STATE", "INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL", "INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT", "INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED", "INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED", "INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILED", "INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILED", "INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILED", "INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED", "INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT", "INTERNAL_ERROR_ARC4RANDOM_GETENTROPY_FAIL", "INTERNAL_ERROR_NO_MEMORY_FOR_PER_CPU_DATA", "INTERNAL_ERROR_TOO_LARGE_TLS_SIZE", "INTERNAL_ERROR_RTEMS_INIT_TASK_CONSTRUCT_FAILED" }; const char *rtems_internal_error_text( rtems_fatal_code error ) { size_t i = error; const char *text = "?"; if ( i < RTEMS_ARRAY_SIZE( internal_error_text ) ) { text = internal_error_text[ i ]; } return text; }