summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-13 17:53:43 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-15 15:33:11 +0100
commitb31a9603e06622792e6068464bbc223ad2ee2441 (patch)
tree92a8074a5805aab7a2e4615b24e477c1df1a648a /cpukit
parentsapi: Add and use rtems_internal_error_description (diff)
downloadrtems-b31a9603e06622792e6068464bbc223ad2ee2441.tar.bz2
score: Add INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR
Use INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR on PowerPC for _CPU_ISR_install_vector().
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/sapi/src/interrdesc.c3
-rw-r--r--cpukit/score/cpu/powerpc/Makefile.am1
-rw-r--r--cpukit/score/cpu/powerpc/ppc-isr-vector-install.c33
-rw-r--r--cpukit/score/include/rtems/score/interr.h3
4 files changed, 38 insertions, 2 deletions
diff --git a/cpukit/sapi/src/interrdesc.c b/cpukit/sapi/src/interrdesc.c
index 181bcffd04..5eab68313b 100644
--- a/cpukit/sapi/src/interrdesc.c
+++ b/cpukit/sapi/src/interrdesc.c
@@ -42,7 +42,8 @@ static const char *const internal_error_desc [] = {
"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_NO_MEMORY_FOR_HEAP",
+ "INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR"
};
const char *rtems_internal_error_description( rtems_fatal_code error )
diff --git a/cpukit/score/cpu/powerpc/Makefile.am b/cpukit/score/cpu/powerpc/Makefile.am
index 65007ef533..e8b2f920c7 100644
--- a/cpukit/score/cpu/powerpc/Makefile.am
+++ b/cpukit/score/cpu/powerpc/Makefile.am
@@ -13,6 +13,7 @@ include_rtems_powerpc_HEADERS = rtems/powerpc/registers.h
noinst_LIBRARIES = libscorecpu.a
libscorecpu_a_SOURCES = cpu.c
+libscorecpu_a_SOURCES += ppc-isr-vector-install.c
libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS)
include $(srcdir)/preinstall.am
diff --git a/cpukit/score/cpu/powerpc/ppc-isr-vector-install.c b/cpukit/score/cpu/powerpc/ppc-isr-vector-install.c
new file mode 100644
index 0000000000..4b8e81a5ea
--- /dev/null
+++ b/cpukit/score/cpu/powerpc/ppc-isr-vector-install.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2012 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 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.com/license/LICENSE.
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
+#include <rtems/score/cpu.h>
+#include <rtems/score/interr.h>
+
+void _CPU_ISR_install_vector(
+ uint32_t vector,
+ proc_ptr new_handler,
+ proc_ptr *old_handler
+)
+{
+ _Internal_error_Occurred(
+ INTERNAL_ERROR_CORE,
+ false,
+ INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR
+ );
+}
diff --git a/cpukit/score/include/rtems/score/interr.h b/cpukit/score/include/rtems/score/interr.h
index 8aa85aeb74..6d823a3244 100644
--- a/cpukit/score/include/rtems/score/interr.h
+++ b/cpukit/score/include/rtems/score/interr.h
@@ -73,7 +73,8 @@ typedef enum {
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_NO_MEMORY_FOR_HEAP,
+ INTERNAL_ERROR_CPU_ISR_INSTALL_VECTOR
} Internal_errors_Core_list;
typedef uint32_t Internal_errors_t;