summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/sh
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-12-08 13:13:14 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-12-08 13:14:32 +0100
commit604f080c2cb526593b9236b5248ca9c2cd92e9b5 (patch)
treebab8970fe8ecf0a831665b1f00f1859d9f4d1182 /c/src/lib/libcpu/sh
parentbsp/csb337: Move libcpu files to BSP (diff)
downloadrtems-604f080c2cb526593b9236b5248ca9c2cd92e9b5.tar.bz2
bsp/shsim: Move libcpu files to BSP
Update #3254.
Diffstat (limited to 'c/src/lib/libcpu/sh')
-rw-r--r--c/src/lib/libcpu/sh/Makefile.am8
-rw-r--r--c/src/lib/libcpu/sh/configure.ac1
-rw-r--r--c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c83
-rw-r--r--c/src/lib/libcpu/sh/shgdb/score/ispshgdb.c147
4 files changed, 0 insertions, 239 deletions
diff --git a/c/src/lib/libcpu/sh/Makefile.am b/c/src/lib/libcpu/sh/Makefile.am
index f659bf66c6..6e1576294b 100644
--- a/c/src/lib/libcpu/sh/Makefile.am
+++ b/c/src/lib/libcpu/sh/Makefile.am
@@ -129,13 +129,5 @@ sh7750_timer_rel_CPPFLAGS = $(AM_CPPFLAGS)
sh7750_timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
endif
-if shgdb
-## sh7045/score
-noinst_PROGRAMS += shgdb/score.rel
-shgdb_score_rel_SOURCES = shgdb/score/cpu_asm.c shgdb/score/ispshgdb.c
-shgdb_score_rel_CPPFLAGS = $(AM_CPPFLAGS)
-shgdb_score_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-endif
-
include $(srcdir)/preinstall.am
include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/lib/libcpu/sh/configure.ac b/c/src/lib/libcpu/sh/configure.ac
index d410e96f27..c3172a228c 100644
--- a/c/src/lib/libcpu/sh/configure.ac
+++ b/c/src/lib/libcpu/sh/configure.ac
@@ -22,7 +22,6 @@ RTEMS_PROG_CCAS
AM_CONDITIONAL([sh7032],[test x"$RTEMS_CPU_MODEL" = x"sh7032"])
AM_CONDITIONAL([sh7045],[test x"$RTEMS_CPU_MODEL" = x"sh7045"])
AM_CONDITIONAL([sh7750],[test x"$RTEMS_CPU_MODEL" = x"sh7750"])
-AM_CONDITIONAL([shgdb],[test x"$RTEMS_CPU_MODEL" = x"shgdb"])
RTEMS_AMPOLISH3
diff --git a/c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c b/c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c
deleted file mode 100644
index 2ca8926a24..0000000000
--- a/c/src/lib/libcpu/sh/shgdb/score/cpu_asm.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Support for SuperH Simulator in GDB
- */
-
-/*
- * COPYRIGHT (c) 1989-2008.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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.
- */
-
-#include <rtems/system.h>
-#include <rtems/score/cpu.h>
-#include <rtems/score/isr.h>
-#include <rtems/score/percpu.h>
-#include <rtems/score/threaddispatch.h>
-#include <rtems/score/sh.h>
-
-#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE)
- unsigned long *_old_stack_ptr;
-#endif
-
-register unsigned long *stack_ptr __asm__ ("r15");
-
-void __ISR_Handler(uint32_t vector);
-
-/*
- * This routine provides the RTEMS interrupt management.
- */
-void __ISR_Handler( uint32_t vector)
-{
- ISR_Level level;
-
- _ISR_Local_disable( level );
-
- _Thread_Dispatch_disable();
-
-#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE)
- if ( _ISR_Nest_level == 0 )
- {
- /* Install irq stack */
- _old_stack_ptr = stack_ptr;
- stack_ptr = _CPU_Interrupt_stack_high;
- }
-
-#endif
-
- _ISR_Nest_level++;
-
- _ISR_Local_enable( level );
-
- /* call isp */
- if ( _ISR_Vector_table[ vector])
- (*_ISR_Vector_table[ vector ])( vector );
-
- _ISR_Local_disable( level );
-
- _Thread_Dispatch_unnest( _Per_CPU_Get() );
-
- _ISR_Nest_level--;
-
-#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE)
-
- if ( _ISR_Nest_level == 0 )
- /* restore old stack pointer */
- stack_ptr = _old_stack_ptr;
-#endif
-
- _ISR_Local_enable( level );
-
- if ( _ISR_Nest_level )
- return;
-
- if ( !_Thread_Dispatch_is_enabled() ) {
- return;
- }
-
- if ( _Thread_Dispatch_necessary ) {
- _Thread_Dispatch();
- }
-}
diff --git a/c/src/lib/libcpu/sh/shgdb/score/ispshgdb.c b/c/src/lib/libcpu/sh/shgdb/score/ispshgdb.c
deleted file mode 100644
index 191eb2f893..0000000000
--- a/c/src/lib/libcpu/sh/shgdb/score/ispshgdb.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * This file contains the isp frames for the user interrupts.
- * From these procedures __ISR_Handler is called with the vector number
- * as argument.
- *
- * __ISR_Handler is kept in a separate file (cpu_asm.c), because a bug in
- * some releases of gcc doesn't properly handle #pragma interrupt, if a
- * file contains both isrs and normal functions.
- *
- * Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) and
- * Bernd Becker (becker@faw.uni-ulm.de)
- *
- * COPYRIGHT (c) 1997-1998, FAW Ulm, Germany
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE
- *
- *
- * COPYRIGHT (c) 1998.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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.
- *
- * Modified to reflect dummy isp entries for GDB SH simulator by Joel.
- */
-
-#include <rtems/system.h>
-#include <rtems/score/types.h>
-
-/*
- * This is a exception vector table
- *
- * It has the same structure as the actual vector table (vectab)
- */
-
-void _dummy_isp(uint32_t);
-
-proc_ptr _Hardware_isr_Table[256]={
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, /* PWRon Reset, Maual Reset,...*/
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-/* trapa 0 -31 */
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp,
-_dummy_isp, _dummy_isp, _dummy_isp, _dummy_isp, /* irq 152-155*/
-_dummy_isp
-};
-
-#define Str(a)#a
-
-/*
- * Some versions of gcc and all version of egcs at least until egcs-1.1b
- * are not able to handle #pragma interrupt correctly if more than 1 isr is
- * contained in a file and when optimizing.
- * We try to work around this problem by using the macro below.
- */
-#define isp( name, number, func)\
-__asm__ (".global _"Str(name)"\n\t"\
- "_"Str(name)": \n\t"\
- " mov.l r0,@-r15 \n\t"\
- " mov.l r1,@-r15 \n\t"\
- " mov.l r2,@-r15 \n\t"\
- " mov.l r3,@-r15 \n\t"\
- " mov.l r4,@-r15 \n\t"\
- " mov.l r5,@-r15 \n\t"\
- " mov.l r6,@-r15 \n\t"\
- " mov.l r7,@-r15 \n\t"\
- " mov.l r14,@-r15 \n\t"\
- " sts.l pr,@-r15 \n\t"\
- " sts.l mach,@-r15 \n\t"\
- " sts.l macl,@-r15 \n\t"\
- " mov r15,r14 \n\t"\
- " mov.l "Str(name)"_v, r2 \n\t"\
- " mov.l "Str(name)"_k, r1\n\t"\
- " jsr @r1 \n\t"\
- " mov r2,r4 \n\t"\
- " mov r14,r15 \n\t"\
- " lds.l @r15+,macl \n\t"\
- " lds.l @r15+,mach \n\t"\
- " lds.l @r15+,pr \n\t"\
- " mov.l @r15+,r14 \n\t"\
- " mov.l @r15+,r7 \n\t"\
- " mov.l @r15+,r6 \n\t"\
- " mov.l @r15+,r5 \n\t"\
- " mov.l @r15+,r4 \n\t"\
- " mov.l @r15+,r3 \n\t"\
- " mov.l @r15+,r2 \n\t"\
- " mov.l @r15+,r1 \n\t"\
- " mov.l @r15+,r0 \n\t"\
- " rte \n\t"\
- " nop \n\t"\
- " .align 2 \n\t"\
- #name"_k: \n\t"\
- ".long "Str(func)"\n\t"\
- #name"_v: \n\t"\
- ".long "Str(number));
-
-/************************************************
- * Dummy interrupt service procedure for
- * interrupts being not allowed --> Trap 34
- ************************************************/
-__asm__ (" .section .text\n\
-.global __dummy_isp\n\
-__dummy_isp:\n\
- mov.l r14,@-r15\n\
- mov r15, r14\n\
- trapa #34\n\
- mov.l @r15+,r14\n\
- rte\n\
- nop");
-