diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-13 17:53:43 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-15 15:33:11 +0100 |
commit | b31a9603e06622792e6068464bbc223ad2ee2441 (patch) | |
tree | 92a8074a5805aab7a2e4615b24e477c1df1a648a /cpukit | |
parent | sapi: Add and use rtems_internal_error_description (diff) | |
download | rtems-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.c | 3 | ||||
-rw-r--r-- | cpukit/score/cpu/powerpc/Makefile.am | 1 | ||||
-rw-r--r-- | cpukit/score/cpu/powerpc/ppc-isr-vector-install.c | 33 | ||||
-rw-r--r-- | cpukit/score/include/rtems/score/interr.h | 3 |
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; |