[PATCH] epiphany: Remove support for this target

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Jul 3 05:48:58 UTC 2020


Due to an unmaintained toolchain (internal errors in GCC, no FSF GDB
integration) the Epiphany architecture was obsoleted in RTEMS 5.1.

Update #3941.
---
 bsps/epiphany/epiphany_sim/README             |   6 -
 bsps/epiphany/epiphany_sim/btimer/btimer.c    | 108 ---
 .../epiphany_sim/config/epiphany_sim.cfg      |  10 -
 .../epiphany_sim/console/console-io.c         | 104 ---
 bsps/epiphany/epiphany_sim/headers.am         |  10 -
 bsps/epiphany/epiphany_sim/include/bsp.h      |  74 ---
 bsps/epiphany/epiphany_sim/include/bsp/irq.h  |  49 --
 bsps/epiphany/epiphany_sim/include/tm27.h     |   1 -
 bsps/epiphany/epiphany_sim/irq/irq.c          |  64 --
 bsps/epiphany/epiphany_sim/start/bsp_specs    |   9 -
 bsps/epiphany/epiphany_sim/start/linkcmds     | 373 -----------
 bsps/epiphany/epiphany_sim/start/start.S      | 167 -----
 bsps/epiphany/headers.am                      |   5 -
 bsps/epiphany/include/bsp/linker-symbols.h    |  79 ---
 bsps/epiphany/shared/doxygen.h                |  15 -
 c/src/aclocal/check-networking.m4             |   5 -
 c/src/aclocal/rtems-cpu-subdirs.m4            |   1 -
 c/src/lib/libbsp/epiphany/Makefile.am         |   7 -
 c/src/lib/libbsp/epiphany/acinclude.m4        |  10 -
 c/src/lib/libbsp/epiphany/configure.ac        |  20 -
 .../libbsp/epiphany/epiphany_sim/Makefile.am  |  66 --
 .../libbsp/epiphany/epiphany_sim/configure.ac |  32 -
 cpukit/Makefile.am                            |  13 -
 cpukit/aclocal/check-networking.m4            |   4 -
 cpukit/configure.ac                           |   1 -
 cpukit/score/cpu/epiphany/cpu.c               |  87 ---
 .../epiphany/epiphany-context-initialize.c    |  66 --
 .../cpu/epiphany/epiphany-context-switch.S    | 215 ------
 .../cpu/epiphany/epiphany-exception-handler.S | 304 ---------
 cpukit/score/cpu/epiphany/headers.am          |   8 -
 cpukit/score/cpu/epiphany/include/rtems/asm.h | 120 ----
 .../cpu/epiphany/include/rtems/score/cpu.h    | 614 ------------------
 .../epiphany/include/rtems/score/cpu_asm.h    |  74 ---
 .../epiphany/include/rtems/score/cpuatomic.h  |  14 -
 .../epiphany/include/rtems/score/cpuimpl.h    |  67 --
 .../include/rtems/score/epiphany-utility.h    | 180 -----
 .../epiphany/include/rtems/score/epiphany.h   |  64 --
 cpukit/score/cpu/epiphany/setjmp.S            |  69 --
 38 files changed, 3115 deletions(-)
 delete mode 100644 bsps/epiphany/epiphany_sim/README
 delete mode 100644 bsps/epiphany/epiphany_sim/btimer/btimer.c
 delete mode 100644 bsps/epiphany/epiphany_sim/config/epiphany_sim.cfg
 delete mode 100644 bsps/epiphany/epiphany_sim/console/console-io.c
 delete mode 100644 bsps/epiphany/epiphany_sim/headers.am
 delete mode 100644 bsps/epiphany/epiphany_sim/include/bsp.h
 delete mode 100644 bsps/epiphany/epiphany_sim/include/bsp/irq.h
 delete mode 100644 bsps/epiphany/epiphany_sim/include/tm27.h
 delete mode 100644 bsps/epiphany/epiphany_sim/irq/irq.c
 delete mode 100644 bsps/epiphany/epiphany_sim/start/bsp_specs
 delete mode 100644 bsps/epiphany/epiphany_sim/start/linkcmds
 delete mode 100644 bsps/epiphany/epiphany_sim/start/start.S
 delete mode 100644 bsps/epiphany/headers.am
 delete mode 100644 bsps/epiphany/include/bsp/linker-symbols.h
 delete mode 100644 bsps/epiphany/shared/doxygen.h
 delete mode 100644 c/src/lib/libbsp/epiphany/Makefile.am
 delete mode 100644 c/src/lib/libbsp/epiphany/acinclude.m4
 delete mode 100644 c/src/lib/libbsp/epiphany/configure.ac
 delete mode 100644 c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am
 delete mode 100644 c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac
 delete mode 100644 cpukit/score/cpu/epiphany/cpu.c
 delete mode 100644 cpukit/score/cpu/epiphany/epiphany-context-initialize.c
 delete mode 100644 cpukit/score/cpu/epiphany/epiphany-context-switch.S
 delete mode 100644 cpukit/score/cpu/epiphany/epiphany-exception-handler.S
 delete mode 100644 cpukit/score/cpu/epiphany/headers.am
 delete mode 100644 cpukit/score/cpu/epiphany/include/rtems/asm.h
 delete mode 100644 cpukit/score/cpu/epiphany/include/rtems/score/cpu.h
 delete mode 100644 cpukit/score/cpu/epiphany/include/rtems/score/cpu_asm.h
 delete mode 100644 cpukit/score/cpu/epiphany/include/rtems/score/cpuatomic.h
 delete mode 100644 cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h
 delete mode 100644 cpukit/score/cpu/epiphany/include/rtems/score/epiphany-utility.h
 delete mode 100644 cpukit/score/cpu/epiphany/include/rtems/score/epiphany.h
 delete mode 100644 cpukit/score/cpu/epiphany/setjmp.S

diff --git a/bsps/epiphany/epiphany_sim/README b/bsps/epiphany/epiphany_sim/README
deleted file mode 100644
index 7127d91a66..0000000000
--- a/bsps/epiphany/epiphany_sim/README
+++ /dev/null
@@ -1,6 +0,0 @@
-This BSP is intended to run on epiphany-*-run simulator.
-
-From command line type:
-
-$ epiphany-rtems4.11-run -e=on --memory-region 0x8e000000,0x2000000 \
-  $PATH_TO_RTEMS_EXE
diff --git a/bsps/epiphany/epiphany_sim/btimer/btimer.c b/bsps/epiphany/epiphany_sim/btimer/btimer.c
deleted file mode 100644
index 9cb8526822..0000000000
--- a/bsps/epiphany/epiphany_sim/btimer/btimer.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#include <rtems.h>
-#include <bsp.h>
-#include <rtems/btimer.h>
-#include <rtems/score/epiphany-utility.h>
-
-extern char bsp_start_vector_table_begin[];
-
-bool benchmark_timer_find_average_overhead;
-
-static void benchmark_timer1_interrupt_handler(void)
-{
-  unsigned int val = 0xFFFFFFFF;
-  unsigned int event_type = 0x1;
-
-  /* Embed assembly code for setting timer1 */
-  __asm__ __volatile__ ("movts ctimer1, %[val] \t \n" :: [val] "r" (val));
-
-  __asm__ __volatile__ ("movfs r16, config; \t \n"
-                "mov   r17, %%low(0xfffff0ff);\t \n"
-                "movt  r17, %%high(0xffff0ff);\t \n"
-                "lsl   r18, %[event_type], 0x8; \t \n"
-                "and   r16, r16, r17; \t \n"
-                "orr   r16, r16, r18; \t \n"
-                "movts config, r16; \t \n"
-                :: [event_type] "r" (event_type));
-}
-
-/* Start eCore tiemr 1 usef for profiling and timing analysis */
-void benchmark_timer_initialize( void )
-{
-  /* Install interrupt handler for timer 1 */
-
-  void (**table)(void) = (void (**)(void)) bsp_start_vector_table_begin;
-
-  table[TIMER1] = benchmark_timer1_interrupt_handler;
-
-  benchmark_timer1_interrupt_handler();
-}
-
-/*
- *  The following controls the behavior of benchmark_timer_read().
- *
- *  AVG_OVEREHAD is the overhead for starting and stopping the timer.  It
- *  is usually deducted from the number returned.
- *
- *  LEAST_VALID is the lowest number this routine should trust.  Numbers
- *  below this are "noise" and zero is returned.
- */
-
-#define AVG_OVERHEAD      0  /* It typically takes X.X microseconds */
-                             /* (Y countdowns) to start/stop the timer. */
-                             /* This value is in microseconds. */
-#define LEAST_VALID       1  /* Don't trust a clicks value lower than this */
-
-benchmark_timer_t benchmark_timer_read( void )
-{
-  uint32_t timer_val = 0;
-  uint32_t total;
-
-  __asm__ __volatile__ ("movfs %[timer_val], ctimer1 \t \n"
-    :[timer_val] "=r" (timer_val):);
-
-  total = (0xFFFFFFFF - timer_val);
-
-  if ( benchmark_timer_find_average_overhead == true )
-    return total;
-  else {
-    if ( total < LEAST_VALID )
-      return 0;            /* below timer resolution */
-  /*
-   *  Somehow convert total into microseconds
-   */
-      return (total - AVG_OVERHEAD);
-    }
-}
-
-void benchmark_timer_disable_subtracting_average_overhead(
-  bool find_flag
-)
-{
-  benchmark_timer_find_average_overhead = find_flag;
-}
diff --git a/bsps/epiphany/epiphany_sim/config/epiphany_sim.cfg b/bsps/epiphany/epiphany_sim/config/epiphany_sim.cfg
deleted file mode 100644
index 1fef6085d1..0000000000
--- a/bsps/epiphany/epiphany_sim/config/epiphany_sim.cfg
+++ /dev/null
@@ -1,10 +0,0 @@
-include $(RTEMS_ROOT)/make/custom/default.cfg
-
-RTEMS_CPU = epiphany
-
-CPU_CFLAGS =
-
-CFLAGS_OPTIMIZE_V ?= -O0 -g
-CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
-
-LDFLAGS = -Wl,--gc-sections
diff --git a/bsps/epiphany/epiphany_sim/console/console-io.c b/bsps/epiphany/epiphany_sim/console/console-io.c
deleted file mode 100644
index e3da54389f..0000000000
--- a/bsps/epiphany/epiphany_sim/console/console-io.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#include <bsp.h>
-#include <bsp/console-polled.h>
-#include <rtems/libio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <stdio.h>
-
-static void outbyte_console( char );
-static char inbyte_console( void );
-
-void console_initialize_hardware(void)
-{
-  /* Do nothing */
-}
-
-/* Epiphany simulator would handle this system call */
-static void outbyte_console(char c)
-{
-  register int chan asm("r0") = STDOUT_FILENO;
-  register void* addr asm("r1") = &c;
-  register int len asm("r2") = 1;
-
-  /* Invoke write system call to be handled by Epiphany simulator */
-  __asm__ __volatile__ ("trap 0" : : "r" (chan), "r" (addr), "r" (len));
-}
-
-static char inbyte_console(void)
-{
-  char c;
-  register int chan asm("r0") = STDIN_FILENO;
-  register void* addr asm("r1") = &c;
-  register int len asm("r2") = 1;
-
-  /* Invoke read system call to be handled by Epiphany simulator */
-  asm ("trap 1" :: "r" (chan), "r" (addr), "r" (len));
-  return c;
-}
-
-/*
- *  console_outbyte_polled
- *
- *  This routine transmits a character using polling.
- */
-void console_outbyte_polled(
-  int  port,
-  char ch
-)
-{
-  outbyte_console( ch );
-}
-
-/*
- *  console_inbyte_nonblocking
- *
- *  This routine polls for a character.
- */
-
-int console_inbyte_nonblocking(int port)
-{
-  char c;
-
-  c = inbyte_console();
-  if (!c)
-    return -1;
-  return (int) c;
-}
-
-/*
- *  To support printk
- */
-
-#include <rtems/bspIo.h>
-
-static void Epiphany_output_char(char c) { console_outbyte_polled( 0, c ); }
-
-BSP_output_char_function_type BSP_output_char = Epiphany_output_char;
-BSP_polling_getchar_function_type BSP_poll_char =
-  (void *)console_inbyte_nonblocking;
diff --git a/bsps/epiphany/epiphany_sim/headers.am b/bsps/epiphany/epiphany_sim/headers.am
deleted file mode 100644
index bbe2514398..0000000000
--- a/bsps/epiphany/epiphany_sim/headers.am
+++ /dev/null
@@ -1,10 +0,0 @@
-## This file was generated by "./boostrap -H".
-
-include_HEADERS =
-include_HEADERS += ../../../../../../bsps/epiphany/epiphany_sim/include/bsp.h
-include_HEADERS += include/bspopts.h
-include_HEADERS += ../../../../../../bsps/epiphany/epiphany_sim/include/tm27.h
-
-include_bspdir = $(includedir)/bsp
-include_bsp_HEADERS =
-include_bsp_HEADERS += ../../../../../../bsps/epiphany/epiphany_sim/include/bsp/irq.h
diff --git a/bsps/epiphany/epiphany_sim/include/bsp.h b/bsps/epiphany/epiphany_sim/include/bsp.h
deleted file mode 100644
index 36b3f1fad0..0000000000
--- a/bsps/epiphany/epiphany_sim/include/bsp.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * @file
- *
- * @ingroup RTEMSBSPsEpiphanySim
- */
-
-/*
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#ifndef LIBBSP_EPIPHANY_EPIPHANY_SIM_H
-#define LIBBSP_EPIPHANY_EPIPHANY_SIM_H
-
-/**
- * @defgroup RTEMSBSPsEpiphanySim Simulator
- *
- * @ingroup RTEMSBSPsEpiphany
- *
- * @brief Simulator Board Support Package.
- *
- * @{
- */
-
-#include <rtems.h>
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems/devnull.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @name Constants
- *
- * @{
- */
-void *clock_driver_sim_idle_body(uintptr_t);
-#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-/** @} */
-
-#endif /* LIBBSP_EPIPHANY_EPIPHANY_SIM_H */
diff --git a/bsps/epiphany/epiphany_sim/include/bsp/irq.h b/bsps/epiphany/epiphany_sim/include/bsp/irq.h
deleted file mode 100644
index 2b15a4536c..0000000000
--- a/bsps/epiphany/epiphany_sim/include/bsp/irq.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * @file
- *
- * @ingroup Epiphany_IRQ
- *
- * @brief Interrupt definitions.
- */
-
-/*
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#ifndef LIBBSP_GENERIC_EPIPHANY_IRQ_H
-#define LIBBSP_GENERIC_EPIPHANY_IRQ_H
-
-#ifndef ASM
-
-#include <rtems.h>
-#include <rtems/irq.h>
-#include <rtems/irq-extension.h>
-
-#define BSP_INTERRUPT_VECTOR_MIN  0x0
-#define BSP_INTERRUPT_VECTOR_MAX  0x24
-
-#endif /* ASM */
-#endif /* LIBBSP_GENERIC_OR1K_IRQ_H */
diff --git a/bsps/epiphany/epiphany_sim/include/tm27.h b/bsps/epiphany/epiphany_sim/include/tm27.h
deleted file mode 100644
index 0dfa7bf628..0000000000
--- a/bsps/epiphany/epiphany_sim/include/tm27.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <rtems/tm27-default.h>
diff --git a/bsps/epiphany/epiphany_sim/irq/irq.c b/bsps/epiphany/epiphany_sim/irq/irq.c
deleted file mode 100644
index 994e25bf0e..0000000000
--- a/bsps/epiphany/epiphany_sim/irq/irq.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * @file
- *
- * @ingroup epiphany_interrupt
- *
- * @brief Interrupt support.
- */
-
-/*
- * Epiphany CPU Dependent Source
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#include <bsp/irq.h>
-#include <bsp/irq-generic.h>
-
-#include <rtems/inttypes.h>
-
-/* Almost all of the jobs that the following functions should
- * do are implemented in cpukit
- */
-
-void bsp_interrupt_handler_default(rtems_vector_number vector)
-{
-    printk("spurious interrupt: %" PRIdrtems_vector_number "\n", vector);
-}
-
-rtems_status_code bsp_interrupt_facility_initialize()
-{
-  return 0;
-}
-
-void bsp_interrupt_vector_enable(rtems_vector_number vector)
-{
-  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
-}
-
-void bsp_interrupt_vector_disable(rtems_vector_number vector)
-{
-  bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
-}
diff --git a/bsps/epiphany/epiphany_sim/start/bsp_specs b/bsps/epiphany/epiphany_sim/start/bsp_specs
deleted file mode 100644
index 87638cc027..0000000000
--- a/bsps/epiphany/epiphany_sim/start/bsp_specs
+++ /dev/null
@@ -1,9 +0,0 @@
-%rename endfile old_endfile
-%rename startfile old_startfile
-
-*startfile:
-%{!qrtems: %(old_startfile)} \
-%{!nostdlib: %{qrtems: crti.o%s crtbegin.o%s}}
-
-*endfile:
-%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}
diff --git a/bsps/epiphany/epiphany_sim/start/linkcmds b/bsps/epiphany/epiphany_sim/start/linkcmds
deleted file mode 100644
index 8ef1b5b89b..0000000000
--- a/bsps/epiphany/epiphany_sim/start/linkcmds
+++ /dev/null
@@ -1,373 +0,0 @@
-/**
- * @file
- *
- * @ingroup bsp_linker
- *
- * @brief Memory map
- */
-
-/*
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-OUTPUT_FORMAT("elf32-epiphany", "elf32-epiphany", "elf32-epiphany")
-OUTPUT_ARCH (epiphany)
-
-ENTRY (_start)
-STARTUP (start.o)
-
-MEMORY
-{
-  VECTOR_RAM  (AIW) : ORIGIN = 0x00000000, LENGTH = 0xB0
-  LOCAL_MEM   (AIW) : ORIGIN = 0x000000B0, LENGTH = 0x00007FC0 /* 32KiB Local memory */
-  RAM               : ORIGIN = 0x8E000000, LENGTH = 0x01000000 /* 16MiB external RAM */
-}
-
-REGION_ALIAS ("REGION_START", LOCAL_MEM);
-REGION_ALIAS ("REGION_VECTOR", VECTOR_RAM);
-REGION_ALIAS ("REGION_TEXT", RAM);
-REGION_ALIAS ("REGION_TEXT_LOAD", RAM);
-REGION_ALIAS ("REGION_RODATA", RAM);
-REGION_ALIAS ("REGION_RODATA_LOAD", RAM);
-REGION_ALIAS ("REGION_DATA", RAM);
-REGION_ALIAS ("REGION_DATA_LOAD", RAM);
-REGION_ALIAS ("REGION_FAST_DATA", RAM);
-REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM);
-REGION_ALIAS ("REGION_BSS", RAM);
-REGION_ALIAS ("REGION_WORK", RAM);
-REGION_ALIAS ("REGION_STACK", RAM);
-
-/* The following address is used for text output */
-bsp_section_outbut_buffer = 0x8F800000;
-bsp_section_vector_begin  = 0x00000000;
-
-/*
- * Global symbols that may be defined externally
- */
-bsp_vector_table_size = DEFINED (bsp_vector_table_size) ? bsp_vector_table_size : 64;
-
-bsp_section_xbarrier_align  = DEFINED (bsp_section_xbarrier_align) ? bsp_section_xbarrier_align : 1;
-bsp_section_robarrier_align = DEFINED (bsp_section_robarrier_align) ? bsp_section_robarrier_align : 1;
-bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1;
-
-bsp_stack_align = DEFINED (bsp_stack_align) ? bsp_stack_align : 8;
-
-bsp_stack_main_size = DEFINED (bsp_stack_main_size) ? bsp_stack_main_size : 1024;
-bsp_stack_main_size = ALIGN (bsp_stack_main_size, bsp_stack_align);
-
-SECTIONS {
-
-  .vector :
-  {
-    *(.vector)
-    . = ALIGN(bsp_vector_table_size);
-    bsp_section_vector_end = .;
-  } > REGION_VECTOR AT > REGION_VECTOR
-  bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin;
-  bsp_vector_table_begin = bsp_section_vector_begin;
-  bsp_vector_table_end = bsp_vector_table_begin + bsp_vector_table_size;
-
-  .start :
-  {
-    . = ALIGN(8);
-    bsp_section_start_begin = .;
-    KEEP (*(.bsp_start_text))
-    KEEP (*(.bsp_start_data))
-    bsp_section_start_end = .;
-  } > REGION_START AT > REGION_START
-  bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin;
-
-.xbarrier :   {
-    . = ALIGN (bsp_section_xbarrier_align);
-  } > REGION_VECTOR AT > REGION_VECTOR
-
-.text :   {
-    . = ALIGN(8);
-    bsp_section_text_begin = .;
-    *(.text.unlikely .text.*_unlikely)
-    *(.text .stub .text.* .gnu.linkonce.t.*)
-    /* .gnu.warning sections are handled specially by elf32.em.  */
-    *(.gnu.warning)
-    *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
-  } > REGION_TEXT AT > REGION_TEXT_LOAD
-  .init :   {
-    KEEP (*(.init))
-  } > REGION_TEXT AT > REGION_TEXT_LOAD
-  .fini :   {
-    KEEP (*(.fini))
-    . = ALIGN(8);
-    bsp_section_text_end = .;
-  } > REGION_TEXT AT > REGION_TEXT_LOAD
-  bsp_section_text_size = bsp_section_text_end - bsp_section_text_begin;
-  bsp_section_text_load_begin = LOADADDR (.text);
-  bsp_section_text_load_end = bsp_section_text_load_begin + bsp_section_text_size;
-
-.robarrier :   {
-    . = ALIGN (bsp_section_robarrier_align);
-  } > REGION_RODATA AT > REGION_RODATA
-
-.rodata :   {
-    . = ALIGN(8);
-    bsp_section_rodata_begin = .;
-    *(.rodata .rodata.* .gnu.linkonce.r.*)
-  } > REGION_RODATA AT > REGION_RODATA_LOAD
-.eh_frame :   {
-               KEEP (*(.eh_frame))
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .gcc_except_table :   {
-               *(.gcc_except_table .gcc_except_table.*)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .tdata :   {
-               _TLS_Data_begin = .;
-               *(.tdata .tdata.* .gnu.linkonce.td.*)
-               _TLS_Data_end = .;
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .tbss :   {
-               _TLS_BSS_begin = .;
-               *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
-               _TLS_BSS_end = .;
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
-       _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
-       _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
-       _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
-       _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
-       _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
-       .preinit_array :   {
-               PROVIDE_HIDDEN (__preinit_array_start = .);
-               KEEP (*(.preinit_array))
-               PROVIDE_HIDDEN (__preinit_array_end = .);
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .init_array :   {
-               PROVIDE_HIDDEN (__init_array_start = .);
-               KEEP (*(SORT(.init_array.*)))
-               KEEP (*(.init_array))
-               PROVIDE_HIDDEN (__init_array_end = .);
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .fini_array :   {
-               PROVIDE_HIDDEN (__fini_array_start = .);
-               KEEP (*(.fini_array))
-               KEEP (*(SORT(.fini_array.*)))
-               PROVIDE_HIDDEN (__fini_array_end = .);
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .ctors :   {
-               /* gcc uses crtbegin.o to find the start of
-                  the constructors, so we make sure it is
-                  first.  Because this is a wildcard, it
-                  doesn't matter if the user does not
-                  actually link against crtbegin.o; the
-                  linker won't look for a file to match a
-                  wildcard.  The wildcard also means that it
-                  doesn't matter which directory crtbegin.o
-                  is in.  */
-               KEEP (*crtbegin.o(.ctors))
-               KEEP (*crtbegin?.o(.ctors))
-               /* We don't want to include the .ctor section from
-                  the crtend.o file until after the sorted ctors.
-                  The .ctor section from the crtend file contains the
-                  end of ctors marker and it must be last */
-               KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
-               KEEP (*(SORT(.ctors.*)))
-               KEEP (*(.ctors))
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .dtors :   {
-               KEEP (*crtbegin.o(.dtors))
-               KEEP (*crtbegin?.o(.dtors))
-               KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
-               KEEP (*(SORT(.dtors.*)))
-               KEEP (*(.dtors))
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .data.rel.ro :   {
-               *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
-               *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .jcr :   {
-               KEEP (*(.jcr))
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .interp :   {
-               *(.interp)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .note.gnu.build-id :   {
-               *(.note.gnu.build-id)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .hash :   {
-               *(.hash)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .gnu.hash :   {
-               *(.gnu.hash)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .dynsym :   {
-               *(.dynsym)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .dynstr :   {
-               *(.dynstr)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .gnu.version :   {
-               *(.gnu.version)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .gnu.version_d :   {
-               *(.gnu.version_d)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .gnu.version_r :   {
-               *(.gnu.version_r)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .rel.dyn :   {
-               *(.rel.init)
-               *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
-               *(.rel.fini)
-               *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
-               *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
-               *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
-               *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
-               *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
-               *(.rel.ctors)
-               *(.rel.dtors)
-               *(.rel.got)
-               *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
-               PROVIDE_HIDDEN (__rel_iplt_start = .);
-               *(.rel.iplt)
-               PROVIDE_HIDDEN (__rel_iplt_end = .);
-               PROVIDE_HIDDEN (__rela_iplt_start = .);
-               PROVIDE_HIDDEN (__rela_iplt_end = .);
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .rela.dyn :   {
-               *(.rela.init)
-               *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
-               *(.rela.fini)
-               *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
-               *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
-               *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
-               *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
-               *(.rela.ctors)
-               *(.rela.dtors)
-               *(.rela.got)
-               *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
-               PROVIDE_HIDDEN (__rel_iplt_start = .);
-               PROVIDE_HIDDEN (__rel_iplt_end = .);
-               PROVIDE_HIDDEN (__rela_iplt_start = .);
-               *(.rela.iplt)
-               PROVIDE_HIDDEN (__rela_iplt_end = .);
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .rel.plt :   {
-               *(.rel.plt)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .rela.plt :   {
-               *(.rela.plt)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .plt :   {
-               *(.plt)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .iplt :   {
-               *(.iplt)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .dynamic :   {
-               *(.dynamic)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .got :   {
-               *(.got.plt) *(.igot.plt) *(.got) *(.igot)
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-       .rtemsroset :   {
-               /* Special FreeBSD linker set sections */
-               __start_set_sysctl_set = .;
-               *(set_sysctl_*);
-               __stop_set_sysctl_set = .;
-               *(set_domain_*);
-               *(set_pseudo_*);
-
-               KEEP (*(SORT(.rtemsroset.*)))
-               . = ALIGN(8);
-               bsp_section_rodata_end = .;
-       } > REGION_RODATA AT > REGION_RODATA_LOAD
-  bsp_section_rodata_size = bsp_section_rodata_end - bsp_section_rodata_begin;
-  bsp_section_rodata_load_begin = LOADADDR (.rodata);
-  bsp_section_rodata_load_end = bsp_section_rodata_load_begin + bsp_section_rodata_size;
-
-  .rwbarrier : {
-    . = ALIGN(8);
-    . = ALIGN (bsp_section_rwbarrier_align);
-  } > REGION_DATA AT > REGION_DATA
-
-.data :   {
-    . = ALIGN(8);
-    bsp_section_data_begin = .;
-    *(.data .data.* .gnu.linkonce.d.*)
-    SORT(CONSTRUCTORS)
-  } > REGION_DATA AT > REGION_DATA_LOAD
-  .data1 :   {
-    *(.data1)
-  } > REGION_DATA AT > REGION_DATA_LOAD
-  .rtemsrwset :   {
-    KEEP (*(SORT(.rtemsrwset.*)))
-    . = ALIGN(8);
-    bsp_section_data_end = .;
-  } > REGION_DATA AT > REGION_DATA_LOAD
-  bsp_section_data_size = bsp_section_data_end - bsp_section_data_begin;
-  bsp_section_data_load_begin = LOADADDR (.data);
-  bsp_section_data_load_end = bsp_section_data_load_begin + bsp_section_data_size;
-
-  .bss :   {
-    . = ALIGN(8);
-    bsp_section_bss_begin = .;
-    *(.dynbss)
-    *(.bss .bss.* .gnu.linkonce.b.*)
-    *(COMMON)
-    . = ALIGN(8);
-    bsp_section_bss_end = .;
-  } > REGION_BSS AT > REGION_BSS
-  bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
-
-  .rtemsstack (NOLOAD) : {
-    *(SORT(.rtemsstack.*))
-  } > REGION_WORK AT > REGION_WORK
-
-.work :   {
-    /*
-     * The work section will occupy the remaining REGION_WORK region and
-     * contains the RTEMS work space and heap.
-     */
-    . = ALIGN(8);
-    bsp_section_work_begin = .;
-    . += ORIGIN (REGION_WORK) + LENGTH (REGION_WORK) - ABSOLUTE (.);
-    . = ALIGN(8);
-    bsp_section_work_end = .;
-  } > REGION_WORK AT > REGION_WORK
-  bsp_section_work_size = bsp_section_work_end - bsp_section_work_begin;
-
-  .stack :   {
-    . = ALIGN(8);
-    bsp_section_stack_begin = .;
-    . += ORIGIN (REGION_STACK) + LENGTH (REGION_STACK) - ABSOLUTE (.);
-    . = ALIGN(8);
-    bsp_section_stack_end = .;
-  } > REGION_STACK AT > REGION_STACK
-  bsp_section_stack_size = bsp_section_stack_begin - bsp_section_stack_end;
-
-  RamBase = ORIGIN (REGION_WORK);
-  RamSize = LENGTH (REGION_WORK);
-  RamEnd = RamBase + RamSize;
-  WorkAreaBase = bsp_section_work_begin;
-  HeapSize = 0;
-}
diff --git a/bsps/epiphany/epiphany_sim/start/start.S b/bsps/epiphany/epiphany_sim/start/start.S
deleted file mode 100644
index c79d23dc86..0000000000
--- a/bsps/epiphany/epiphany_sim/start/start.S
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-#include <bsp/linker-symbols.h>
-#include <rtems/asm.h>
-
-EXTERN(bsp_section_bss_begin)
-EXTERN(bsp_section_bss_end)
-EXTERN(_ISR_Handler)
-EXTERN(bsp_start_vector_table_end)
-EXTERN(bsp_start_vector_table_size)
-EXTERN(bsp_vector_table_size)
-EXTERN(_ISR_Stack_area_end)
-
-PUBLIC(_EPIPHANY_Exception_default)
-PUBLIC(bsp_start_vector_table_begin)
-PUBLIC(_start)
-
-.section .vector, "wax"
-TYPE_FUNC(_start)
-SYM(_start):
-  .balign 4 ;
-    b .normal_start
-
-  .balign 4 ; 0x4
-    b .sw_exception
-
-  .balign 4 ; 0x8
-    b .normal_start
-
-  .balign 4 ; 0xc
-    b .clock_isr
-
-  .balign 4 ; 0x10
-    b .timer1_isr
-
-  .balign 4 ; 0x14
-    b _EPIPHANY_Exception_default
-
-  .balign 4 ; 0x18
-    b _EPIPHANY_Exception_default
-
-  .balign 4 ; 0x1c
-    b _EPIPHANY_Exception_default
-
-  .balign 4 ; 0x20
-    b _EPIPHANY_Exception_default
-
-  .balign 4 ; 0x24
-    b _EPIPHANY_Exception_default
-
-bsp_start_vector_table_begin:
-  .word .normal_start /* Reset */
-  .word _EPIPHANY_Exception_default /* SW exception */
-  .word _EPIPHANY_Exception_default /* Data Page Fault */
-  .word _EPIPHANY_Exception_default /* Timer 0 */
-  .word _EPIPHANY_Exception_default /* Timer 1 */
-  .word _EPIPHANY_Exception_default /* Message int */
-  .word _EPIPHANY_Exception_default /* DMA0 int */
-  .word _EPIPHANY_Exception_default /* DMA1 int */
-  .word _EPIPHANY_Exception_default /* WAND */
-  .word _EPIPHANY_Exception_default /* User interrupt */
-
-_bsp_start_vector_table_end:
-
-.size  _start, .-_start
-
-.section .start,"ax"
-.align  4
-.type   _external_start, %function
-.normal_start:
-  /* Initialize the stack and frame pointers */
-  mov  sp, %low(_ISR_Stack_area_end)
-  movt sp, %high(_ISR_Stack_area_end)
-  mov  fp, sp
-
-cpu0:
-  /* Zero .bss section */
-  mov  r0, %low(bsp_section_bss_begin)
-  movt r0, %high(bsp_section_bss_begin)
-  mov  r1, sp
-  mov  r2,#0
-  mov  r3,#0
-
-_bss_clear_loop:
-  strd  r2, [r0], +#1
-  sub   r5, r1, r0
-  bne   _bss_clear_loop
-
-  /* Clear the reset interrupt flag */
-  mov   r0, %low(_jump_to_c)
-  movt  r0, %high(_jump_to_c)
-  movts iret, r0
-  rti
-
-_jump_to_c:
-  /* Jump to bootcard */
-  mov  r3, %low(boot_card)
-  movt r3, %high(boot_card)
-  jalr r3
-
- /* Should never reach here */
- idle
-
-.size  .normal_start, .-.normal_start
-
-.balign 4
-.type   .sw_exception, %function
-.sw_exception:
-  idle
-
-.balign 4
-.type   .clock_isr, %function
-.clock_isr:
-  /*
-   * r62 and r63 are saved here, and restored from _ISR_Handler, they
-   * and hold vector number and _ISR_Handler address repsectively.
-   */
-  add  sp, sp, #-8
-  str  r62, [sp, #0]
-  str  r63, [sp, #4]
-  mov  r62, 3
-  mov  r63, %low(_ISR_Handler)
-  movt r63, %high(_ISR_Handler)
-  jr   r6
-
-.balign 4
-.type   .timer1_isr, %function
-.timer1_isr:
-  /*
-   * r62 and r63 are saved here, and restored from _ISR_Handler, they
-   * and hold vector number and _ISR_Handler address repsectively.
-   */
-  add  sp, sp, #-8
-  str  r62, [sp, 0]
-  str  r63, [sp, 4]
-  mov  r62, 4
-  mov  r63, %low(_ISR_Handler)
-  movt r63, %high(_ISR_Handler)
-  jr   r63
-
-.balign 4
-TYPE_FUNC(_EPIPHANY_Exception_default)
-SYM(_EPIPHANY_Exception_default):
-  idle
diff --git a/bsps/epiphany/headers.am b/bsps/epiphany/headers.am
deleted file mode 100644
index 0ce8fb808b..0000000000
--- a/bsps/epiphany/headers.am
+++ /dev/null
@@ -1,5 +0,0 @@
-## This file was generated by "./boostrap -H".
-
-include_bspdir = $(includedir)/bsp
-include_bsp_HEADERS =
-include_bsp_HEADERS += ../../../../../bsps/epiphany/include/bsp/linker-symbols.h
diff --git a/bsps/epiphany/include/bsp/linker-symbols.h b/bsps/epiphany/include/bsp/linker-symbols.h
deleted file mode 100644
index 1a3d88ec8a..0000000000
--- a/bsps/epiphany/include/bsp/linker-symbols.h
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef LIBBSP_EPIPHANY_SHARED_LINKER_SYMBOLS_H
-#define LIBBSP_EPIPHANY_SHARED_LINKER_SYMBOLS_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/**
- * @defgroup epiphany_linker Linker Support
- *
- * @ingroup RTEMSBSPsEpiphanyShared
- *
- * @brief Linker support.
- *
- * @{
- */
-
-#ifndef ASM
-  #define LINKER_SYMBOL(sym) extern char sym [];
-#else
-  #define LINKER_SYMBOL(sym) .extern sym
-#endif
-
-LINKER_SYMBOL(bsp_section_start_begin)
-LINKER_SYMBOL(bsp_section_start_end)
-LINKER_SYMBOL(bsp_section_start_size)
-
-LINKER_SYMBOL(bsp_section_vector_begin)
-LINKER_SYMBOL(bsp_section_vector_end)
-LINKER_SYMBOL(bsp_section_vector_size)
-
-LINKER_SYMBOL(bsp_section_text_begin)
-LINKER_SYMBOL(bsp_section_text_end)
-LINKER_SYMBOL(bsp_section_text_size)
-LINKER_SYMBOL(bsp_section_text_load_begin)
-LINKER_SYMBOL(bsp_section_text_load_end)
-
-LINKER_SYMBOL(bsp_section_rodata_begin)
-LINKER_SYMBOL(bsp_section_rodata_end)
-LINKER_SYMBOL(bsp_section_rodata_size)
-LINKER_SYMBOL(bsp_section_rodata_load_begin)
-LINKER_SYMBOL(bsp_section_rodata_load_end)
-
-LINKER_SYMBOL(bsp_section_data_begin)
-LINKER_SYMBOL(bsp_section_data_end)
-LINKER_SYMBOL(bsp_section_data_size)
-LINKER_SYMBOL(bsp_section_data_load_begin)
-LINKER_SYMBOL(bsp_section_data_load_end)
-
-LINKER_SYMBOL(bsp_section_bss_begin)
-LINKER_SYMBOL(bsp_section_bss_end)
-LINKER_SYMBOL(bsp_section_bss_size)
-
-LINKER_SYMBOL(bsp_section_work_begin)
-LINKER_SYMBOL(bsp_section_work_end)
-LINKER_SYMBOL(bsp_section_work_size)
-
-LINKER_SYMBOL(bsp_section_stack_begin)
-LINKER_SYMBOL(bsp_section_stack_end)
-LINKER_SYMBOL(bsp_section_stack_size)
-
-LINKER_SYMBOL(bsp_vector_table_begin)
-LINKER_SYMBOL(bsp_vector_table_end)
-LINKER_SYMBOL(bsp_vector_table_size)
-
-LINKER_SYMBOL(bsp_start_vector_table_begin)
-LINKER_SYMBOL(bsp_start_vector_table_end)
-LINKER_SYMBOL(bsp_start_vector_table_size)
-
-LINKER_SYMBOL(bsp_translation_table_base)
-LINKER_SYMBOL(bsp_translation_table_end)
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* LIBBSP_EPIPHANY_SHARED_LINKER_SYMBOLS_H */
diff --git a/bsps/epiphany/shared/doxygen.h b/bsps/epiphany/shared/doxygen.h
deleted file mode 100644
index 2c33073078..0000000000
--- a/bsps/epiphany/shared/doxygen.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * @defgroup RTEMSBSPsEpiphany Epiphany
- *
- * @ingroup RTEMSBSPs
- *
- * @brief Epiphany Board Support Packages.
- */
-
-/**
- * @defgroup RTEMSBSPsEpiphanyShared Shared
- *
- * @ingroup RTEMSBSPsEpiphany
- *
- * @brief Shared Support for Epiphany Board Support Packages.
- */
diff --git a/c/src/aclocal/check-networking.m4 b/c/src/aclocal/check-networking.m4
index dcf467d2ed..24210baed8 100644
--- a/c/src/aclocal/check-networking.m4
+++ b/c/src/aclocal/check-networking.m4
@@ -7,11 +7,6 @@ AC_REQUIRE([RTEMS_INCLUDES])dnl
 AC_CACHE_CHECK([whether BSP supports networking],
   rtems_cv_HAS_NETWORKING,
   [dnl
-    case "$RTEMS_CPU" in
-    # do not have address space to hold BSD TCP/IP stack
-    epiphany*)
-      rtems_cv_HAS_NETWORKING="no"
-      ;;
     # Newer architecture ports that should only use new TCP/IP stack
     x86_64*)
       rtems_cv_HAS_NETWORKING="no"
diff --git a/c/src/aclocal/rtems-cpu-subdirs.m4 b/c/src/aclocal/rtems-cpu-subdirs.m4
index 47bd33945c..7805f892dd 100644
--- a/c/src/aclocal/rtems-cpu-subdirs.m4
+++ b/c/src/aclocal/rtems-cpu-subdirs.m4
@@ -12,7 +12,6 @@ AC_DEFUN([RTEMS_CPU_SUBDIRS],
 case $RTEMS_CPU in
 _RTEMS_CPU_SUBDIR([arm],[$1]);;
 _RTEMS_CPU_SUBDIR([bfin],[$1]);;
-_RTEMS_CPU_SUBDIR([epiphany],[$1]);;
 _RTEMS_CPU_SUBDIR([i386],[$1]);;
 _RTEMS_CPU_SUBDIR([lm32],[$1]);;
 _RTEMS_CPU_SUBDIR([m68k],[$1]);;
diff --git a/c/src/lib/libbsp/epiphany/Makefile.am b/c/src/lib/libbsp/epiphany/Makefile.am
deleted file mode 100644
index c024c4d01c..0000000000
--- a/c/src/lib/libbsp/epiphany/Makefile.am
+++ /dev/null
@@ -1,7 +0,0 @@
-ACLOCAL_AMFLAGS = -I ../../../aclocal
-## Descend into the @RTEMS_BSP_FAMILY@ directory
-## Currently, the shared directory is not explicitly
-## added but it is present in the source tree.
-_SUBDIRS = @RTEMS_BSP_FAMILY@
-include $(top_srcdir)/../../../automake/subdirs.am
-include $(srcdir)/../../../../../bsps/epiphany/headers.am
diff --git a/c/src/lib/libbsp/epiphany/acinclude.m4 b/c/src/lib/libbsp/epiphany/acinclude.m4
deleted file mode 100644
index 0fe1e2e79d..0000000000
--- a/c/src/lib/libbsp/epiphany/acinclude.m4
+++ /dev/null
@@ -1,10 +0,0 @@
-# RTEMS_CHECK_BSPDIR(RTEMS_BSP_FAMILY)
-AC_DEFUN([RTEMS_CHECK_BSPDIR],
-[
-  case "$1" in
-  epiphany_sim )
-    AC_CONFIG_SUBDIRS([epiphany_sim]);;
-  *)
-    AC_MSG_ERROR([Invalid BSP]);;
-  esac
-])
diff --git a/c/src/lib/libbsp/epiphany/configure.ac b/c/src/lib/libbsp/epiphany/configure.ac
deleted file mode 100644
index 35b39b9bdd..0000000000
--- a/c/src/lib/libbsp/epiphany/configure.ac
+++ /dev/null
@@ -1,20 +0,0 @@
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.69])
-AC_INIT([rtems-c-src-lib-libbsp-epiphany],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
-RTEMS_TOP(../../../../..)
-RTEMS_SOURCE_TOP
-RTEMS_BUILD_TOP
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define foreign subdir-objects 1.12.2])
-AM_MAINTAINER_MODE
-
-RTEMS_ENV_RTEMSBSP
-RTEMS_PROJECT_ROOT
-
-RTEMS_CHECK_BSPDIR([$RTEMS_BSP_FAMILY])
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am b/c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am
deleted file mode 100644
index f4901fd764..0000000000
--- a/c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am
+++ /dev/null
@@ -1,66 +0,0 @@
-##
-#
-# @brief Makefile of LibBSP for the Epiphany simulator.
-#
-#
-ACLOCAL_AMFLAGS = -I ../../../../aclocal
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../bsp.am
-
-dist_project_lib_DATA = ../../../../../../bsps/epiphany/epiphany_sim/start/bsp_specs
-
-###############################################################################
-#                  Header                                                     #
-###############################################################################
-
-###############################################################################
-#                  Data                                                       #
-###############################################################################
-
-start.$(OBJEXT): ../../../../../../bsps/epiphany/epiphany_sim/start/start.S
-	$(CPPASCOMPILE) -o $@ -c $<
-project_lib_DATA = start.$(OBJEXT)
-
-project_lib_DATA += linkcmds
-
-###############################################################################
-#                  LibBSP                                                     #
-###############################################################################
-
-project_lib_LIBRARIES = librtemsbsp.a
-
-# Startup
-librtemsbsp_a_SOURCES = ../../../../../../bsps/shared/start/bspreset-empty.c
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspstart-empty.c
-
-# Shared
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/getentropy/getentropy-cpucounter.c
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/sbrk.c
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c
-
-# clock
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/clock/clock-simidle.c
-
-# Timer
-librtemsbsp_a_SOURCES += ../../../../../../bsps/epiphany/epiphany_sim/btimer/btimer.c
-
-# console
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/serial/console-polled.c
-
-# IRQ
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default-handler.c
-librtemsbsp_a_SOURCES += ../../../../../../bsps/epiphany/epiphany_sim/irq/irq.c
-
-# Cache
-librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/cache/nocache.c
-
-# debugio
-librtemsbsp_a_SOURCES += ../../../../../../bsps/epiphany/epiphany_sim/console/console-io.c
-
-
-include $(srcdir)/../../../../../../bsps/shared/irq-sources.am
-include $(srcdir)/../../../../../../bsps/shared/shared-sources.am
-include $(srcdir)/../../../../../../bsps/epiphany/epiphany_sim/headers.am
diff --git a/c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac b/c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac
deleted file mode 100644
index 8d5f787133..0000000000
--- a/c/src/lib/libbsp/epiphany/epiphany_sim/configure.ac
+++ /dev/null
@@ -1,32 +0,0 @@
-##
-#
-# @file
-#
-# @brief Configure script of LibBSP for epiphany_sim BSP.
-#
-
-AC_PREREQ(2.69)
-AC_INIT([rtems-c-src-lib-libbsp-epiphany-sim],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
-RTEMS_TOP(../../../../../..)
-RTEMS_SOURCE_TOP
-RTEMS_BUILD_TOP
-RTEMS_BSP_LINKCMDS
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
-RTEMS_BSP_CONFIGURE
-
-RTEMS_BSPOPTS_SET([BSP_START_RESET_VECTOR],[*],[])
-RTEMS_BSPOPTS_HELP([BSP_START_RESET_VECTOR],[reset vector address for BSP
-start])
-
-RTEMS_BSPOPTS_SET([BSP_EPIPHANY_PERIPHCLK],[*],[100000000U])
-RTEMS_BSPOPTS_HELP([BSP_EPIPHANY_PERIPHCLK],[epiphany PERIPHCLK clock
-frequency in Hz])
-
-
-
-RTEMS_BSP_CLEANUP_OPTIONS
-
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/cpukit/Makefile.am b/cpukit/Makefile.am
index 51f38c84c7..abf18d176f 100644
--- a/cpukit/Makefile.am
+++ b/cpukit/Makefile.am
@@ -1591,19 +1591,6 @@ librtemscpu_a_SOURCES += score/cpu/no_cpu/cpucounterread.c
 
 endif
 
-if CPU_EPIPHANY
-
-include $(srcdir)/score/cpu/epiphany/headers.am
-
-librtemscpu_a_SOURCES += score/cpu/epiphany/cpu.c
-librtemscpu_a_SOURCES += score/cpu/epiphany/epiphany-context-initialize.c
-librtemscpu_a_SOURCES += score/cpu/epiphany/epiphany-context-switch.S
-librtemscpu_a_SOURCES += score/cpu/epiphany/epiphany-exception-handler.S
-librtemscpu_a_SOURCES += score/cpu/epiphany/setjmp.S
-librtemscpu_a_SOURCES += score/cpu/no_cpu/cpucounterfrequency.c
-
-endif
-
 if CPU_I386
 
 include $(srcdir)/score/cpu/i386/headers.am
diff --git a/cpukit/aclocal/check-networking.m4 b/cpukit/aclocal/check-networking.m4
index 38bc844468..7f38875dc6 100644
--- a/cpukit/aclocal/check-networking.m4
+++ b/cpukit/aclocal/check-networking.m4
@@ -9,10 +9,6 @@ AC_CACHE_CHECK([whether CPU supports networking],
   rtems_cv_HAS_NETWORKING,
   [dnl
     case "$host" in
-    # do not have address space to hold BSD TCP/IP stack
-    epiphany*)
-      rtems_cv_HAS_NETWORKING="no"
-      ;;
     # Newer architecture ports that should only use new TCP/IP stack
     x86_64*)
       rtems_cv_HAS_NETWORKING="no"
diff --git a/cpukit/configure.ac b/cpukit/configure.ac
index 34b94a047c..16213d977c 100644
--- a/cpukit/configure.ac
+++ b/cpukit/configure.ac
@@ -359,7 +359,6 @@ AC_MSG_RESULT([$HAVE_LIBDRVMGR])
 
 AM_CONDITIONAL([CPU_ARM],[test $RTEMS_CPU = "arm"])
 AM_CONDITIONAL([CPU_BFIN],[test $RTEMS_CPU = "bfin"])
-AM_CONDITIONAL([CPU_EPIPHANY],[test $RTEMS_CPU = "epiphany"])
 AM_CONDITIONAL([CPU_I386],[test $RTEMS_CPU = "i386"])
 AM_CONDITIONAL([CPU_LM32],[test $RTEMS_CPU = "lm32"])
 AM_CONDITIONAL([CPU_M68K],[test $RTEMS_CPU = "m68k"])
diff --git a/cpukit/score/cpu/epiphany/cpu.c b/cpukit/score/cpu/epiphany/cpu.c
deleted file mode 100644
index d025d92a6e..0000000000
--- a/cpukit/score/cpu/epiphany/cpu.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Epiphany CPU Dependent Source
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#include <rtems/score/cpu.h>
-
-void _init(void);
-void _fini(void);
-
-void _init(void)
-{
-}
-
-void _fini(void)
-{
-}
-
-void _CPU_Exception_frame_print (const CPU_Exception_frame *ctx)
-{
-  /* Do nothing */
-}
-/**
- * @brief Performs processor dependent initialization.
- */
-void _CPU_Initialize(void)
-{
-  /* Do nothing */
-}
-
-void _CPU_ISR_Set_level(uint32_t level)
-{
-  /* Do nothing */
-}
-
-uint32_t  _CPU_ISR_Get_level( void )
-{
-  /* Do nothing */
-  return 0;
-}
-
-CPU_Counter_ticks _CPU_Counter_read( void )
-{
-  static CPU_Counter_ticks counter;
-
-  CPU_Counter_ticks snapshot;
-
-  snapshot = counter;
-  counter = snapshot + 1;
-
-  return snapshot;
-}
-
-void *_CPU_Thread_Idle_body( uintptr_t ignored )
-{
-  do {
-    __asm__ __volatile__ ("idle");
-  } while (1);
-  
-  return NULL;
-}
diff --git a/cpukit/score/cpu/epiphany/epiphany-context-initialize.c b/cpukit/score/cpu/epiphany/epiphany-context-initialize.c
deleted file mode 100644
index c43d502029..0000000000
--- a/cpukit/score/cpu/epiphany/epiphany-context-initialize.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * COPYRIGHT (c) 1989-2006.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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 AUTHOR 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 AUTHOR 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 <string.h>
-
-#include <rtems/score/cpu.h>
-#include <rtems/score/interr.h>
-
-void _CPU_Context_Initialize(
-  Context_Control *context,
-  void *stack_area_begin,
-  size_t stack_area_size,
-  uint32_t new_level,
-  void (*entry_point)( void ),
-  bool is_fp,
-  void *tls_area
-)
-{
-  uintptr_t stack = ((uintptr_t) stack_area_begin);
-  uint32_t sr, iret;
-
-  /* Account for red-zone */
-  uintptr_t stack_high = stack + stack_area_size - EPIPHANY_GCC_RED_ZONE_SIZE;
-
-  asm volatile ("movfs %0, status \n" : "=r" (sr):);
-  asm volatile ("movfs %0, iret \n" : "=r" (iret):);
-
-  memset(context, 0, sizeof(*context));
-
-  context->r[11] = stack_high;
-  context->r[13] = stack_high;
-  context->r[14] = (uintptr_t) entry_point;
-  context->status = sr;
-  context->iret = iret;
-}
diff --git a/cpukit/score/cpu/epiphany/epiphany-context-switch.S b/cpukit/score/cpu/epiphany/epiphany-context-switch.S
deleted file mode 100644
index 8c530651c3..0000000000
--- a/cpukit/score/cpu/epiphany/epiphany-context-switch.S
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Epiphany CPU Dependent Source
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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/asm.h>
-
-.section .text,"ax"
-.align 4
-
-PUBLIC(_CPU_Context_switch)
-PUBLIC(_CPU_Context_restore)
-PUBLIC(_CPU_Context_restore_fp)
-PUBLIC(_CPU_Context_save_fp)
-
-SYM(_CPU_Context_switch):
-  /* Disable interrupts and store all registers */
-  gid
-
-  str r0,  [r0]
-  str r1,  [r0,1]
-  str r2,  [r0,2]
-  str r3,  [r0,3]
-  str r4,  [r0,4]
-  str r5,  [r0,5]
-  str r6,  [r0,6]
-  str r7,  [r0,7]
-  str r8,  [r0,8]
-  str r9,  [r0,9]
-  str r10, [r0,10]
-  str fp,  [r0,11]
-  str r12, [r0,12]
-  str sp,  [r0,13]
-  str lr,  [r0,14]
-  str r15, [r0,15]
-  str r16, [r0,16]
-  str r17, [r0,17]
-  str r18, [r0,18]
-  str r19, [r0,19]
-  str r20, [r0,20]
-  str r21, [r0,21]
-  str r22, [r0,22]
-  str r23, [r0,23]
-  str r24, [r0,24]
-  str r25, [r0,25]
-  str r26, [r0,26]
-  str r27, [r0,27]
-  str r28, [r0,28]
-  str r29, [r0,29]
-  str r30, [r0,30]
-  str r31, [r0,31]
-  str r32, [r0,32]
-  str r33, [r0,33]
-  str r34, [r0,34]
-  str r35, [r0,35]
-  str r36, [r0,36]
-  str r37, [r0,37]
-  str r38, [r0,38]
-  str r39, [r0,39]
-  str r40, [r0,40]
-  str r41, [r0,41]
-  str r42, [r0,42]
-  str r43, [r0,43]
-  str r44, [r0,44]
-  str r45, [r0,45]
-  str r46, [r0,46]
-  str r47, [r0,47]
-  str r48, [r0,48]
-  str r49, [r0,49]
-  str r50, [r0,50]
-  str r51, [r0,51]
-  str r52, [r0,52]
-  str r53, [r0,53]
-  str r54, [r0,54]
-  str r55, [r0,55]
-  str r56, [r0,56]
-  str r57, [r0,57]
-  str r58, [r0,58]
-  str r59, [r0,59]
-  str r60, [r0,60]
-  str r61, [r0,61]
-  str r62, [r0,62]
-  str r63, [r0,63]
-
-  /* Store status register */
-  movfs r27, status
-  str r27, [r0,64]
-
-  /* Store config register */
-  movfs r27, config
-  str r27, [r0,65]
-
-  /* Store interrupt return address register */
-  movfs r27, iret
-  str r27, [r0,66]
-
-.Lrestore:
-
-  /* r1 contains buffer address, skip it */
-  ldr r2,  [r1,2]
-  ldr r3,  [r1,3]
-  ldr r4,  [r1,4]
-  ldr r5,  [r1,5]
-  ldr r6,  [r1,6]
-  ldr r7,  [r1,7]
-  ldr r8,  [r1,8]
-  ldr r9,  [r1,9]
-  ldr r10, [r1,10]
-  ldr fp,  [r1,11]
-  ldr r12, [r1,12]
-  ldr sp,  [r1,13]
-  ldr lr,  [r1,14]
-  ldr r15, [r1,15]
-  ldr r16, [r1,16]
-  ldr r17, [r1,17]
-  ldr r18, [r1,18]
-  ldr r19, [r1,19]
-  ldr r20, [r1,20]
-  ldr r21, [r1,21]
-  ldr r22, [r1,22]
-  ldr r23, [r1,23]
-  ldr r24, [r1,24]
-  ldr r25, [r1,25]
-  ldr r26, [r1,26]
-  ldr r27, [r1,27]
-  ldr r32, [r1,32]
-  ldr r33, [r1,33]
-  ldr r34, [r1,34]
-  ldr r35, [r1,35]
-  ldr r36, [r1,36]
-  ldr r37, [r1,37]
-  ldr r38, [r1,38]
-  ldr r39, [r1,39]
-  ldr r40, [r1,40]
-  ldr r41, [r1,41]
-  ldr r42, [r1,42]
-  ldr r43, [r1,43]
-  ldr r44, [r1,44]
-  ldr r45, [r1,45]
-  ldr r46, [r1,46]
-  ldr r47, [r1,47]
-  ldr r48, [r1,48]
-  ldr r49, [r1,49]
-  ldr r50, [r1,50]
-  ldr r51, [r1,51]
-  ldr r52, [r1,52]
-  ldr r53, [r1,53]
-  ldr r54, [r1,54]
-  ldr r55, [r1,55]
-  ldr r56, [r1,56]
-  ldr r57, [r1,57]
-  ldr r58, [r1,58]
-  ldr r59, [r1,59]
-  ldr r60, [r1,60]
-  ldr r61, [r1,61]
-  ldr r62, [r1,62]
-  ldr r63, [r1,63]
-
-  /* Load status register */
-  ldr r0, [r1,64]
-  movts status, r0
-
-  /* Load config register */
-  ldr r0, [r1,65]
-  movts config, r0
-
-  /* Load interrupt return address register */
-  ldr r0,[r1,66]
-  movts iret, r0
-
-  ldr r0,[r1]
-  ldr r1,[r1,1]
-
-  /* Enable interrupts and return */
-  gie
-  jr lr
-
-SYM(_CPU_Context_restore):
-  mov     r1, r0
-  b       .Lrestore
-  nop
-
-/* No FP support for Epiphany yet */
-SYM(_CPU_Context_restore_fp):
-  nop
-
- SYM(_CPU_Context_save_fp):
-  nop
diff --git a/cpukit/score/cpu/epiphany/epiphany-exception-handler.S b/cpukit/score/cpu/epiphany/epiphany-exception-handler.S
deleted file mode 100644
index f4fd1d1ff9..0000000000
--- a/cpukit/score/cpu/epiphany/epiphany-exception-handler.S
+++ /dev/null
@@ -1,304 +0,0 @@
-/**
- * @file
- *
- * @addtogroup RTEMSScoreCPU
- *
- * @brief Epiphany exception support implementation.
- */
-
-/*
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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/cpu.h>
-
-#include <rtems/asm.h>
-#include <rtems/score/percpu.h>
-
-EXTERN(bsp_start_vector_table_begin)
-EXTERN(_Thread_Dispatch)
-PUBLIC(_ISR_Handler)
-
-.section .text, "ax"
-.align 4
-TYPE_FUNC(_ISR_Handler)
-SYM(_ISR_Handler):
-  /* Reserve space for CPU_Exception_frame */
-  sub sp, sp, #(CPU_EXCEPTION_FRAME_SIZE)
-
-  str r0,  [sp]
-  str r1,  [sp,1]
-  str r2,  [sp,2]
-  str r3,  [sp,3]
-  str r4,  [sp,4]
-  str r5,  [sp,5]
-  str r6,  [sp,6]
-  str r7,  [sp,7]
-  str r8,  [sp,8]
-  str r9,  [sp,9]
-  str r10, [sp,10]
-  str fp,  [sp,11]
-  str r12, [sp,12]
-
-  /* Save interrupted task stack pointer */
-  add r1, sp, #(CPU_EXCEPTION_FRAME_SIZE + 8)
-  str r1,[sp,13]
-
-  str lr,  [sp,14]
-  str r15, [sp,15]
-  str r16, [sp,16]
-  str r17, [sp,17]
-  str r18, [sp,18]
-  str r19, [sp,19]
-  str r20, [sp,20]
-  str r21, [sp,21]
-  str r22, [sp,22]
-  str r23, [sp,23]
-  str r24, [sp,24]
-  str r25, [sp,25]
-  str r26, [sp,26]
-  str r27, [sp,27]
-  str r28, [sp,28]
-  str r29, [sp,29]
-  str r30, [sp,30]
-  str r31, [sp,31]
-  str r32, [sp,32]
-  str r33, [sp,33]
-  str r34, [sp,34]
-  str r35, [sp,35]
-  str r36, [sp,36]
-  str r37, [sp,37]
-  str r38, [sp,38]
-  str r39, [sp,39]
-  str r40, [sp,40]
-  str r41, [sp,41]
-  str r42, [sp,42]
-  str r43, [sp,43]
-  str r44, [sp,44]
-  str r45, [sp,45]
-  str r46, [sp,46]
-  str r47, [sp,47]
-  str r48, [sp,48]
-  str r49, [sp,49]
-  str r50, [sp,50]
-  str r51, [sp,51]
-  str r52, [sp,52]
-  str r53, [sp,53]
-  str r54, [sp,54]
-  str r55, [sp,55]
-  str r56, [sp,56]
-  str r57, [sp,57]
-  str r58, [sp,58]
-  str r59, [sp,59]
-  str r60, [sp,60]
-  str r61, [sp,61]
-  /* r62 and r63 are saved from start.S interrupt entry
-   * and hold vector number and _ISR_Handler address repsectively.
-   */
-
-  /* Save status register */
-  movfs r1,status
-  str r1, [sp,62]
-
-  /* Save config register */
-  movfs r1,config
-  str r1, [sp,63]
-
-  /* Save interrupt return address register */
-  movfs r1,iret
-  str r1, [sp,64]
-
-  mov  r33, %low(_Per_CPU_Information)
-  movt r33, %high(_Per_CPU_Information)
-
-       add  r6, r33, #(PER_CPU_ISR_NEST_LEVEL)
-       add  r8, r33, #(PER_CPU_THREAD_DISPATCH_DISABLE_LEVEL)
-
-  /* Increment nesting level and disable thread dispatch */
-  ldr  r5, [r6]
-  ldr  r7, [r8]
-  add  r5, r5, #1
-  add  r7, r7, #1
-  str  r5, [r6]
-  str  r7, [r8]
-
-  /* Keep sp (Exception frame address) in r32 - Callee saved */
-  mov  r32, sp
-
-  /* Keep _Per_CPU_Information address in r33 - Callee saved */
-  mov  r33, r18
-
-  /* Call the exception handler from vector table.
-   * First function arg for C handler is vector number,
-   * and the second is a pointer to exception frame.
-   */
-  mov  r0,  r62
-  mov  r1,  sp
-
-  mov  r27, r62
-  lsl  r27, r27, #2
-  mov  r26, %low(bsp_start_vector_table_begin)
-  movt r15, #0
-  add  r27, r27, r26
-  ldr  r27, [r27]
-
-  /* Do not switch stacks if we are in a nested interrupt. At
-   * this point r5 should be holding ISR_NEST_LEVEL value.
-   */
-  sub  r37, r5, #1
-  bgtu jump_to_c_handler
-
-  /* Switch to RTEMS dedicated interrupt stack */
-  add     sp, r18, #(PER_CPU_INTERRUPT_STACK_HIGH)
-  ldr     sp, [sp]
-
-jump_to_c_handler:
-  jalr r27
-
-  /* Switch back to the interrupted task stack */
-  mov  sp, r32
-
-  /* Get the address of _Per_CPU_Information */
-  mov r18, r33
-
-  /* Decrement nesting level and enable multitasking */
-  add  r6, r18, #(PER_CPU_ISR_NEST_LEVEL)
-       add  r8, r18, #(PER_CPU_THREAD_DISPATCH_DISABLE_LEVEL)
-
-  ldr     r5, [r6]
-  ldr     r7, [r8]
-  sub     r5, r5, #1
-  sub     r7, r7, #1
-  str     r5, [r6]
-  str     r7, [r8]
-
-  /* Check if _ISR_Nest_level > 0 */
-  sub     r37, r5, #0
-  bgtu    exception_frame_restore
-
-  /* Check if _Thread_Dispatch_disable_level > 0 */
-  sub     r37, r7, #0
-  bgtu    exception_frame_restore
-
-  /* Check if dispatch needed */
-  add     r31, r18, #(PER_CPU_DISPATCH_NEEDED)
-  ldr     r31, [r31]
-
-  sub     r35, r31, #0
-  beq     exception_frame_restore
-
-  mov     r35, %low(_Thread_Dispatch)
-  movt    r35, %high(_Thread_Dispatch)
-  jalr    r35
-
-exception_frame_restore:
-
-  ldr r1,  [sp,1]
-  ldr r2,  [sp,2]
-  ldr r3,  [sp,3]
-  ldr r4,  [sp,4]
-  ldr r5,  [sp,5]
-  ldr r6,  [sp,6]
-  ldr r7,  [sp,7]
-  ldr r8,  [sp,8]
-  ldr r9,  [sp,9]
-  ldr r10, [sp,10]
-  ldr fp,  [sp,11]
-  ldr r12, [sp,12]
-  ldr lr,  [sp,14]
-  ldr r15, [sp,15]
-  ldr r16, [sp,16]
-  ldr r17, [sp,17]
-  ldr r18, [sp,18]
-  ldr r19, [sp,19]
-  ldr r20, [sp,20]
-  ldr r21, [sp,21]
-  ldr r22, [sp,22]
-  ldr r23, [sp,23]
-  ldr r24, [sp,24]
-  ldr r25, [sp,25]
-  ldr r26, [sp,26]
-  ldr r27, [sp,27]
-  ldr r28, [sp,28]
-  ldr r29, [sp,29]
-  ldr r30, [sp,30]
-  ldr r31, [sp,31]
-  ldr r32, [sp,32]
-  ldr r34, [sp,34]
-  ldr r36, [sp,36]
-  ldr r38, [sp,38]
-  ldr r39, [sp,39]
-  ldr r40, [sp,40]
-  ldr r41, [sp,41]
-  ldr r42, [sp,42]
-  ldr r43, [sp,43]
-  ldr r44, [sp,44]
-  ldr r45, [sp,45]
-  ldr r46, [sp,46]
-  ldr r47, [sp,47]
-  ldr r48, [sp,48]
-  ldr r49, [sp,49]
-  ldr r50, [sp,50]
-  ldr r51, [sp,51]
-  ldr r52, [sp,52]
-  ldr r53, [sp,53]
-  ldr r54, [sp,54]
-  ldr r55, [sp,55]
-  ldr r56, [sp,56]
-  ldr r57, [sp,57]
-  ldr r58, [sp,58]
-  ldr r59, [sp,59]
-  ldr r60, [sp,60]
-  ldr r61, [sp,61]
-
-  /* Restore status register */
-  ldr r0,[sp,62]
-  movts status, r0
-
-  /* Restore config register */
-  ldr r0, [sp,63]
-  movts config, r0
-
-  /* Restore interrupt return address register */
-  ldr   r0, [sp,64]
-  movts iret, r0
-
-  ldr r0,[sp]
-
-  /* Restore interrupted task's stack pointer */
-  ldr sp, [sp,13]
-
-  /* r62 and r63 are saved from start.S interrupt entry
-   * and hold vector number and _ISR_Handler address repsectively.
-   */
-  ldr r62, [sp, -8]
-  ldr r63, [sp, -4]
-
-  /* return from interrupt */
-  rti
diff --git a/cpukit/score/cpu/epiphany/headers.am b/cpukit/score/cpu/epiphany/headers.am
deleted file mode 100644
index d5ba2394d9..0000000000
--- a/cpukit/score/cpu/epiphany/headers.am
+++ /dev/null
@@ -1,8 +0,0 @@
-## This file was generated by "./boostrap -H".
-include_rtems_HEADERS += score/cpu/epiphany/include/rtems/asm.h
-include_rtems_score_HEADERS += score/cpu/epiphany/include/rtems/score/cpu.h
-include_rtems_score_HEADERS += score/cpu/epiphany/include/rtems/score/cpu_asm.h
-include_rtems_score_HEADERS += score/cpu/epiphany/include/rtems/score/cpuatomic.h
-include_rtems_score_HEADERS += score/cpu/epiphany/include/rtems/score/cpuimpl.h
-include_rtems_score_HEADERS += score/cpu/epiphany/include/rtems/score/epiphany-utility.h
-include_rtems_score_HEADERS += score/cpu/epiphany/include/rtems/score/epiphany.h
diff --git a/cpukit/score/cpu/epiphany/include/rtems/asm.h b/cpukit/score/cpu/epiphany/include/rtems/asm.h
deleted file mode 100644
index 219ed81846..0000000000
--- a/cpukit/score/cpu/epiphany/include/rtems/asm.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * @file
- *
- *  This include file attempts to address the problems
- *  caused by incompatible flavors of assemblers and
- *  toolsets.  It primarily addresses variations in the
- *  use of leading underscores on symbols and the requirement
- *  that register names be preceded by a %.
- */
-
-/*
- *  NOTE: The spacing in the use of these macros
- *        is critical to them working as advertised.
- *
- *  This file is based on similar code found in newlib available
- *  from ftp.cygnus.com.  The file which was used had no copyright
- *  notice.  This file is freely distributable as long as the source
- *  of the file is noted.  This file is:
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- *
- * COPYRIGHT (c) 1994-1997.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#ifndef __EPIPHANY_ASM_H
-#define __EPIPHANY_ASM_H
-
-/*
- *  Indicate we are in an assembly file and get the basic CPU definitions.
- */
-
-#ifndef ASM
-#define ASM
-#endif
-#include <rtems/score/cpuopts.h>
-#include <rtems/score/epiphany.h>
-
-/*
- *  Recent versions of GNU cpp define variables which indicate the
- *  need for underscores and percents.  If not using GNU cpp or
- *  the version does not support this, then you will obviously
- *  have to define these as appropriate.
- */
-
-#ifndef __USER_LABEL_PREFIX__
-#define __USER_LABEL_PREFIX__ _
-#endif
-
-#ifndef __REGISTER_PREFIX__
-#define __REGISTER_PREFIX__
-#endif
-
-/* ANSI concatenation macros.  */
-
-#define CONCAT1(a, b) CONCAT2(a, b)
-#define CONCAT2(a, b) a ## b
-
-/* Use the right prefix for global labels.  */
-
-#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
-
-/* Use the right prefix for registers.  */
-
-#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
-
-/*
- *  define macros for all of the registers on this CPU
- *
- *  EXAMPLE:     #define d0 REG (d0)
- */
-
-/*
- *  Define macros to handle section beginning and ends.
- */
-#define BEGIN_CODE_DCL .text
-#define END_CODE_DCL
-#define BEGIN_DATA_DCL .data
-#define END_DATA_DCL
-#define BEGIN_CODE .text
-#define END_CODE
-#define BEGIN_DATA
-#define END_DATA
-#define BEGIN_BSS
-#define END_BSS
-#define END
-
-/*
- *  Following must be tailor for a particular flavor of the C compiler.
- *  They may need to put underscores in front of the symbols.
- */
-
-#define PUBLIC(sym)    .global SYM (sym)
-#define EXTERN(sym)    .extern SYM (sym)
-#define TYPE_FUNC(sym) .type SYM (sym), %function
-
-#endif
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/cpu.h b/cpukit/score/cpu/epiphany/include/rtems/score/cpu.h
deleted file mode 100644
index 70a9790606..0000000000
--- a/cpukit/score/cpu/epiphany/include/rtems/score/cpu.h
+++ /dev/null
@@ -1,614 +0,0 @@
-/**
- * @file
- */
-
-/*
- *
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#ifndef _EPIPHANY_CPU_H
-#define _EPIPHANY_CPU_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems/score/basedefs.h>
-#include <rtems/score/epiphany.h> /* pick up machine definitions */
-#ifndef ASM
-#include <rtems/bspIo.h>
-#include <stdint.h>
-#include <stdio.h> /* for printk */
-#endif
-    
-/**
- * @addtogroup RTEMSScoreCPUEpiphany
- */
-/**@{**/
-
-/* conditional compilation parameters */
-
-/*
- *  Does the RTEMS invoke the user's ISR with the vector number and
- *  a pointer to the saved interrupt frame (1) or just the vector
- *  number (0)?
- *
- */
-
-#define CPU_ISR_PASSES_FRAME_POINTER TRUE
-
-#define CPU_HARDWARE_FP FALSE
-
-#define CPU_SOFTWARE_FP FALSE
-
-#define CPU_ALL_TASKS_ARE_FP FALSE
-
-#define CPU_IDLE_TASK_IS_FP FALSE
-
-#define CPU_USE_DEFERRED_FP_SWITCH FALSE
-
-#define CPU_ENABLE_ROBUST_THREAD_DISPATCH FALSE
-
-/*
- *  Does the stack grow up (toward higher addresses) or down
- *  (toward lower addresses)?
- *
- *  If TRUE, then the grows upward.
- *  If FALSE, then the grows toward smaller addresses.
- *
- */
-
-#define CPU_STACK_GROWS_UP               FALSE
-
-/* FIXME: Is this the right value? */
-#define CPU_CACHE_LINE_BYTES 64
-
-#define CPU_STRUCTURE_ALIGNMENT RTEMS_ALIGNED( CPU_CACHE_LINE_BYTES )
-
-/*
- *  The following defines the number of bits actually used in the
- *  interrupt field of the task mode.  How those bits map to the
- *  CPU interrupt levels is defined by the routine _CPU_ISR_Set_level().
- *
- */
-
-#define CPU_MODES_INTERRUPT_MASK   0x00000001
-
-/*
- *  Processor defined structures required for cpukit/score.
- */
-
-/*
- * Contexts
- *
- *  Generally there are 2 types of context to save.
- *     1. Interrupt registers to save
- *     2. Task level registers to save
- *
- *  This means we have the following 3 context items:
- *     1. task level context stuff::  Context_Control
- *     2. floating point task stuff:: Context_Control_fp
- *     3. special interrupt level context :: Context_Control_interrupt
- *
- *  On some processors, it is cost-effective to save only the callee
- *  preserved registers during a task context switch.  This means
- *  that the ISR code needs to save those registers which do not
- *  persist across function calls.  It is not mandatory to make this
- *  distinctions between the caller/callee saves registers for the
- *  purpose of minimizing context saved during task switch and on interrupts.
- *  If the cost of saving extra registers is minimal, simplicity is the
- *  choice.  Save the same context on interrupt entry as for tasks in
- *  this case.
- *
- *  Additionally, if gdb is to be made aware of RTEMS tasks for this CPU, then
- *  care should be used in designing the context area.
- *
- *  On some CPUs with hardware floating point support, the Context_Control_fp
- *  structure will not be used or it simply consist of an array of a
- *  fixed number of bytes.   This is done when the floating point context
- *  is dumped by a "FP save context" type instruction and the format
- *  is not really defined by the CPU.  In this case, there is no need
- *  to figure out the exact format -- only the size.  Of course, although
- *  this is enough information for RTEMS, it is probably not enough for
- *  a debugger such as gdb.  But that is another problem.
- *
- *
- */
-#ifndef ASM
-
-typedef struct {
-  uint32_t  r[64];
-
-  uint32_t status;
-  uint32_t config;
-  uint32_t iret;
-
-#ifdef RTEMS_SMP
-    /**
-     * @brief On SMP configurations the thread context must contain a boolean
-     * indicator to signal if this context is executing on a processor.
-     *
-     * This field must be updated during a context switch.  The context switch
-     * to the heir must wait until the heir context indicates that it is no
-     * longer executing on a processor.  The context switch must also check if
-     * a thread dispatch is necessary to honor updates of the heir thread for
-     * this processor.  This indicator must be updated using an atomic test and
-     * set operation to ensure that at most one processor uses the heir
-     * context at the same time.
-     *
-     * @code
-     * void _CPU_Context_switch(
-     *   Context_Control *executing,
-     *   Context_Control *heir
-     * )
-     * {
-     *   save( executing );
-     *
-     *   executing->is_executing = false;
-     *   memory_barrier();
-     *
-     *   if ( test_and_set( &heir->is_executing ) ) {
-     *     do {
-     *       Per_CPU_Control *cpu_self = _Per_CPU_Get_snapshot();
-     *
-     *       if ( cpu_self->dispatch_necessary ) {
-     *         heir = _Thread_Get_heir_and_make_it_executing( cpu_self );
-     *       }
-     *     } while ( test_and_set( &heir->is_executing ) );
-     *   }
-     *
-     *   restore( heir );
-     * }
-     * @endcode
-     */
-    volatile bool is_executing;
-#endif
-} Context_Control;
-
-#define _CPU_Context_Get_SP( _context ) \
-  (_context)->r[13]
-
-typedef Context_Control CPU_Interrupt_frame;
-
-/*
- *  Amount of extra stack (above minimum stack size) required by
- *  MPCI receive server thread.  Remember that in a multiprocessor
- *  system this thread must exist and be able to process all directives.
- *
- */
-
-#define CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK 0
-
-/*
- *  Should be large enough to run all RTEMS tests.  This insures
- *  that a "reasonable" small application should not have any problems.
- *
- */
-
-#define CPU_STACK_MINIMUM_SIZE  4096
-
-/*
- *  CPU's worst alignment requirement for data types on a byte boundary.  This
- *  alignment does not take into account the requirements for the stack.
- *
- */
-
-#define CPU_ALIGNMENT 8
-
-/*
- *  This is defined if the port has a special way to report the ISR nesting
- *  level.  Most ports maintain the variable _ISR_Nest_level.
- */
-#define CPU_PROVIDES_ISR_IS_IN_PROGRESS FALSE
-
-/*
- *  This number corresponds to the byte alignment requirement for the
- *  heap handler.  This alignment requirement may be stricter than that
- *  for the data types alignment specified by CPU_ALIGNMENT.  It is
- *  common for the heap to follow the same alignment requirement as
- *  CPU_ALIGNMENT.  If the CPU_ALIGNMENT is strict enough for the heap,
- *  then this should be set to CPU_ALIGNMENT.
- *
- *  NOTE:  This does not have to be a power of 2 although it should be
- *         a multiple of 2 greater than or equal to 2.  The requirement
- *         to be a multiple of 2 is because the heap uses the least
- *         significant field of the front and back flags to indicate
- *         that a block is in use or free.  So you do not want any odd
- *         length blocks really putting length data in that bit.
- *
- *         On byte oriented architectures, CPU_HEAP_ALIGNMENT normally will
- *         have to be greater or equal to than CPU_ALIGNMENT to ensure that
- *         elements allocated from the heap meet all restrictions.
- *
- */
-
-#define CPU_HEAP_ALIGNMENT         CPU_ALIGNMENT
-
-/*
- *  This number corresponds to the byte alignment requirement for the
- *  stack.  This alignment requirement may be stricter than that for the
- *  data types alignment specified by CPU_ALIGNMENT.  If the CPU_ALIGNMENT
- *  is strict enough for the stack, then this should be set to 0.
- *
- *  NOTE:  This must be a power of 2 either 0 or greater than CPU_ALIGNMENT.
- *
- */
-
-#define CPU_STACK_ALIGNMENT        8
-
-#define CPU_INTERRUPT_STACK_ALIGNMENT CPU_CACHE_LINE_BYTES
-
-/* ISR handler macros */
-
-/*
- *  Support routine to initialize the RTEMS vector table after it is allocated.
- *
- *  NO_CPU Specific Information:
- *
- *  XXX document implementation including references if appropriate
- */
-
-#define _CPU_Initialize_vectors()
-
-/*
- *  Disable all interrupts for an RTEMS critical section.  The previous
- *  level is returned in _level.
- *
- */
-
-static inline uint32_t epiphany_interrupt_disable( void )
-{
-  uint32_t sr;
-  __asm__ __volatile__ ("movfs %[sr], status \n" : [sr] "=r" (sr):);
-  __asm__ __volatile__("gid \n");
-  return sr;
-}
-
-static inline void epiphany_interrupt_enable(uint32_t level)
-{
-  __asm__ __volatile__("gie \n");
-  __asm__ __volatile__ ("movts status, %[level] \n" :: [level] "r" (level):);
-}
-
-#define _CPU_ISR_Disable( _level ) \
-    _level = epiphany_interrupt_disable()
-
-/*
- *  Enable interrupts to the previous level (returned by _CPU_ISR_Disable).
- *  This indicates the end of an RTEMS critical section.  The parameter
- *  _level is not modified.
- *
- */
-
-#define _CPU_ISR_Enable( _level )  \
-  epiphany_interrupt_enable( _level )
-
-/*
- *  This temporarily restores the interrupt to _level before immediately
- *  disabling them again.  This is used to divide long RTEMS critical
- *  sections into two or more parts.  The parameter _level is not
- *  modified.
- *
- */
-
-#define _CPU_ISR_Flash( _level ) \
-  do{ \
-      if ( (_level & 0x2) != 0 ) \
-        _CPU_ISR_Enable( _level ); \
-      epiphany_interrupt_disable(); \
-    } while(0)
-
-RTEMS_INLINE_ROUTINE bool _CPU_ISR_Is_enabled( uint32_t level )
-{
-  return ( level & 0x2 ) != 0;
-}
-
-/*
- *  Map interrupt level in task mode onto the hardware that the CPU
- *  actually provides.  Currently, interrupt levels which do not
- *  map onto the CPU in a generic fashion are undefined.  Someday,
- *  it would be nice if these were "mapped" by the application
- *  via a callout.  For example, m68k has 8 levels 0 - 7, levels
- *  8 - 255 would be available for bsp/application specific meaning.
- *  This could be used to manage a programmable interrupt controller
- *  via the rtems_task_mode directive.
- *
- *  The get routine usually must be implemented as a subroutine.
- *
- */
-
-void _CPU_ISR_Set_level( uint32_t level );
-
-uint32_t _CPU_ISR_Get_level( void );
-
-/* end of ISR handler macros */
-
-/* Context handler macros */
-
-/*
- *  Initialize the context to a state suitable for starting a
- *  task after a context restore operation.  Generally, this
- *  involves:
- *
- *     - setting a starting address
- *     - preparing the stack
- *     - preparing the stack and frame pointers
- *     - setting the proper interrupt level in the context
- *     - initializing the floating point context
- *
- *  This routine generally does not set any unnecessary register
- *  in the context.  The state of the "general data" registers is
- *  undefined at task start time.
- *
- *  NOTE: This is_fp parameter is TRUE if the thread is to be a floating
- *        point thread.  This is typically only used on CPUs where the
- *        FPU may be easily disabled by software such as on the SPARC
- *        where the PSR contains an enable FPU bit.
- *
- */
-
-/**
- * @brief Account for GCC red-zone
- *
- * The following macro is used when initializing task's stack
- * to account for GCC red-zone.
- */
-
-#define EPIPHANY_GCC_RED_ZONE_SIZE 128
-
-/**
- * @brief Initializes the CPU context.
- *
- * The following steps are performed:
- *  - setting a starting address
- *  - preparing the stack
- *  - preparing the stack and frame pointers
- *  - setting the proper interrupt level in the context
- *
- * @param[in] context points to the context area
- * @param[in] stack_area_begin is the low address of the allocated stack area
- * @param[in] stack_area_size is the size of the stack area in bytes
- * @param[in] new_level is the interrupt level for the task
- * @param[in] entry_point is the task's entry point
- * @param[in] is_fp is set to @c true if the task is a floating point task
- * @param[in] tls_area is the thread-local storage (TLS) area
- */
-void _CPU_Context_Initialize(
-  Context_Control *context,
-  void *stack_area_begin,
-  size_t stack_area_size,
-  uint32_t new_level,
-  void (*entry_point)( void ),
-  bool is_fp,
-  void *tls_area
-);
-
-/*
- *  This routine is responsible for somehow restarting the currently
- *  executing task.  If you are lucky, then all that is necessary
- *  is restoring the context.  Otherwise, there will need to be
- *  a special assembly routine which does something special in this
- *  case.  Context_Restore should work most of the time.  It will
- *  not work if restarting self conflicts with the stack frame
- *  assumptions of restoring a context.
- *
- */
-
-#define _CPU_Context_Restart_self( _the_context ) \
-   _CPU_Context_restore( (_the_context) )
-
-/* end of Context handler macros */
-
-/* Fatal Error manager macros */
-
-/*
- *  This routine copies _error into a known place -- typically a stack
- *  location or a register, optionally disables interrupts, and
- *  halts/stops the CPU.
- *
- */
-
-#include <inttypes.h>
-
-#define _CPU_Fatal_halt(_source, _error ) \
-          printk("Fatal Error %d.%" PRIu32 " Halted\n",_source, _error); \
-          asm("trap 3" :: "r" (_error)); \
-          for(;;)
-
-/* end of Fatal Error manager macros */
-
-#define CPU_USE_GENERIC_BITFIELD_CODE TRUE
-
-#define CPU_USE_LIBC_INIT_FINI_ARRAY FALSE
-
-#endif /* ASM */
-
-/**
- * Size of a pointer.
- *
- * This must be an integer literal that can be used by the assembler.  This
- * value will be used to calculate offsets of structure members.  These
- * offsets will be used in assembler code.
- */
-#define CPU_SIZEOF_POINTER 4
-#define CPU_EXCEPTION_FRAME_SIZE 260
-
-#define CPU_MAXIMUM_PROCESSORS 32
-
-#ifndef ASM
-
-typedef struct {
-  uint32_t r[62];
-  uint32_t status;
-  uint32_t config;
-  uint32_t iret;
-} CPU_Exception_frame;
-
-/**
- * @brief Prints the exception frame via printk().
- *
- * @see rtems_fatal() and RTEMS_FATAL_SOURCE_EXCEPTION.
- */
-void _CPU_Exception_frame_print( const CPU_Exception_frame *frame );
-
-
-/* end of Priority handler macros */
-
-/* functions */
-
-/*
- *  _CPU_Initialize
- *
- *  This routine performs CPU dependent initialization.
- *
- */
-
-void _CPU_Initialize(
-  void
-);
-
-void *_CPU_Thread_Idle_body( uintptr_t ignored );
-
-/*
- *  _CPU_Context_switch
- *
- *  This routine switches from the run context to the heir context.
- *
- *  epiphany Specific Information:
- *
- *  Please see the comments in the .c file for a description of how
- *  this function works. There are several things to be aware of.
- */
-
-void _CPU_Context_switch(
-  Context_Control  *run,
-  Context_Control  *heir
-);
-
-/*
- *  _CPU_Context_restore
- *
- *  This routine is generally used only to restart self in an
- *  efficient manner.  It may simply be a label in _CPU_Context_switch.
- *
- *  NOTE: May be unnecessary to reload some registers.
- *
- */
-
-void _CPU_Context_restore(
-  Context_Control *new_context
-) RTEMS_NO_RETURN;
-
-/*
- *  _CPU_Context_save_fp
- *
- *  This routine saves the floating point context passed to it.
- *
- */
-
-void _CPU_Context_save_fp(
-  void **fp_context_ptr
-);
-
-/*
- *  _CPU_Context_restore_fp
- *
- *  This routine restores the floating point context passed to it.
- *
- */
-
-void _CPU_Context_restore_fp(
-  void **fp_context_ptr
-);
-
-/*  The following routine swaps the endian format of an unsigned int.
- *  It must be static because it is referenced indirectly.
- *
- *  This version will work on any processor, but if there is a better
- *  way for your CPU PLEASE use it.  The most common way to do this is to:
- *
- *     swap least significant two bytes with 16-bit rotate
- *     swap upper and lower 16-bits
- *     swap most significant two bytes with 16-bit rotate
- *
- *  Some CPUs have special instructions which swap a 32-bit quantity in
- *  a single instruction (e.g. i486).  It is probably best to avoid
- *  an "endian swapping control bit" in the CPU.  One good reason is
- *  that interrupts would probably have to be disabled to insure that
- *  an interrupt does not try to access the same "chunk" with the wrong
- *  endian.  Another good reason is that on some CPUs, the endian bit
- *  endianness for ALL fetches -- both code and data -- so the code
- *  will be fetched incorrectly.
- *
- */
-
-static inline unsigned int CPU_swap_u32(
-  unsigned int value
-)
-{
-  uint32_t   byte1, byte2, byte3, byte4, swapped;
-
-  byte4 = (value >> 24) & 0xff;
-  byte3 = (value >> 16) & 0xff;
-  byte2 = (value >> 8)  & 0xff;
-  byte1 =  value        & 0xff;
-
-  swapped = (byte1 << 24) | (byte2 << 16) | (byte3 << 8) | byte4;
-  return( swapped );
-}
-
-#define CPU_swap_u16( value ) \
-  (((value&0xff) << 8) | ((value >> 8)&0xff))
-
-typedef uint32_t CPU_Counter_ticks;
-
-uint32_t _CPU_Counter_frequency( void );
-
-CPU_Counter_ticks _CPU_Counter_read( void );
-
-static inline CPU_Counter_ticks _CPU_Counter_difference(
-  CPU_Counter_ticks second,
-  CPU_Counter_ticks first
-)
-{
-  return second - first;
-}
-
-/** Type that can store a 32-bit integer or a pointer. */
-typedef uintptr_t CPU_Uint32ptr;
-
-#endif /* ASM */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/**@}*/
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/cpu_asm.h b/cpukit/score/cpu/epiphany/include/rtems/score/cpu_asm.h
deleted file mode 100644
index cc091fa909..0000000000
--- a/cpukit/score/cpu/epiphany/include/rtems/score/cpu_asm.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * @file
- *
- * @brief Epiphany Assembly File
- *
- * Very loose template for an include file for the cpu_asm.? file
- * if it is implemented as a ".S" file (preprocessed by cpp) instead
- * of a ".s" file (preprocessed by gm4 or gasp).
- */
-
-/*
- *  COPYRIGHT (c) 1989-1999.
- *  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.
- *
- */
-
-#ifndef _RTEMS_SCORE_CPU_ASM_H
-#define _RTEMS_SCORE_CPU_ASM_H
-
-/* pull in the generated offsets */
-
-/*
-#include <rtems/score/offsets.h>
-*/
-
-/*
- * Hardware General Registers
- */
-
-/* put something here */
-
-/*
- * Hardware Floating Point Registers
- */
-
-/* put something here */
-
-/*
- * Hardware Control Registers
- */
-
-/* put something here */
-
-/*
- * Calling Convention
- */
-
-/* put something here */
-
-/*
- * Temporary registers
- */
-
-/* put something here */
-
-/*
- * Floating Point Registers - SW Conventions
- */
-
-/* put something here */
-
-/*
- * Temporary floating point registers
- */
-
-/* put something here */
-
-#endif
-
-/* end of file */
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/cpuatomic.h b/cpukit/score/cpu/epiphany/include/rtems/score/cpuatomic.h
deleted file mode 100644
index 598ee76b20..0000000000
--- a/cpukit/score/cpu/epiphany/include/rtems/score/cpuatomic.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * COPYRIGHT (c) 2012-2013 Deng Hengyi.
- *
- * 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.
- */
-
-#ifndef _RTEMS_SCORE_ATOMIC_CPU_H
-#define _RTEMS_SCORE_ATOMIC_CPU_H
-
-#include <rtems/score/cpustdatomic.h>
-
-#endif /* _RTEMS_SCORE_ATOMIC_CPU_H */
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h
deleted file mode 100644
index 967b4911ee..0000000000
--- a/cpukit/score/cpu/epiphany/include/rtems/score/cpuimpl.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * @file
- *
- * @brief CPU Port Implementation API
- */
-
-/*
- * Copyright (c) 2013 embedded brains GmbH
- *
- * 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.
- */
-
-#ifndef _RTEMS_SCORE_CPUIMPL_H
-#define _RTEMS_SCORE_CPUIMPL_H
-
-#include <rtems/score/cpu.h>
-
-/**
- * @defgroup RTEMSScoreCPUEpiphany Epiphany
- *
- * @ingroup RTEMSScoreCPU
- *
- * @brief Epiphany Architecture Support.
- */
-/**@{**/
-
-#define CPU_PER_CPU_CONTROL_SIZE 0
-
-#ifndef ASM
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-RTEMS_INLINE_ROUTINE void _CPU_Context_volatile_clobber( uintptr_t pattern )
-{
-  /* TODO */
-}
-
-RTEMS_INLINE_ROUTINE void _CPU_Context_validate( uintptr_t pattern )
-{
-  while (1) {
-    /* TODO */
-  }
-}
-
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_illegal( void )
-{
-  __asm__ volatile ( ".word 0" );
-}
-
-RTEMS_INLINE_ROUTINE void _CPU_Instruction_no_operation( void )
-{
-  __asm__ volatile ( "nop" );
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ASM */
- 
-/**@}*/
-
-#endif /* _RTEMS_SCORE_CPUIMPL_H */
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/epiphany-utility.h b/cpukit/score/cpu/epiphany/include/rtems/score/epiphany-utility.h
deleted file mode 100644
index 10426dc94d..0000000000
--- a/cpukit/score/cpu/epiphany/include/rtems/score/epiphany-utility.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/**
- * @file
- *
- * @addtogroup RTEMSScoreCPU
- *
- * @brief This include file contains macros pertaining to the
- *  Epiphany processor family.
- */
-
-/*
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#ifndef _EPIPHANY_UTILITY_H
-#define _EPIPHANY_UTILITY_H
-
-/* eCore IRQs */
-typedef enum
-{
-  START,
-  SW_EXCEPTION,
-  MEM_FAULT,
-  TIMER0,
-  TIMER1,
-  SMP_MESSAGE,
-  DMA0,
-  DMA1,
-  SER,
-} EPIPHANY_IRQ_PER_CORE_T;
-
-/*  Per-core IO mapped register addresses
- *  @see Epiphany architecture reference.
- */
-#define EPIPHANY_PER_CORE_REG_CONFIG      0xF0400
-#define EPIPHANY_PER_CORE_REG_STATUS      0xF0404
-#define EPIPHANY_PER_CORE_REG_PC          0xF0408
-#define EPIPHANY_PER_CORE_REG_DEBUGSTATUS 0xF040C
-#define EPIPHANY_PER_CORE_REG_LC          0xF0414
-#define EPIPHANY_PER_CORE_REG_LS          0xF0418
-#define EPIPHANY_PER_CORE_REG_LE          0xF041C
-#define EPIPHANY_PER_CORE_REG_IRET        0xF0420
-#define EPIPHANY_PER_CORE_REG_IMASK       0xF0424
-#define EPIPHANY_PER_CORE_REG_ILAT        0xF0428
-#define EPIPHANY_PER_CORE_REG_ILATST      0xF042C
-#define EPIPHANY_PER_CORE_REG_ILATCL      0xF0430
-#define EPIPHANY_PER_CORE_REG_IPEND       0xF0434
-#define EPIPHANY_PER_CORE_REG_FSTATUS     0xF0440
-#define EPIPHANY_PER_CORE_REG_DEBUGCMD    0xF0448
-#define EPIPHANY_PER_CORE_REG_RESETCORE   0xF070C
-
-/* Event timer registers */
-#define EPIPHANY_PER_CORE_REG_CTIMER0     0xF0438
-#define EPIPHANY_PER_CORE_REG_CTIMER1     0xF043C
-
-/* Processor control registers */
-#define EPIPHANY_PER_CORE_REG_MEMSTATUS   0xF0604
-#define EPIPHANY_PER_CORE_REG_MEMPROTECT  0xF0608
-
-/* DMA Registers */
-#define EPIPHANY_PER_CORE_REG_DMA0CONFIG  0xF0500
-#define EPIPHANY_PER_CORE_REG_DMA0STRIDE  0xF0504
-#define EPIPHANY_PER_CORE_REG_DMA0COUNT   0xF0508
-#define EPIPHANY_PER_CORE_REG_DMA0SRCADDR 0xF050C
-#define EPIPHANY_PER_CORE_REG_DMA0DSTADDR 0xF0510
-#define EPIPHANY_PER_CORE_REG_DMA0AUTO0   0xF0514
-#define EPIPHANY_PER_CORE_REG_DMA0AUTO1   0xF0518
-#define EPIPHANY_PER_CORE_REG_DMA0STATUS  0xF051C
-#define EPIPHANY_PER_CORE_REG_DMA1CONFIG  0xF0520
-#define EPIPHANY_PER_CORE_REG_DMA1STRIDE  0xF0524
-#define EPIPHANY_PER_CORE_REG_DMA1COUNT   0xF0528
-#define EPIPHANY_PER_CORE_REG_DMA1SRCADDR 0xF052C
-#define EPIPHANY_PER_CORE_REG_DMA1DSTADDR 0xF0530
-#define EPIPHANY_PER_CORE_REG_DMA1AUTO0   0xF0534
-#define EPIPHANY_PER_CORE_REG_DMA1AUTO1   0xF0538
-#define EPIPHANY_PER_CORE_REG_DMA1STATUS  0xF053C
-
-/* Mesh Node Control Registers */
-#define EPIPHANY_PER_CORE_REG_MESHCONFIG  0xF0700
-#define EPIPHANY_PER_CORE_REG_COREID      0xF0704
-#define EPIPHANY_PER_CORE_REG_MULTICAST   0xF0708
-#define EPIPHANY_PER_CORE_REG_CMESHROUTE  0xF0710
-#define EPIPHANY_PER_CORE_REG_XMESHROUTE  0xF0714
-#define EPIPHANY_PER_CORE_REG_RMESHROUTE  0xF0718
-
-/*  This macros constructs an address space of epiphany cores
- *  from their IDs.
- */
-#define EPIPHANY_COREID_TO_MSB_ADDR(id) (id) << 20
-
-/*  Construct a complete/absolute IO mapped address register from
- *  core ID and register name
- */
-#define EPIPHANY_GET_REG_ABSOLUTE_ADDR(coreid, reg) \
-        (EPIPHANY_COREID_TO_MSB_ADDR(coreid) | (reg))
-
-#define EPIPHANY_REG(reg) (uint32_t *) (reg)
-
-/* Read register with its absolute address */
-static inline uint32_t read_epiphany_reg(volatile uint32_t reg_addr)
-{
-  return *(EPIPHANY_REG(reg_addr));
-}
-
-/* Write register with its abolute address */
-static inline void write_epiphany_reg(volatile uint32_t reg_addr, uint32_t val)
-{
-  *(EPIPHANY_REG(reg_addr)) = val;
-}
-
-/*  Epiphany uses 12 bits for defining core IDs, while RTEMS uses
- *  linear IDs. The following function converts RTEMS linear IDs to
- *  Epiphany corresponding ones
- */
-static const uint32_t map[16] =
-{
-   0x808, 0x809, 0x80A, 0x80B,
-   0x848, 0x849, 0x84A, 0x84B,
-   0x888, 0x889, 0x88A, 0x88B,
-   0x8C8, 0x8C9, 0x8CA, 0x8CB
-};
-
-static inline uint32_t rtems_coreid_to_epiphany_map(uint32_t rtems_id)
-{
-  return map[rtems_id];
-}
-
-/* Epiphany uses 12 bits for defining core IDs, while RTEMS uses
- * linear IDs. The following function is used to map Epiphany IDs to
- * RTEMS linear IDs.
- */
-static inline uint32_t epiphany_coreid_to_rtems_map(uint32_t epiphany_id)
-{
-  register uint32_t coreid asm ("r17") = epiphany_id;
-
-  /* Mapping from Epiphany IDs to 0-16 IDs macro */
-  __asm__ __volatile__(" \
-   movfs r17, coreid \
-   mov r19, #0x003   \
-   mov r20, #0x0F0   \
-   and r19, r17, r19 \
-   and r20, r17, r20 \
-   lsr r20, r20, #4  \
-   add r17, r19, r20 \
-   ");
-
-  /* coreid or r17 now holds the rtems core id */
-  return coreid;
-}
-
-static inline uint32_t _Epiphany_Get_current_processor(void)
-{
-  uint32_t coreid;
-
-  asm volatile ("movfs %0, coreid" : "=r" (coreid): );
-
-  return epiphany_coreid_to_rtems_map(coreid);
-}
-#endif  /* _EPIPHANY_UTILITY_H */
diff --git a/cpukit/score/cpu/epiphany/include/rtems/score/epiphany.h b/cpukit/score/cpu/epiphany/include/rtems/score/epiphany.h
deleted file mode 100644
index 3eeddec421..0000000000
--- a/cpukit/score/cpu/epiphany/include/rtems/score/epiphany.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * @file
- */
-
-/*
- * Copyright (c) 2015 University of York.
- * Hesham ALMatary <hmka501 at york.ac.uk>
- *
- * COPYRIGHT (c) 1989-1999, 2010.
- * On-Line Applications Research Corporation (OAR).
- *
- * 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 AUTHOR 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 AUTHOR 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.
- */
-
-#ifndef _RTEMS_SCORE_EPIPHANY_H
-#define _RTEMS_SCORE_EPIPHANY_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- *  This file contains the information required to build
- *  RTEMS for a particular member of the Epiphany family.
- *  It does this by setting variables to indicate which
- *  implementation dependent features are present in a particular
- *  member of the family.
- *
- *  This is a good place to list all the known CPU models
- *  that this port supports and which RTEMS CPU model they correspond
- *  to.
- */
-
- /*
- *  Define the name of the CPU family and specific model.
- */
-
-#define CPU_NAME "EPIPHANY"
-#define CPU_MODEL_NAME "EPIPHANY"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _RTEMS_SCORE_EPIPHANY_H */
diff --git a/cpukit/score/cpu/epiphany/setjmp.S b/cpukit/score/cpu/epiphany/setjmp.S
deleted file mode 100644
index b981ee51e2..0000000000
--- a/cpukit/score/cpu/epiphany/setjmp.S
+++ /dev/null
@@ -1,69 +0,0 @@
-/* setjmp and longjmp
-
-   Copyright (c) 2011, Adapteva, Inc.
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-    * Redistributions of source code must retain the above copyright notice,
-      this list of conditions and the following disclaimer.
-    * 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.
-    * Neither the name of Adapteva nor the names of its contributors may be
-      used to endorse or promote products derived from this software without
-      specific prior written permission.
-
-   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 HOLDER 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.                                               */
-
-	.file "setjmp.S"
-        .section .text
-        .align 4
-	.global  _setjmp
-        .type _setjmp, %function
-_setjmp:
-	strd lr,[r0]
-	strd r4,[r0,1]
-	strd r6,[r0,2]
-	strd r8,[r0,3]
-	strd r10,[r0,4]
-	strd r32,[r0,5]
-	strd r34,[r0,6]
-	strd r36,[r0,7]
-	strd r38,[r0,8]
-	str sp,[r0,18]
-	mov r0,#0
-	rts
-	.size _setjmp, .-_setjmp
-	.global setjmp
-	.set setjmp, _setjmp
-
-	.global _longjmp
-_longjmp:
-	ldrd lr,[r0] ; return address / r15
-	ldrd r4,[r0,1]
-	ldrd r6,[r0,2]
-	ldrd r8,[r0,3]
-	ldrd r10,[r0,4]
-	ldrd r32,[r0,5]
-	ldrd r34,[r0,6]
-	ldrd r36,[r0,7]
-	ldrd r38,[r0,8]
-	ldr sp,[r0,18]
-	sub r1,r1,0
-	mov r0,#1
-	movne r0,r1
-	jr lr
-        .size   _longjmp, .-_longjmp
-	.global longjmp
-	.set longjmp, _longjmp
-- 
2.26.2



More information about the devel mailing list