| Last change
                  on this file since 312 was
                  297,
                  checked in by alain, 12 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 |  | 
|---|
| 21 | enum 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 |  | 
|---|
| 40 | extern void _irq_demux(); | 
|---|
| 41 |  | 
|---|
| 42 | extern void _isr_default(); | 
|---|
| 43 |  | 
|---|
| 44 | extern void _isr_tick( unsigned int irq_type, | 
|---|
| 45 | unsigned int irq_id, | 
|---|
| 46 | unsigned int channel ); | 
|---|
| 47 |  | 
|---|
| 48 | extern 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.