i8259 Chip Support  
More...
 | 
| file   | i8259.h | 
|   | Data structure and functions used to control i8259 chip. 
  | 
|   | 
 | 
| 
#define  | ISA8259_M_ELCR   0x4d0 | 
|   | 
| 
#define  | ISA8259_S_ELCR   0x4d1 | 
|   | 
| 
#define  | ELCRS_INT15_LVL   0x80 | 
|   | 
| 
#define  | ELCRS_INT14_LVL   0x40 | 
|   | 
| 
#define  | ELCRS_INT13_LVL   0x20 | 
|   | 
| 
#define  | ELCRS_INT12_LVL   0x10 | 
|   | 
| 
#define  | ELCRS_INT11_LVL   0x08 | 
|   | 
| 
#define  | ELCRS_INT10_LVL   0x04 | 
|   | 
| 
#define  | ELCRS_INT9_LVL   0x02 | 
|   | 
| 
#define  | ELCRS_INT8_LVL   0x01 | 
|   | 
| 
#define  | ELCRM_INT7_LVL   0x80 | 
|   | 
| 
#define  | ELCRM_INT6_LVL   0x40 | 
|   | 
| 
#define  | ELCRM_INT5_LVL   0x20 | 
|   | 
| 
#define  | ELCRM_INT4_LVL   0x10 | 
|   | 
| 
#define  | ELCRM_INT3_LVL   0x8 | 
|   | 
| 
#define  | ELCRM_INT2_LVL   0x4 | 
|   | 
| 
#define  | ELCRM_INT1_LVL   0x2 | 
|   | 
| 
#define  | ELCRM_INT0_LVL   0x1 | 
|   | 
 | 
| 
#define  | PIC_EOSI   0x60 | 
|   | End of Specific Interrupt (EOSI) */. 
  | 
|   | 
| 
#define  | SLAVE_PIC_EOSI   0x62 | 
|   | End of Specific Interrupt (EOSI) for cascade */. 
  | 
|   | 
| 
#define  | PIC_EOI   0x20 | 
|   | Generic End of Interrupt (EOI) */. 
  | 
|   | 
 | 
| 
void  | BSP_i8259s_init (void) | 
|   | 
| int  | BSP_irq_disable_at_i8259s (const rtems_irq_number irqLine) | 
|   | function to disable a particular irq at 8259 level.  More...
  | 
|   | 
| int  | BSP_irq_enable_at_i8259s (const rtems_irq_number irqLine) | 
|   | function to enable a particular irq at 8259 level.  More...
  | 
|   | 
| int  | BSP_irq_ack_at_i8259s (const rtems_irq_number irqLine) | 
|   | function to acknowledge a particular irq at 8259 level.  More...
  | 
|   | 
| 
int  | BSP_irq_enabled_at_i8259s (const rtems_irq_number irqLine) | 
|   | function to check if a particular irq is enabled at 8259 level. 
  | 
|   | 
| 
int  | BSP_i8259s_int_process (void) | 
|   | 
| 
void  | BSP_rtems_irq_mng_init (unsigned cpuId) | 
|   | 
i8259 Chip Support 
◆ BSP_irq_ack_at_i8259s()
      
        
          | int BSP_irq_ack_at_i8259s  | 
          ( | 
          const rtems_irq_number  | 
          irqLine | ) | 
           | 
        
      
 
function to acknowledge a particular irq at 8259 level. 
After calling this function, if a device asserts an enabled interrupt line it will be propagated further to the processor. Mainly useful for people writing raw handlers as this is automagically done for RTEMS managed handlers. 
 
 
◆ BSP_irq_disable_at_i8259s()
      
        
          | int BSP_irq_disable_at_i8259s  | 
          ( | 
          const rtems_irq_number  | 
          irqLine | ) | 
           | 
        
      
 
function to disable a particular irq at 8259 level. 
After calling this function, even if the device asserts the interrupt line it will not be propagated further to the processor.
- Return values
 - 
  
    | 1 | the interrupt was enabled originally  | 
    | 0 | the interrupt was disabled originally  | 
    | <0 | error  | 
  
   
 
 
◆ BSP_irq_enable_at_i8259s()
      
        
          | int BSP_irq_enable_at_i8259s  | 
          ( | 
          const rtems_irq_number  | 
          irqLine | ) | 
           | 
        
      
 
function to enable a particular irq at 8259 level. 
After calling this function, if the device asserts the interrupt line it will be propagated further to the processor.