Messages in this thread | | | Subject | PCI IRQ question | From | Claude Gamache <> | Date | 21 Nov 1998 10:40:50 -0500 |
| |
Hi,
Is the following DOS code the equivalent of a simple Linux request_irq(irq, isr_handler, SA_INTERRUPT, "driver", NULL) ? My guess is yes, but I just want ot make sure.
DOS code: ============ if(irq<8) { old_service_routine = _dos_getvect(irq+8); //get old vector and save _dos_setvect(irq+8,isr_handler); //put in our routine i = _inp(0x21); if(irq ==3) i = i&0xf7; if(irq ==4) i = i&0xef; if(irq ==5) i = i&0xdf; if(irq ==6) i = i&0xbf; if(irq ==7) i = i&0x7f; _outp(0x21,i); } if(irq>8) { old_service_routine = _dos_getvect(irq+0x70 -8); _dos_setvect(irq+0x70-8,escc_isr); i = _inp(0xa1); if(irq ==9) i = i&0xfd; if(irq ==10) i = i&0xfb; if(irq ==11) i = i&0xf7; if(irq ==12) i = i&0xef; if(irq ==15) i = i&0x7f; _outp(0xa1,i); upper_irq = 1; } =============
I traced request_irq down to set_intr_gate.... and I did not find it (yet).
I ask this because I'm writing a driver in Linux for a serial comm. PCI card and I have a piece of DOS code that seems to be working correctly. At the moment I still have problems under Linux with the code specific to the PCI card.
Thanks in advance,
Claude
-- Claude Gamache, CAE Electronique Ltee, 8585 Cote-de-Liesse Saint-Laurent, Quebec, Canada H4T 1G6 Email: cgamache@cae.ca Tel.: (514) 341-2000 x3194, Fax: (514) 734-5612
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |