lkml.org 
[lkml]   [1998]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectPCI IRQ question
From
Date

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/

\
 
 \ /
  Last update: 2005-03-22 13:45    [W:0.148 / U:0.324 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site