| 
                Last change
                  on this file since 314 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
           | 
      
      
        
  | Rev | Line |   | 
|---|
| [294] | 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 |  | 
|---|
| [258] | 13 | #ifndef _IRQ_HANDLER_H | 
|---|
 | 14 | #define _IRQ_HANDLER_H | 
|---|
 | 15 |  | 
|---|
| [294] | 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 |  | 
|---|
| [258] | 21 | enum isr_type_t | 
|---|
 | 22 | { | 
|---|
 | 23 |     ISR_DEFAULT = 0, | 
|---|
| [294] | 24 |     ISR_TICK    = 1, | 
|---|
 | 25 |     ISR_TTY_RX  = 2, | 
|---|
 | 26 |     ISR_TTY_TX  = 3, | 
|---|
 | 27 |     ISR_BDV     = 4, | 
|---|
| [258] | 28 |     ISR_TIMER   = 5, | 
|---|
 | 29 |     ISR_WAKUP   = 6, | 
|---|
| [294] | 30 |     ISR_NIC_RX  = 7, | 
|---|
 | 31 |     ISR_NIC_TX  = 8, | 
|---|
 | 32 |     ISR_CMA     = 9, | 
|---|
| [297] | 33 |     ISR_MMC     = 10, | 
|---|
| [258] | 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 |  | 
|---|
| [294] | 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 |  | 
|---|
| [258] | 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.