summaryrefslogblamecommitdiffstats
path: root/cpukit/sapi/src/interrtext.c
blob: 2a588a5b76922bb5e7a925d7cd692b310fea93e8 (plain) (tree)
1
2
3
4
5
6
7
8
9


        
                            
  

                                                         

   
  
                                                                       

                        
                 





                                                          
                                        

   

                    



                        
                                                  
















                                                           

                                                            
                                              
                                        

                                         
                                      
                                          

                                                 
                                                   
                                         
                                                              
                                                     
                                                   
                                                 
                                                   
                                                    
                                           
                                               
                                               
                                                      
                                              
                                              

                                                   

  
                                                               

                   
                         
 

                                                      

   
              
 
/**
 * @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
 *  <rtems@embedded-brains.de>
 *
 * 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 <rtems/fatal.h>

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;
}