Hello,
I am writing a PCI device driver for a National Instruments 6527 Digital IO
board (or rather, trying to). Like so many others before me, I can probe
the device on the bus, no problem. It’s there, and I’ve got the base
address registers (BARS). BAR0 (pci mite memory) is 0xdd800000 and BAR1
(IO registers) is 0xdd000000. So what’s the problem? When I map into these
areas, I do not see the board. When I map into BAR0, I expect to see stuff
like vendor id, etc, and that’s just not happening. Here’s the code:
Thanks,
James Carmody
carmodyj@aecl.ca
begin 666 qnx6527-slim.c
M(VEN8VQU9&4@/’-T9&EO+F@^“B-I;F-L=61E(#QS=&1D968N:#X*(VEN8VQU
M9&4@/’-T9&QI8BYH/@HC:6YC;‘5D92 =6YI<W1D+F@^"B-I;F-L=61E(#QS
M=’)I;F<N:#X*(VEN8VQU9&4@/&DX-BYH/@HC:6YC;'5D92 <WES+W!C:2YH
M/@HC:6YC;'5D92 <WES+V]S:6YF;RYH/@HC:6YC;‘5D92 <WES+W-E9VEN
M9F\N:#X*(VEN8VQU9&4@/’-Y<R]T>7!E<RYH/@HC:6YC;'5D92 <WES+VME
M<FYE;“YH/@HC:6YC;‘5D92 \9F-N=&PN:#X*(VEN8VQU9&4@/’-Y<R]M;6%N
M+F@^”@HO+R!$969I;F4@=&AE(&1E=FEC92!A;F0@=F5N9&]R”@HC9&5F:6YE
M(" @64]54E]00TE?1$5624-%7TE$(" @,’@R0C(P(" @("\O($1I9VET86P@
M24@-C4R-PHC9&5F:6YE(" @64]54E]00TE?5D5.1$]27TE$(" @,’@Q,#DS
M(" @("\O($YA=&EO;F%L($EN<W1R=6UE;G1S"@IM86EN*" I"GL*“7-T<G5C
M=”!?;W-I;F9O"0D):6YF;SL*“75N<VEG;F5D"0D)“6)U<VYU;2P@”@D)“0D)
M"0ED979F=6YC;G5M.PH);&]N9PD)“0D)861D<F5S<S$[”@EL;VYG"0D)“0EA
M9&1R97-S,#L*“75N<VEG;F5D"0D)“7!C:5]I;F1E>” ](# [”@EC:&%R"0D)
M"0DJ8F%R,#L*“6-H87()“0D)“2IB87(Q.PH)<W1R=6-T(%]P8VE?8V]N9FEG
M7W)E9W,@<F5G<SL*“B\O($Y/5$4@,3H@<&-I7VEN9&5X(&ES(&$@=F%L=64@
M8F5T=V5E;B P(&%N9”!T:&4@;G5M8F5R( HO+R @(” @(” @(&]F(&1E=FEC
M97,@;V8@>6]U<B!T>7!E(&]N('1H92!B=7,N(”!4:&%T(&ES+” +R@(" @
M(" @("!S<&5C:69Y:6YG(&$@=F%L=64@;V8@,2!W:6QL(&1E=&5C="!T:&4@
M<V5C;VYD( HO+R @(" @(" @(&]C8W5R<F5N8V4@;V8@>6]U<B!D979I8V4N
M"B\O($Y/5$4@,CH@5&AE<F4@:7,@;F@<F5L871I;VYS:&EP(&)E=’=E96X@
M=&AE(’!C:5]I;F1E>" +R@(" @(" @("!A;F0@=&AE(&)U<R!S;&]T(&YU
M;6)E<G,N"B\O(%1H92!.970@9’)I=F5R<R!H879E(&$@8V]M;6%N9"!L:6YE
M(&]P=&EO;B!F;W(@<V5T=&EN9R +R@=&AE(’!C:5]I;F1E>"X"G!R:6YT
M9B@@(F]F9G-E="!I<SH@)61<;B(L(&]F9G-E=&]F’-T<G5C="!?<&-I7V-O
M;F9I9U]R96=S+$)A<V5?061D<F5S<U]296=S6S!=(“D@3L”@H):68H(’%N
M>%]O<VEN9F\H(# L(“9I;F9O(“D@/3T@+3$@2 "7L"0EP<FEN=&8H(D5R
M<F]R(’%N>%]O<VEN9F]<;B(I.PH)"65X:70H($58251?1D%)3%5212 I.PH)
M?0H"2\O(’=E(&AA=F4@82!00TD@0DE/4PH):68H(”$H(&EN9F\N<V9L86=S
M(“8@7U!31E]00TE?0DE/4R I(“D@”@E[(” @(” @"@D)<’)I;G1F”).;R!0
M0TD@0DE/4UQN(BD[”@D)<F5T=7)N(# ["@E]"@HO+R!&:6YD(‘1H92!D979I
M8V4@;VX@=&AE(&)U<PH):68H(%]#05]00TE?1FEN9%]$979I8V4H(%E/55)?
M4$-)7T1%5DE#15])1"P@“B @(” @(" @(%E/55)?4$-)7U9%3D1/4E])1"P@
M<&-I7VEN9&5X+" F8G5S;G5M+" (" @(" @(" @)F1E=F9U;F-N=6T@2 A
M/2!00TE?4U5#0T534R I( H)>PH)"7!R:6YT9B@B56YA8FQE('1O(&9I;F0@
M1&5V:6-E7&XB3L"0EE>&ET*"!%6$E47T9!24Q54D4@3L"7T*“B\O($=E
M=”!T:&4@=VAO;&4@<W1R=6-T=7)E"@EI9B@@7T-!7U!#25]296%D7T-O;F9I
M9U]">71E*"!B=7-N=6TL(&1E=F9U;F-N=6TL( H)“3 L”@D)<VEZ96]F*"!S
M=’)U8W0@7W!C:5]C;VYF:6=?<F5G<R I+" H8VAA<B J2 F<F5G<RD@(3T@
M4$-)7U-50T-%4U,@2 "7L"0EP<FEN=&8H(D5R<F]R(’)E861I;F<@:6YT
M97)R=7!T7&XB3L"0EE>&ET*"!%6$E47T9!24Q54D4@3L"7T*“B\O($Y/
M5$4Z(”!9;W4@=VEL;"!N965D(‘1O(&MN;W<@:&]W(‘1H92!C;VYF:6=U<F%T
M:6]N(’-P86-E( HO+R @(" @(" @:&%S(&)E96X@:6YI=&EA;&EZ960@9F]R
M(‘EO=7(@9&5V:6-E(‘1O(&1E=&5R;6EN92 +R@(" @(" @(‘1H92!)+T@
M86YD(&UE;6]R>2!B87-E(&%D9’)E<W-E<RX@(%EO=2!M:6=H="!H879E( HO
M+R @(" @(" @=&@8VAA;F=E(‘1H92!"87-E7T%D9’)E<W-?4F5G<R!I;F1E
M>“X@(%1H870@:7,L( HO+R @(” @(" @<V]M92!D979I8V5S(&UA>2!D969I
M;F4@;V9F<V5T(# @=&@8F4@=&AE(&UE;6]R>0HO+R @(" @(" @8F%S92P@
M=VAI;&4@;W1H97)S(&1E9FEN92!I="!A<R!T:&4@22]/(&)A<V4N"@HO+R!D
M971E<FUI;F4@9&5V:6-E($DO3R!A;F0@;65M;W)Y(&)A<V4@861D<F5S<V5S
M("A"05(P0H):68H7T-!7U!#25]296%D7T-O;F9I9U]$5V]R9"AB=7-N=6TL
M(&1E=F9U;F-N=6TL( H)"6]F9G-E=&]F*’-T<G5C="!?<&-I7V-O;F9I9U]R
M96=S+" “0E"87-E7T%D9’)E<W-?4F5G<ULP72DL”@D),2P@&-H87(@BDF
M861D<F5S<S I("$](%!#25]354-#15-32 "7L"0EP<FEN=&8H(D5R<F]R
M(’)E861I;F<@861D<F5S<S%<;B(I.PH)"65X:70H($58251?1D%)3%5212 I
M.PH)?0H*+R@9&5T97)M:6YE(&1E=FEC92!)+T@86YD(&UE;6]R>2!B87-E
M(&%D9’)E<W-E<R H0D%2,2D*“6EF*%]#05]00TE?4F5A9%]#;VYF:6=?1%=O
M<F0H8G5S;G5M+”!D979F=6YC;G5M+" “0EO9F9S971O9BAS=’)U8W0@7W!C
M:5]C;VYF:6=?<F5G<RP@”@D)0F%S95]!9&1R97-S7U)E9W-;,5TI+ H)"3$L
M("AC:&%R("HI)F%D9’)E<W,Q2 A/2!00TE?4U5#0T534RD@"@E["@D)<’)I
M;G1F*")%<G)O<B!R96%D:6YG(&%D9’)E<W,Q7&XB3L"0EE>&ET*"!%6$E4
M7T9!24Q54D4@3L"7T*"@EP<FEN=&8H(")“05(P(“AA9&1R97-S(&]F(%!#
M22!M:71E2 Z(“5X7&XB+”!A9&1R97-S," I.PH)<’)I;G1F” B0D%2,2 H
M861D<F5S<R!O9B!R96=I<W1E<G,I.B E>%QN(BP@861D<F5S<S$@3L”@EA
M9&1R97-S," ](%!#25]-14U?041$4B@@861D<F5S<S @3L"6%D9’)E<W,Q
M(#T@4$-)7TE/7T%$1%(H(&%D9’)E<W,Q(“D[”@HO+PEA9&1R97-S,2 ]("@@
M861D<F5S<S$@)B P>$9&1D9&1C P(“D@?” P># P,# P,#@P.PH*“2\O(”!/
M<&5N(‘1H92!S:&%R960@;65M;W)Y(&%N9"!M87 @=&AE(&-A<F0@:6X*“7L*
M"0EI;G0@9F0[”@D)"@D):68H("@@9F0@/2!S:&U?;W!E;B@@(E!H>7-I8V%L
M(BP@3U]21%=2+" P(“D@2 ]/2 M,2 I"@D)>PH)“0EP<FEN=&8H(”)%<G)O
M<B!O<&5N:6YG(’-H87)E9"!M96UO<GDN7&XB(“D[”@D)"65X:70H("TQ(“D[
M”@D)?0H)"0H)"6)A<C @/2 H8VAA<B J2!M;6%P*” P+" P>#$P,# L(%!2
M3U1?4D5!1"!(%!23U1?5U))5$4L($U!4%]32$%2140L(&9D+" "0D)"0D)
M"2 @&]F9E]T2 H(&%D9’)E<W,P("8@?C!X9F9F("D@3L"0D"@D)8F%R
M,2 ]("AC:&%R(“HI(&UM87 H(# L(#!X,3 P,“P@4%)/5%]214%$(‘P@4%)/
M5%]74DE412P@34%07U-(05)%1"P@9F0L( H)"0D)“0D)(” H;V9F7W0I(&%D
M9’)E<W,Q(“D[”@D)”@E]”@H)<’)I;G1F*" B8F%R,"!R96UA<’!E9"!I;B!L
M;V-A;"!A9&1R97-S(’-P86-E(#H@)7!<;B(L(&)A<C @3L"7!R:6YT9B@@
M(F)A<C$@<F5M87!P960@:6X@;&]C86P@861D<F5S<R!S<&%C92 Z(“5P7&XB
M+”!B87(Q(“D[”@H)"@DO+R @5VAA="!)(&%N=&EC:7!A=&5D(&%T(‘1H:7,@
M<&]I;G0@=V%S.@H)+R@(%=H96X@:6X@=&AE(&1E8G5G9V5R+"!I9B!)(&EN
M<W!E8W0@=&AE(&-O;G1E;G1S(&]F(“IB87(P+”!)(’-H;W5L9"!S964@=&AE
M(’-A;64@:6YF;PH)+R@(&%S($D@<F5A9"!I;G1O(’)E9W,@<W1R=6-T+"!W
M:71H(‘1H92!?0T%?4$-)7U)E861?0V]N9FEG7T)Y=&4@8V%L;"!A8F]V92X@
M($YE961L97-S(‘1O( H)+R@(’-A>2P@=&AI<R!D:60@;F]T(&AA<’!E;BX@
M($%N>2!H96QP(’=O=6QD(&)E(&%P<’)E8VEA=&5D+B @5&AA;FMS+@H)+R@
M($A(;6UM+" “@EP<FEN=&8H(”)&24Y)4TA%1"Y<;B(@3L"@ER971U<FXH
5($58251?4U5#0T534R I.PH?0H*
`
end