From: "Jan Humme" Newsgroups: comp.os.msdos.djgpp Subject: Re: PCI Interrupt Handler Date: 30 Jun 1998 19:13:55 GMT Organization: Imedia Engineering BV Lines: 85 Message-ID: <6nbddj$a7j@news3.euro.net> References: <359522D5 DOT B81D5AFD AT giga-net DOT com> NNTP-Posting-Host: i214.asd.euronet.nl To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Harold Roman 978-461-0402 Ext 223 wrote in message <359522D5 DOT B81D5AFD AT giga-net DOT com>... >Does anyone have experience writting an interrupt handler for a >PCI device? > >I am having trouble getting an interrupt handler to work with my PCI >device. I have no trouble when I register my handler to another >interrupt (IRQ8 -- real time clock interrupt), but when I try to >register the handler to my PCI device (IRQ9 or IRQ10 -- depending on >which slot I move the card to) my handler never gets called. > >I am using: _go32_dpmi_chain_protected_mode_interrupt_vector( irq, >newHandler ). > >I have verified that the device is really generating the interrupt. > >What am I forgetting? Do I have to unmask the interrupt? Do I need to >map the PCI interrupts to the IRQ interrupts? You have to unmask the IRQ in the 8159 interrupt controller of the PC, or it won't come through. Mapping is done automatically for you by the BIOS at startup of your PC. Attached is what I believe to be an improved version ("my version") of an simple hardware interrupt library that I once downloaded from DJ's server. It does no locking, so it's best to switch virtual memory off. It works fine for my PCI device. Good luck. Jan Humme. begin 666 irq.zip M4$L#! H````&`#:4S"0 AT U7"9,P8``)H.```%````25)1+D,-`@$2(Q05-C=H MB9K;/ 4&$A-$Q?:6]U^J;*@0Q' 'B32H5*)7AG=1D$F=4BTJ56I5J%2G*#]( MHDJ/0H4*TJJ,\0XB.)W6+4BH),%V?8MV3+?C;C'S)G3!O AT 6FQ=D MT[1CT88MRQ;D%.-==\[YE AT MB&&)1N6S#9"_L+==ES!G9$7- ;Y AT Q01I]*\=[ MHRV;MLU]^"/)NFU8MWFH>YGDG9:MCG ]%&G5*74?:-&B5ET6;9&\GK?3I$M= M5B'>+:@WTZ!.CQ9UZI)H$;&1<8CM4L.R-=._ZY:=.U>LG+:'#E%IV+-DO$Z0 M,F%\#0^31K &Z;2N''\MAND^XS70A60-,/A5F!IIW;9MRW1#)%K&>@M1NZI4 M6#]L6#I:=TLCX!%CPJQ9PZJV AT KR#MIE3D AT W;YCLBE2A5WEV63O'JT]UX569C MT;A+H&6LZK=NP+=+MVRJ)I)U6+ET4::5&_>KVSIR90KVM?EV4_ULCFX0:!^. MXBWQ(GM+90F2S-AM1^TA-74#`EQP+!)L3?;.\**?(.^F6=\@P&D0ZT AT 71A.- MVVR*A@&VZ3V'G$E.O76Y=>'2X8]#^F^X4-3*ZQH:]+INTR2E[#?='>L(J?M+ M79"J%W6CR^R+NK9WW2?'LGT[1W\M/?P(Y:BU-9H]G8U9,SXN_2VO:+T^JL7HN"[4"?(_15M$9N.H*VG^593AG&B2*962*1,^U M0I2',&A<1SFK+^(AW;?E"C_T))/9>=_6T=/=GCB[QV AT IFL)(;:9OLV'KLJEJ M8?=,F6O4.>:W%+?(-DTX6^BMQTD=MJP8MF,-:7G_7(& M-V:M7RP+\BTV[9DG<1![D$F;0GTJE9E7D;5QEP(KL:$)M MSLF HT[[9VRS(*7#S"6.F&WS?KDO4:;X&W:/?3VFLKX#<" W#4(K^77H4Z=& MU.ZF.\##]K%;&BFF5"OEK%:V@)MB+2;DGMM&<5+.7VOTCEMG>8.\P5\Q.?J\ M)O],]]^P&R4XY5;::I&Z AT 76JH[/M9I RN>9V5:MIH8H!](:?[MTWDO.60_27V?V633=37HWE M8M]LX2R8+)X/\\K,_58.*%L\9]J AT P0;IT<3QOS">J:/)M/M AT XYLN8-31/ MEH',EIN'ZD32)'%7SPE3Z*'=FB&U0NTNBZ>HKI/&.&(](97],DOWE',EQ5X#(_Y5;'0=@7N>9.$LW2[1^I". MF;N\T&^FP\,=`QUNK1+8)=VHXT4D AT DUO$=/M5F:]RR:(_B9I+DS8;@ZI4<;D MR>-XE\29,@7XN&M3MYO0-,B&Y))2Q<#8L*>IDF$J7/<=Y5_/OJFD_C)4R%*7 M/4.^WEQV-5LRE\U9@!QC+JHM>-OAS,)RHWW[=NT7.5 S7PUOIV]3"/KW".\$ MU'"'50J_X?A$_H5F!G[RJYWJ^V*CV&_JV AT 0^G%"98!_>Q;+^XL0V4QG9$P3\ M3!$7?H<\!$_YFS$T'727P^]WV&JX<'3U)IKA4\2'GT,VH!F#[T-E6D[M/NR< M_+@K AT T >H%P9QAC>3+TZ"SA@$Q+;OWQLM;7Z&'QNBJ\Q`P/^R_OLP1):)DT5 M\$N5HA<%>X48/5;,>>ARY^"#E=-DL74[E<-.`%*C<&Z)50^SI#]A AT LJ%AXD7 MQJ'V"OG"KDBP+W,>_!NCTBU!N(=)/XR$=<)D.)"@I ;1')^ >B:HK:8C\:I8 MBTEWF3'B',T)\LT7!&@P9"IM3^"RH"?L`Q1!#38(->0 AT U$!CV##3PG*;BB?"27TH*F'0'KP M>L-02P,$"@````$`W9/,)%4X>$C2````'0$```4```!)4E$N2 T4C"!3QDP: M-V5 - DRA4H1*5^&/'%B)(F4)B#>U*$#YXT<.F)0P, C`P:+D253!!Q8\&#" M*4R"6"D2<6+%BQDW=OP8H< M%E;=8)4S!ZU3!6O;OHW[D:]@JW+B."F[0RU;MUS9T'&,-4WDR883N[7[!6Z8 MQGT]2Z9L6?$8-F_FE/ERE3/DU88#`E!+`0(+``H````&`#:4S"0 AT U7"9,P8` M`)H.```%``````````$`( ````````!)4E$N0U!+`0(+``H````!`-V3S"15 M.'A(T@```!T!```%``````````$`( ```%8&``!)4E$N2%!+!08``````@`" +`&8```!+!P`````` ` end