19 #ifndef VIRTEX_IRQ_IRQ_H 20 #define VIRTEX_IRQ_IRQ_H 24 #include <bsp/opbintctrl.h> 34 #define BSP_OPBINTC_PER_IRQ_NUMBER XPAR_INTC_MAX_NUM_INTR_INPUTS 35 #define BSP_OPBINTC_IRQ_LOWEST_OFFSET 0 36 #define BSP_OPBINTC_IRQ_MAX_OFFSET (BSP_OPBINTC_IRQ_LOWEST_OFFSET\ 37 +BSP_OPBINTC_PER_IRQ_NUMBER-1) 39 #define BSP_IS_OPBINTC_IRQ(irqnum) \ 40 (((irqnum) >= BSP_OPBINTC_IRQ_LOWEST_OFFSET) && \ 41 ((irqnum) <= BSP_OPBINTC_IRQ_MAX_OFFSET)) 45 #define BSP_PROCESSOR_IRQ_NUMBER 3 46 #define BSP_PROCESSOR_IRQ_LOWEST_OFFSET (BSP_OPBINTC_IRQ_MAX_OFFSET+1) 47 #define BSP_PROCESSOR_IRQ_MAX_OFFSET (BSP_PROCESSOR_IRQ_LOWEST_OFFSET\ 48 +BSP_PROCESSOR_IRQ_NUMBER-1) 50 #define BSP_IS_PROCESSOR_IRQ(irqnum) \ 51 (((irqnum) >= BSP_PROCESSOR_IRQ_LOWEST_OFFSET) && \ 52 ((irqnum) <= BSP_PROCESSOR_IRQ_MAX_OFFSET)) 56 #define BSP_IRQ_NUMBER (BSP_PROCESSOR_IRQ_MAX_OFFSET+1) 57 #define BSP_LOWEST_OFFSET BSP_OPBINTC_IRQ_LOWEST_OFFSET 58 #define BSP_MAX_OFFSET BSP_PROCESSOR_IRQ_MAX_OFFSET 60 #define BSP_IS_VALID_IRQ(irqnum) \ 61 (BSP_IS_PROCESSOR_IRQ(irqnum) \ 62 || BSP_IS_OPBINTC_IRQ(irqnum)) 64 #define BSP_INTERRUPT_VECTOR_MIN 0 65 #define BSP_INTERRUPT_VECTOR_MAX BSP_PROCESSOR_IRQ_MAX_OFFSET 76 BSP_OPBINTC_IRQ_FIRST = BSP_OPBINTC_IRQ_LOWEST_OFFSET,
81 BSP_OPBINTC_IRQ_LAST = BSP_OPBINTC_IRQ_MAX_OFFSET,
82 BSP_EXT = BSP_PROCESSOR_IRQ_LOWEST_OFFSET + 0,
83 BSP_PIT = BSP_PROCESSOR_IRQ_LOWEST_OFFSET + 1,
84 BSP_CRIT = BSP_PROCESSOR_IRQ_LOWEST_OFFSET + 2
85 } rtems_irq_symbolic_name;
87 #define BSP_OPBINTC_XPAR(xname) (BSP_OPBINTC_IRQ_LOWEST_OFFSET+xname) Header file for the Interrupt Manager Extension.