summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/psim/irq/irq_init.c')
-rw-r--r--c/src/lib/libbsp/powerpc/psim/irq/irq_init.c125
1 files changed, 0 insertions, 125 deletions
diff --git a/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c b/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c
deleted file mode 100644
index 3d2a82f2c0..0000000000
--- a/c/src/lib/libbsp/powerpc/psim/irq/irq_init.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * This file contains the implementation of rtems initialization
- * related to interrupt handling
- */
-
-/*
- * Copyright (C) 1999 valette@crf.canon.fr
- *
- * Enhanced by Jay Kulpinski <jskulpin@eng01.gdds.com>
- * to make it valid for MVME2300 Motorola boards.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <libcpu/io.h>
-#include <libcpu/spr.h>
-#include <bsp/irq.h>
-#include <bsp.h>
-#include <psim.h>
-#include <bsp/vectors.h>
-#include <rtems/bspIo.h>
-#include <bsp/openpic.h>
-#include <bsp/irq-generic.h>
-
-static rtems_irq_connect_data rtemsIrq[BSP_IRQ_NUMBER];
-static rtems_irq_global_settings initial_config;
-static rtems_irq_connect_data defaultIrq = {
- /* vectorIdex, hdl , handle , on , off , isOn */
- 0, NULL, NULL , NULL, NULL, NULL
-};
-static rtems_irq_prio irqPrioTable[BSP_IRQ_NUMBER]={
- /*
- * Processor exceptions handled as interrupts
- */
- 0
-};
-
- /*
- * This code assumes the exceptions management setup has already
- * been done. We just need to replace the exceptions that will
- * be handled like interrupt. On mcp750/mpc750 and many PPC processors
- * this means the decrementer exception and the external exception.
- */
-void BSP_rtems_irq_mng_init(unsigned cpuId)
-{
- int i;
-
- /*
- * First initialize the Interrupt management hardware
- */
- OpenPIC = (void*)PSIM.OpenPIC;
- openpic_init(1,0,0,16,0,0);
-
- /*
- * Initialize Rtems management interrupt table
- */
- /*
- * re-init the rtemsIrq table
- */
- for (i = 0; i < BSP_IRQ_NUMBER; i++) {
- rtemsIrq[i] = defaultIrq;
- rtemsIrq[i].name = i;
- }
- /*
- * Init initial Interrupt management config
- */
- initial_config.irqNb = BSP_IRQ_NUMBER;
- initial_config.defaultEntry = defaultIrq;
- initial_config.irqHdlTbl = rtemsIrq;
- initial_config.irqBase = BSP_LOWEST_OFFSET;
- initial_config.irqPrioTbl = irqPrioTable;
-
- for (i = BSP_PCI_IRQ_LOWEST_OFFSET; i< BSP_PCI_IRQ_NUMBER; i++ ) {
- irqPrioTable[i] = 8;
- }
-
- if (!BSP_rtems_irq_mngt_set(&initial_config)) {
- /*
- * put something here that will show the failure...
- */
- rtems_panic(
- "Unable to initialize RTEMS interrupt Management!!! System locked\n"
- );
- }
-
- #ifdef TRACE_IRQ_INIT
- printk("RTEMS IRQ management is now operationnal\n");
- #endif
-}
-
-static int psim_exception_handler(
- BSP_Exception_frame *frame,
- unsigned exception_number
-)
-{
- rtems_panic("Unexpected interrupt occured");
- return 0;
-}
-
-/*
- * functions to enable/disable a source at the ipic
- */
-void bsp_interrupt_vector_enable( rtems_vector_number irqnum)
-{
- /* FIXME: do something */
- bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
-}
-
-void bsp_interrupt_vector_disable( rtems_vector_number irqnum)
-{
- /* FIXME: do something */
- bsp_interrupt_assert(bsp_interrupt_is_valid_vector(irqnum));
-}
-
-rtems_status_code bsp_interrupt_facility_initialize(void)
-{
- /* Install exception handler */
- if (ppc_exc_set_handler( ASM_EXT_VECTOR, psim_exception_handler)) {
- return RTEMS_IO_ERROR;
- }
-
- return RTEMS_SUCCESSFUL;
-}