diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-04-30 14:55:55 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-04-30 14:55:55 +0000 |
commit | 536f2d2b6a7b2854fff08ae62d10728a83fb17d6 (patch) | |
tree | bfb11e753120b82b2add03caefaa6e665469f01a /c/src/lib/libbsp/arm/gba/irq/irq.h | |
parent | 2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-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.h | 85 |
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_ */ |