From 0f4a7391bb96dd8170c7f37d67cd0bf19d68e2ac Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 5 Feb 2018 11:45:17 +0100 Subject: bsps/powerpc: Remove support for mpc505 Close #3270. --- c/src/lib/libcpu/powerpc/Makefile.am | 20 ------ c/src/lib/libcpu/powerpc/configure.ac | 1 - c/src/lib/libcpu/powerpc/mpc505/ictrl/ictrl.c | 68 -------------------- c/src/lib/libcpu/powerpc/mpc505/timer/timer.c | 56 ----------------- c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S | 75 ----------------------- 5 files changed, 220 deletions(-) delete mode 100644 c/src/lib/libcpu/powerpc/mpc505/ictrl/ictrl.c delete mode 100644 c/src/lib/libcpu/powerpc/mpc505/timer/timer.c delete mode 100644 c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S (limited to 'c/src/lib/libcpu/powerpc') diff --git a/c/src/lib/libcpu/powerpc/Makefile.am b/c/src/lib/libcpu/powerpc/Makefile.am index 6cf77130f1..b0bb0735e5 100644 --- a/c/src/lib/libcpu/powerpc/Makefile.am +++ b/c/src/lib/libcpu/powerpc/Makefile.am @@ -144,26 +144,6 @@ mpc5xx_vectors_rel_CPPFLAGS = $(AM_CPPFLAGS) mpc5xx_vectors_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) endif -if mpc505 -# mpc505/ictrl -noinst_PROGRAMS += mpc505/ictrl.rel -mpc505_ictrl_rel_SOURCES = mpc505/ictrl/ictrl.c -mpc505_ictrl_rel_CPPFLAGS = $(AM_CPPFLAGS) -mpc505_ictrl_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) - -# mpc505/timer -noinst_PROGRAMS += mpc505/timer.rel -mpc505_timer_rel_SOURCES = mpc505/timer/timer.c -mpc505_timer_rel_CPPFLAGS = $(AM_CPPFLAGS) -mpc505_timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) - -# mpc505/vector -noinst_PROGRAMS += mpc505/vectors.rel -mpc505_vectors_rel_SOURCES = mpc505/vectors/vectors.S -mpc505_vectors_rel_CPPFLAGS = $(AM_CPPFLAGS) -mpc505_vectors_rel_LDFLAGS = $(RTEMS_RELLDFLAGS) -endif - if mpc6xx # mpc6xx/mmu diff --git a/c/src/lib/libcpu/powerpc/configure.ac b/c/src/lib/libcpu/powerpc/configure.ac index ba654372f1..3d85e2b25f 100644 --- a/c/src/lib/libcpu/powerpc/configure.ac +++ b/c/src/lib/libcpu/powerpc/configure.ac @@ -40,7 +40,6 @@ AM_CONDITIONAL(shared, \ || test "$RTEMS_CPU_MODEL" = "e500") # test on CPU type -AM_CONDITIONAL(mpc505, test "$RTEMS_CPU_MODEL" = "mpc505") AM_CONDITIONAL(mpc55xx, test "$RTEMS_CPU_MODEL" = "mpc55xx") AM_CONDITIONAL(mpc5xx, test "$RTEMS_CPU_MODEL" = "mpc555" ) AM_CONDITIONAL(mpc6xx, test "$RTEMS_CPU_MODEL" = "mpc6xx" \ diff --git a/c/src/lib/libcpu/powerpc/mpc505/ictrl/ictrl.c b/c/src/lib/libcpu/powerpc/mpc505/ictrl/ictrl.c deleted file mode 100644 index 51db6a62c1..0000000000 --- a/c/src/lib/libcpu/powerpc/mpc505/ictrl/ictrl.c +++ /dev/null @@ -1,68 +0,0 @@ -/* - * mpc505/509 external interrupt controller management. - */ - -#include "ictrl.h" - -#include -#include - -/* - * Internal routines. - */ - -static unsigned long volatile *const IRQAND = - (unsigned long volatile *const)0x8007EFA4; - -static void nullHandler() -{ -} - -/* Interrupt dispatch table. */ -static ExtIsrHandler extIrqHandlers[NUM_IRQS] = -{ - nullHandler, - nullHandler, - nullHandler, - nullHandler, - nullHandler, - nullHandler, - nullHandler -}; - - -/* RTEMS external interrupt handler. Calls installed external interrupt - handlers for every pending external interrupt in turn. */ -static rtems_isr extIsr_( rtems_vector_number i ) -{ -#define BIT_NUMBER(val, bit) \ - __asm__ volatile ( "cntlzw %0, %1; srawi %0, %0, 1": "=r" (bit) : "r" (val) ); - - int bit; - (void)i; - - BIT_NUMBER(*IRQAND & IMASK_ALL, bit); - while ( bit < NUM_IRQS ) { - extIrqHandlers[bit](); - BIT_NUMBER(*IRQAND & IMASK_ALL, bit); - } -} - -/* - * Public routines - */ - -void extIrqSetHandler(ExtInt interrupt,ExtIsrHandler handler) -{ - extIrqHandlers[interrupt] = handler; -} - -void extIsrInit( void ) -{ - int i = 0; - - extIrqDisable(IMASK_ALL); - for( i = 0; i < NUM_IRQS; i++) - extIrqHandlers[i] = nullHandler; - set_vector(extIsr_,PPC_IRQ_EXTERNAL,1); -} diff --git a/c/src/lib/libcpu/powerpc/mpc505/timer/timer.c b/c/src/lib/libcpu/powerpc/mpc505/timer/timer.c deleted file mode 100644 index 17bc2afba2..0000000000 --- a/c/src/lib/libcpu/powerpc/mpc505/timer/timer.c +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @file - * - * This file manages the benchmark timer used by the RTEMS Timing Test - * Suite. Each measured time period is demarcated by calls to - * benchmark_timer_initialize() and benchmark_timer_read(). - * benchmark_timer_read() usually returns the number of microseconds - * since benchmark_timer_initialize() exitted. - * - * NOTE: It is important that the timer start/stop overhead be - * determined when porting or modifying this code. - */ - -/* - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. - * On-Line Applications Research Corporation (OAR). - */ - -#include -#include - -bool benchmark_timer_find_average_overhead; - -static unsigned int volatile lastInitValue; - -void benchmark_timer_initialize( void ) -{ - __asm__ volatile( " mftb %0": "=r" (lastInitValue) ); -} - -/* - * 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 value; - __asm__ volatile ( " mftb %0": "=r" (value) ); - return value - lastInitValue; -} - -void benchmark_timer_disable_subtracting_average_overhead(bool find_flag) -{ - benchmark_timer_find_average_overhead = find_flag; -} diff --git a/c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S b/c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S deleted file mode 100644 index e10f3e72f4..0000000000 --- a/c/src/lib/libcpu/powerpc/mpc505/vectors/vectors.S +++ /dev/null @@ -1,75 +0,0 @@ -/* vectors.s 1.1 - 95/12/04 - * - * This file contains the assembly code for the PowerPC 505 - * interrupt veneers for RTEMS. - * - * Author: Sergei Organov - * - * COPYRIGHT (c) 1998 by JPS. - * - * To anyone who acknowledges that this file is provided "AS IS" - * without any express or implied warranty: - * permission to use, copy, modify, and distribute this file - * for any purpose is hereby granted without fee, provided that - * the above copyright notice and this notice appears in all - * copies, and that the name of i-cubed limited not be used in - * advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. - * i-cubed limited makes no representations about the suitability - * of this software for any purpose. - * - */ - -#include -#include -#include - - /* Vector offsets */ - .set reset, 0x0100 # PPC_IRQ_SYSTEM_RESET - .set machine_check, 0x0200 # PPC_IRQ_MCHECK - .set dsi, 0x0300 # PPC_IRQ_PROTECT - .set isi, 0x0400 # PPC_IRQ_ISI - .set external_interrupt, 0x0500 # PPC_IRQ_EXTERNAL - .set alignment, 0x0600 # PPC_IRQ_ALIGNMENT - .set program, 0x0700 # PPC_IRQ_PROGRAM - .set fp_unavailable, 0x0800 # PPC_IRQ_NOFP - .set decrementer, 0x0900 # PPC_IRQ_DECREMENTER - .set system_call, 0x0C00 # PPC_IRQ_SCALL - .set trace, 0x0D00 # PPC_IRQ_TRACE - .set fp_assist, 0x0E00 # PPC_IRQ_FP_ASST - .set software_emulation, 0x1000 # PPC_IRQ_SOFTEMU - .set data_bp, 0x1C00 # PPC_IRQ_DATA_BP - .set istruction_bp, 0x1D00 # PPC_IRQ_INST_BP - .set m_extern_bp, 0x1E00 # PPC_IRQ_MEXT_BP - .set nm_extern_bp, 0x1F00 # PPC_IRQ_NMEXT_BP - -#define ABI_ADD 0 - .extern led_green -#define ISR_HANDLER(vector, irq) \ - .org vector; \ - stwu r1, -(ABI_ADD + IP_END)(r1); \ - stw r0, IP_0(r1); \ - li r0, irq; \ - b PROC (_ISR_Handler); - - /* Go to the right section */ - .section .vect,"ax",@progbits - .globl __vect -__vect: - ISR_HANDLER(reset, PPC_IRQ_SYSTEM_RESET) - ISR_HANDLER(machine_check, PPC_IRQ_MCHECK) - ISR_HANDLER(dsi, PPC_IRQ_PROTECT) - ISR_HANDLER(isi, PPC_IRQ_ISI) - ISR_HANDLER(external_interrupt, PPC_IRQ_EXTERNAL) - ISR_HANDLER(alignment, PPC_IRQ_ALIGNMENT) - ISR_HANDLER(program, PPC_IRQ_PROGRAM) - ISR_HANDLER(fp_unavailable, PPC_IRQ_NOFP) - ISR_HANDLER(decrementer, PPC_IRQ_DECREMENTER) - ISR_HANDLER(system_call, PPC_IRQ_SCALL) - ISR_HANDLER(trace, PPC_IRQ_TRACE) - ISR_HANDLER(fp_assist, PPC_IRQ_FP_ASST) - ISR_HANDLER(software_emulation, PPC_IRQ_SOFTEMU) - ISR_HANDLER(data_bp, PPC_IRQ_DATA_BP) - ISR_HANDLER(istruction_bp, PPC_IRQ_INST_BP) - ISR_HANDLER(m_extern_bp, PPC_IRQ_MEXT_BP) - ISR_HANDLER(nm_extern_bp, PPC_IRQ_NMEXT_BP) -- cgit v1.2.3