Lines Matching defs:irq

24 int install_irq_handler ( irq_t irq, segoff_t *handler,
27 segoff_t *irq_vector = IRQ_VECTOR ( irq );
28 *previously_enabled = irq_enabled ( irq );
30 if ( irq > IRQ_MAX ) {
37 if ( *previously_enabled ) disable_irq ( irq );
39 handler->segment, handler->offset, irq,
45 if ( *previously_enabled ) enable_irq ( irq );
55 int remove_irq_handler ( irq_t irq, segoff_t *handler,
58 segoff_t *irq_vector = IRQ_VECTOR ( irq );
60 if ( irq > IRQ_MAX ) {
70 DBG ( "Removing handler for IRQ %d\n", irq );
71 disable_irq ( irq );
74 if ( *previously_enabled ) enable_irq ( irq );
81 void send_specific_eoi ( irq_t irq ) {
82 DBG ( "Sending specific EOI for IRQ %d\n", irq );
83 outb ( ICR_EOI_SPECIFIC | ICR_VALUE(irq), ICR_REG(irq) );
84 if ( irq >= IRQ_PIC_CUTOFF ) {
95 int irq = 0;
97 for ( irq = 0; irq < 16; irq++ ) {
98 if ( irq_enabled ( irq ) ) {
99 printf ( "IRQ%d enabled, ISR at %hx:%hx\n", irq,
100 IRQ_VECTOR(irq)->segment,
101 IRQ_VECTOR(irq)->offset );
118 /* UNDI entry point and irq, used by interrupt handler
129 int install_undi_irq_handler ( irq_t irq, segoff_t entrypointsp ) {
141 DBG ( "Installing undi IRQ handler on IRQ %d\n", irq );
143 *pxenv_undi_irq = irq;
144 if ( ! install_irq_handler ( irq, &undi_irq_handler_segoff,
148 undi_irq_installed_on = irq;
150 DBG ( "Disabling undi IRQ %d\n", irq );
151 disable_irq ( irq );
161 int remove_undi_irq_handler ( irq_t irq ) {
165 if ( irq != undi_irq_installed_on ) {
167 "is installed on IRQ %d\n", irq,
172 if ( ! remove_irq_handler ( irq, &undi_irq_handler_segoff,
191 int undi_irq_triggered ( irq_t irq ) {
196 /* irq is not used at present, but we have it in the API for
202 if ( irq == IRQ_NONE ) {};