On Wed, Jun 23, 2021 at 12:49 AM Sebastian Huber <[email protected]> wrote: > > The _ISR_Handler_initialization() does not touch the _ISR_Vector_table[]. > Move > the definition of _ISR_Vector_table[] to a separate file. > > Change license to BSD-2-Clause according to file history and re-licensing > agreement. > > Update #3053. > --- > cpukit/Makefile.am | 1 + > cpukit/score/src/isr.c | 8 ------ > cpukit/score/src/isrvectortable.c | 48 +++++++++++++++++++++++++++++++ > spec/build/cpukit/librtemscpu.yml | 1 + > 4 files changed, 50 insertions(+), 8 deletions(-) > create mode 100644 cpukit/score/src/isrvectortable.c > > diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am > index df970e5a1c..25382f38ca 100644 > --- a/cpukit/Makefile.am > +++ b/cpukit/Makefile.am > @@ -1023,6 +1023,7 @@ librtemscpu_a_SOURCES += score/src/chainnodecount.c > librtemscpu_a_SOURCES += score/src/debugisthreaddispatchingallowed.c > librtemscpu_a_SOURCES += score/src/interr.c > librtemscpu_a_SOURCES += score/src/isr.c > +librtemscpu_a_SOURCES += score/src/isrvectortable.c > librtemscpu_a_SOURCES += score/src/wkspace.c > librtemscpu_a_SOURCES += score/src/wkspaceisunifieddefault.c > librtemscpu_a_SOURCES += score/src/wkspacemallocinitdefault.c > diff --git a/cpukit/score/src/isr.c b/cpukit/score/src/isr.c > index 28a6b3082e..b77f682663 100644 > --- a/cpukit/score/src/isr.c > +++ b/cpukit/score/src/isr.c > @@ -25,14 +25,6 @@ > #include <rtems/score/percpu.h> > #include <rtems/config.h> > > -#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) > - ISR_Handler_entry _ISR_Vector_table[ CPU_INTERRUPT_NUMBER_OF_VECTORS ]; > -#elif defined(CPU_INTERRUPT_NUMBER_OF_VECTORS) > - #error "CPU_INTERRUPT_NUMBER_OF_VECTORS is defined for non-simple vectored > interrupts" > -#elif defined(CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER) > - #error "CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER is defined for non-simple > vectored interrupts" > -#endif > - > void _ISR_Handler_initialization( void ) > { > uint32_t cpu_max; > diff --git a/cpukit/score/src/isrvectortable.c > b/cpukit/score/src/isrvectortable.c > new file mode 100644 > index 0000000000..4bd892757e > --- /dev/null > +++ b/cpukit/score/src/isrvectortable.c > @@ -0,0 +1,48 @@ > +/* SPDX-License-Identifier: BSD-2-Clause */ > + > +/** > + * @file > + * > + * @ingroup RTEMSScoreISR > + * > + * @brief This source file contains the definition of ::_ISR_Vector_table. > + */ > + > +/* > + * Copyright (C) 2014 embedded brains GmbH (http://www.embedded-brains.de) > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS > IS" > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > + * POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#ifdef HAVE_CONFIG_H > +#include "config.h" > +#endif > + > +#include <rtems/score/isr.h> > + > +#if (CPU_SIMPLE_VECTORED_INTERRUPTS == TRUE) > + ISR_Handler_entry _ISR_Vector_table[ CPU_INTERRUPT_NUMBER_OF_VECTORS ]; > +#elif defined(CPU_INTERRUPT_NUMBER_OF_VECTORS)
Do we want to change this to _VECTOR_COUNT to be consistent with the other patch set/API? > + #error "CPU_INTERRUPT_NUMBER_OF_VECTORS is defined for non-simple vectored > interrupts" > +#elif defined(CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER) > + #error "CPU_INTERRUPT_MAXIMUM_VECTOR_NUMBER is defined for non-simple > vectored interrupts" > +#endif > diff --git a/spec/build/cpukit/librtemscpu.yml > b/spec/build/cpukit/librtemscpu.yml > index e3f328ec5f..0abff9d439 100644 > --- a/spec/build/cpukit/librtemscpu.yml > +++ b/spec/build/cpukit/librtemscpu.yml > @@ -1417,6 +1417,7 @@ source: > - cpukit/score/src/iovprintf.c > - cpukit/score/src/isr.c > - cpukit/score/src/isrisinprogress.c > +- cpukit/score/src/isrvectortable.c > - cpukit/score/src/iterateoverthreads.c > - cpukit/score/src/kern_tc.c > - cpukit/score/src/libatomic.c > -- > 2.26.2 > > _______________________________________________ > devel mailing list > [email protected] > http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list [email protected] http://lists.rtems.org/mailman/listinfo/devel
