source: soft/giet_vm/giet_kernel/irq_handler.h @ 301

Last change on this file since 301 was 297, checked in by alain, 10 years ago

Bug fix in both _tty_rx_isr() and _bdv_isr():
The ISR must do nothing it the status indicates that
there is no pending ISR.

  • Property svn:executable set to *
File size: 2.0 KB
Line 
1///////////////////////////////////////////////////////////////////////////////////
2// File     : irq_handler.h
3// Date     : 01/04/2012
4// Author   : alain greiner
5// Copyright (c) UPMC-LIP6
6///////////////////////////////////////////////////////////////////////////////////
7// The irq_handler.c and irq_handler.h files are part of the GIET-VM nano-kernel.
8// They contain the code of the _irq_demux() function that access the XICU or
9// ICU component (Interupt Controler Unit), and the various ISRs (Interrupt
10// Service Routine) associated to the various ISR types.
11///////////////////////////////////////////////////////////////////////////////////
12
13#ifndef _IRQ_HANDLER_H
14#define _IRQ_HANDLER_H
15
16////////////////////////////////////////////////////////////////////////////////
17// This enum must be kept consistent with the values defined in the
18// xml_driver.c and irq_handler.c files (for display)
19///////////////////////////////////////////////////////////////////////////////
20
21enum isr_type_t
22{
23    ISR_DEFAULT = 0,
24    ISR_TICK    = 1,
25    ISR_TTY_RX  = 2,
26    ISR_TTY_TX  = 3,
27    ISR_BDV     = 4,
28    ISR_TIMER   = 5,
29    ISR_WAKUP   = 6,
30    ISR_NIC_RX  = 7,
31    ISR_NIC_TX  = 8,
32    ISR_CMA     = 9,
33    ISR_MMC     = 10,
34};
35
36///////////////////////////////////////////////////////////////////////////////
37// Prototypes of the Interrupt Service Routines (ISRs) supported by the GIET.
38///////////////////////////////////////////////////////////////////////////////
39
40extern void _irq_demux();
41
42extern void _isr_default();
43
44extern void _isr_tick( unsigned int irq_type,
45                       unsigned int irq_id,
46                       unsigned int channel );
47
48extern void _isr_wakup( unsigned int irq_type,
49                        unsigned int irq_id,
50                        unsigned int channel );
51
52#endif
53
54// Local Variables:
55// tab-width: 4
56// c-basic-offset: 4
57// c-file-offsets:((innamespace . 0)(inline-open . 0))
58// indent-tabs-mode: nil
59// End:
60// vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
61
Note: See TracBrowser for help on using the repository browser.