source: rtems/cpukit/sapi/src/interrtext.c

Last change on this file was bcef89f2, checked in by Sebastian Huber <sebastian.huber@…>, on 05/19/23 at 06:18:25

Update company name

The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.

  • Property mode set to 100644
File size: 3.9 KB
Line 
1/* SPDX-License-Identifier: BSD-2-Clause */
2
3/**
4 * @file
5 *
6 * @ingroup RTEMSImplClassic
7 *
8 * @brief This source file contains the implementation of
9 *   rtems_internal_error_text().
10 */
11
12/*
13 * Copyright (C) 2012, 2020 embedded brains GmbH & Co. KG
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 * 1. Redistributions of source code must retain the above copyright
19 *    notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 *    notice, this list of conditions and the following disclaimer in the
22 *    documentation and/or other materials provided with the distribution.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36
37#ifdef HAVE_CONFIG_H
38#include "config.h"
39#endif
40
41#include <rtems/fatal.h>
42
43static const char *const internal_error_text[] = {
44  "INTERNAL_ERROR_NO_CONFIGURATION_TABLE",
45  "INTERNAL_ERROR_NO_CPU_TABLE",
46  "INTERNAL_ERROR_TOO_LITTLE_WORKSPACE",
47  "INTERNAL_ERROR_WORKSPACE_ALLOCATION",
48  "INTERNAL_ERROR_INTERRUPT_STACK_TOO_SMALL",
49  "INTERNAL_ERROR_THREAD_EXITTED",
50  "INTERNAL_ERROR_INCONSISTENT_MP_INFORMATION",
51  "INTERNAL_ERROR_INVALID_NODE",
52  "INTERNAL_ERROR_NO_MPCI",
53  "INTERNAL_ERROR_BAD_PACKET",
54  "INTERNAL_ERROR_OUT_OF_PACKETS",
55  "INTERNAL_ERROR_OUT_OF_GLOBAL_OBJECTS",
56  "INTERNAL_ERROR_OUT_OF_PROXIES",
57  "INTERNAL_ERROR_INVALID_GLOBAL_ID",
58  "INTERNAL_ERROR_BAD_STACK_HOOK",
59  "INTERNAL_ERROR_BAD_ATTRIBUTES",
60  "INTERNAL_ERROR_IMPLEMENTATION_KEY_CREATE_INCONSISTENCY",
61  "INTERNAL_ERROR_IMPLEMENTATION_BLOCKING_OPERATION_CANCEL",
62  "INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_FROM_BAD_STATE",
63  "INTERNAL_ERROR_UNLIMITED_AND_MAXIMUM_IS_0",
64  "INTERNAL_ERROR_SHUTDOWN_WHEN_NOT_UP",
65  "INTERNAL_ERROR_GXX_KEY_ADD_FAILED",
66  "INTERNAL_ERROR_GXX_MUTEX_INIT_FAILED",
67  "INTERNAL_ERROR_NO_MEMORY_FOR_HEAP",
68  "INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR",
69  "INTERNAL_ERROR_RESOURCE_IN_USE",
70  "INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL",
71  "INTERNAL_ERROR_POSIX_INIT_THREAD_ENTRY_IS_NULL",
72  "INTERNAL_ERROR_THREAD_QUEUE_DEADLOCK",
73  "INTERNAL_ERROR_THREAD_QUEUE_ENQUEUE_STICKY_FROM_BAD_STATE",
74  "INTERNAL_ERROR_BAD_THREAD_DISPATCH_DISABLE_LEVEL",
75  "INTERNAL_ERROR_BAD_THREAD_DISPATCH_ENVIRONMENT",
76  "INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILED",
77  "INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILED",
78  "INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILED",
79  "INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILED",
80  "INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILED",
81  "INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILED",
82  "INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT",
83  "INTERNAL_ERROR_ARC4RANDOM_GETENTROPY_FAIL",
84  "INTERNAL_ERROR_NO_MEMORY_FOR_PER_CPU_DATA",
85  "INTERNAL_ERROR_TOO_LARGE_TLS_SIZE",
86  "INTERNAL_ERROR_RTEMS_INIT_TASK_CONSTRUCT_FAILED",
87  "INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED",
88  "INTERNAL_ERROR_NO_MEMORY_FOR_IDLE_TASK_STORAGE",
89  "INTERNAL_ERROR_IDLE_THREAD_STACK_TOO_SMALL"
90};
91
92const char *rtems_internal_error_text( rtems_fatal_code error )
93{
94  size_t i = error;
95  const char *text = "?";
96
97  if ( i < RTEMS_ARRAY_SIZE( internal_error_text ) ) {
98    text = internal_error_text[ i ];
99  }
100
101  return text;
102}
Note: See TracBrowser for help on using the repository browser.