RTEMS  5.1
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
i8259.h File Reference

Data structure and functions used to control i8259 chip. More...

Go to the source code of this file.

Macros

8259 edge/level control definitions at VIA
#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
 
PIC's command and mask registers
#define PIC_MASTER_COMMAND_IO_PORT   0x20
 Master PIC command register */.
 
#define PIC_SLAVE_COMMAND_IO_PORT   0xa0
 Slave PIC command register */.
 
#define PIC_MASTER_IMR_IO_PORT   0x21
 Master PIC Interrupt Mask Register */.
 
#define PIC_SLAVE_IMR_IO_PORT   0xa1
 Slave PIC Interrupt Mask Register */.
 
Command for specific EOI (End Of Interrupt): Interrupt acknowledge
#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) */.
 

Functions

Function Prototypes
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)
 

Type definition for RTEMS managed interrupts

typedef unsigned short rtems_i8259_masks
 
volatile rtems_i8259_masks i8259s_cache
 

Detailed Description

Data structure and functions used to control i8259 chip.