summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/gba/irq/irq.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-04-30 14:55:55 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-04-30 14:55:55 +0000
commit536f2d2b6a7b2854fff08ae62d10728a83fb17d6 (patch)
treebfb11e753120b82b2add03caefaa6e665469f01a /c/src/lib/libbsp/arm/gba/irq/irq.h
parent2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-536f2d2b6a7b2854fff08ae62d10728a83fb17d6.tar.bz2
2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
* irq/irq_asm.S, irq/irq_init.c, irq/bsp_irq_asm.S, irq/bsp_irq_init.c: Removed files. * Makefile.am, preinstall.am: Reflect changes above. Added generic interrupt support modules. * irq/irq.h, irq/irq.c: The previous interrupt warning fix changed the interrupt handler API. To fix this problem the generic interrupt support framework will be used now. This eliminates a lot of copy and paste code. The interrupt header file is now <bsp/irq.h>. * include/bsp.h: Define BSP_FEATURE_IRQ_EXTENSION. * start/start.S, startup/bspstart.c, clock/clockdrv.c, console/console.c, timer/timer.c: Interrupt support changes.
Diffstat (limited to 'c/src/lib/libbsp/arm/gba/irq/irq.h')
-rw-r--r--c/src/lib/libbsp/arm/gba/irq/irq.h85
1 files changed, 30 insertions, 55 deletions
diff --git a/c/src/lib/libbsp/arm/gba/irq/irq.h b/c/src/lib/libbsp/arm/gba/irq/irq.h
index 7bb00e456a..7b32e6d283 100644
--- a/c/src/lib/libbsp/arm/gba/irq/irq.h
+++ b/c/src/lib/libbsp/arm/gba/irq/irq.h
@@ -7,6 +7,8 @@
/*
* RTEMS GBA BSP
*
+ * Copyright (c) 2010 embedded brains GmbH.
+ *
* Copyright (c) 2004 Markku Puro <markku.puro@kopteri.net>
*
* The license and distribution terms for this file may be
@@ -16,25 +18,16 @@
* $Id$
*/
-#ifndef _IRQ_H_
-#define _IRQ_H_
-
+#ifndef __asm__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Include some preprocessor value also used by assember code
- */
-
-#define VECTOR_TABLE (&irq_vector_table[0])
-
-#include <stdint.h>
-#include <rtems/irq.h>
#include <rtems.h>
+#include <rtems/irq.h>
+#include <rtems/irq-extension.h>
-extern void default_int_handler(rtems_irq_hdl_param unused);
+#endif /* __asm__ */
+
+#ifndef _IRQ_H_
+#define _IRQ_H_
/*---------------------------------------------------------------------------*
* MACROS *
@@ -48,44 +41,26 @@ extern void default_int_handler(rtems_irq_hdl_param unused);
| Constants
+--------------------------------------------------------------------------*/
-typedef enum {
- BSP_IRQ_VBLANK = 0,
- BSP_IRQ_HBLANK = 1,
- BSP_IRQ_VCOUNTER = 2,
- BSP_IRQ_TIMER0 = 3,
- BSP_IRQ_TIMER1 = 4,
- BSP_IRQ_TIMER2 = 5,
- BSP_IRQ_TIMER3 = 6,
- BSP_IRQ_SERIAL = 7,
- BSP_IRQ_DMA0 = 8,
- BSP_IRQ_DMA1 = 9,
- BSP_IRQ_DMA2 = 10,
- BSP_IRQ_DMA3 = 11,
- BSP_IRQ_KEY = 12,
- BSP_IRQ_CART = 13,
- BSP_IRQ_NA14 = 14,
- BSP_IRQ_NA15 = 15,
- BSP_MAX_INT = 16 /**< BSP_MAX_INT <= _irq_max_vector in linkcmds */
-} rtems_irq_symbolic_name;
-
-
-extern void _irq_max_vector; /**< defined in lincmds */
-extern uint32_t irq_vector_table[BSP_MAX_INT]; /**< allocated in linkcmds */
-
-/*-------------------------------------------------------------------------+
-| Function Prototypes.
-+--------------------------------------------------------------------------*/
-/*
- * ------------------------ RTEMS Single Irq Handler Mngt Routines ----------------
- */
-
-/**
- * @brief function to initialize the interrupt for a specific BSP
- */
-void BSP_rtems_irq_mngt_init();
-
-#ifdef __cplusplus
-}
-#endif
+#define BSP_IRQ_VBLANK 0
+#define BSP_IRQ_HBLANK 1
+#define BSP_IRQ_VCOUNTER 2
+#define BSP_IRQ_TIMER0 3
+#define BSP_IRQ_TIMER1 4
+#define BSP_IRQ_TIMER2 5
+#define BSP_IRQ_TIMER3 6
+#define BSP_IRQ_SERIAL 7
+#define BSP_IRQ_DMA0 8
+#define BSP_IRQ_DMA1 9
+#define BSP_IRQ_DMA2 10
+#define BSP_IRQ_DMA3 11
+#define BSP_IRQ_KEY 12
+#define BSP_IRQ_CART 13
+#define BSP_IRQ_NA14 14
+#define BSP_IRQ_NA15 15
+#define BSP_MAX_INT 16
+
+#define BSP_INTERRUPT_VECTOR_MIN 0
+
+#define BSP_INTERRUPT_VECTOR_MAX (BSP_MAX_INT - 1)
#endif /* _IRQ_H_ */