[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [microblaze-uclinux] Writing Drivers
John,
You might find the attached 2 files helpful. Together they compose the
complete source code for a Linux driver, which I wrote for a custom piece of
hardware several years ago. The hardware appeared to the embedded x86
processor as an ISA plug-in card. The driver code includes examples of
'ioctl' and 'interupt service' routines, as well as the other 'standard'
stuff.
Also, the O'Reilly book, "Linux Device Drivers," is excellent.
David Banas
Field Applications Engineer
Nu Horizons Electronics Corp.
2070 Ringwood Avenue
San Jose, CA 95131
(408)434-0800 - office
(415)846-5837 - cell
http://www.nuhorizons.com
> -----Original Message-----
> From: owner-microblaze-uclinux@itee.uq.edu.au [mailto:owner-microblaze-
> uclinux@itee.uq.edu.au] On Behalf Of John McGrath
> Sent: Friday, May 06, 2005 8:13 AM
> To: microblaze-uclinux@itee.uq.edu.au
> Subject: [microblaze-uclinux] Writing Drivers
>
> Hi Guys,
> Does anyone here have experience with writing their own drivers for
> uClinux. I have a peripheral on the OPB, and it is essentially a memory
> interface - i.e. register style based. with no OS I can control it
> directly by addressing the memory locations in the following way
>
> int main()
> {
> volatile int *my_device = BASE_ADDRESS;
> my_device[0] = some_data;
>
> .....
> }
>
> And this will work quite nicely.
>
> However I'm sure this hackery will not work in uClinux. So how does
> someone write a driver in a "standard way". I guess uClinux does things
> like re-mapping the physical address, etc, for its own reasons, and the
> driver would have to support this?
> I guess put more simply - if you wanted to write a driver for a bram
> block, how would you do it?
>
> Once the basic driver interface is there, I can think about building the
> more user-friendy functions around it.
>
> Also, I would like to add interrupts, and a handler for it in the
> driver. Its not necessary, but definalty a nice to have...is this
> difficult?
>
> Any info you could offer would be great!
>
> Btw - on a completly unrealted note - I got uclinux running under 7.1i -
> with MB version 4.00a. I had the FPU enabled, but I guess the toolchain
> doesnt support it.
> I'm curious though, the bogomips went from 32.97 3.00.a) to 32.95
> (4.00a). No chache links though (ddr controler is not supported by the
> MCH block) - would be nice to see the effect of these!
>
> Cheers,
> John
>
> ___________________________
> microblaze-uclinux mailing list
> microblaze-uclinux@itee.uq.edu.au
> Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
> Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-
> uclinux/
>
>
> ________________________________________________________________________
> This email has been scanned for all viruses by the MessageLabs Email
> Security System. For more information on a proactive email security
> service working around the clock, around the globe, visit
> http://www.messagelabs.com
> ________________________________________________________________________
begin 666 absg_drvr.h
M+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BH**B!A8G-G7V1R=G(N:" M($EN
M8VQU9&4@9FEL92!F;W(@3DE35"!!0E-'(&1E=FEC92!D<FEV97(**@HJ("1(
M96%D97(Z("]H;VUE+V1B86YA<R]41"]*;V)S+TY)4U0O04)31R]I;F-L=61E
M+U)#4R]A8G-G7V1R=G(N:"QV(#$N,R R,# T+S Q+S(W(# S.C,V.C(Q(&1B
M86YA<R!%>' @9&)A;F%S("0**@HJ("1.86UE.B @) HJ"BH@)%)E=FES:6]N
M.B Q+C,@) HJ"BH@)$QO9SH@86)S9U]D<G9R+F@L=B D"BH@4F5V:7-I;VX@
M,2XS(" R,# T+S Q+S(W(# S.C,V.C(Q("!D8F%N87,**B!&:7AE9"!S;VUE
M(')E9VES=&5R(&]F9G-E=',N"BH@061D960@<W5P<&]R="!F;W(@;F5W(&EO
M8W1L(&-A;&QS(&9O<B!S971T:6YG($1!0W,N"BH@0VAA;F=E9"!$4D%-(&UE
M;6]R>2!A;6]U;G0@=&\@,2!'8GET92X**@HJ(%)E=FES:6]N(#$N,B @,C P
M,R\P-"\P." R,SHR-#HQ-B @9&)A;F%S"BH@061D960@24]#5$P@9G5N8W1I
M;VX@9F]R('-E='1I;F<@1$%#<R!V:6$@<V]F='=A<F4N"BH**B!2979I<VEO
M;B Q+C$@(#(P,#,O,#0O,#@@,C$Z,C<Z-3(@(&1B86YA<PHJ($EN:71I86P@
M<F5V:7-I;VX**@HJ(%)E=FES:6]N(#$N,2 @,C P,R\P-"\P." Q-SHU-SHT
M." @9&)A;F%S"BH@26YI=&EA;"!R979I<VEO;@HJ"BH@4F5V:7-I;VX@,2XQ
M(" R,# Q+S$R+S V(#$S.C(Y.C0W("!D8F%N87,**B!);FET:6%L(')E=FES
M:6]N"BH**BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*B\*"B-I9FYD968@7T%"
M4T=?1%)64E]("B-D969I;F4@7T%"4T=?1%)64E]("@HC9&5F:6YE($E/7TU%
M35]"05-%"0D)"3!X1D8Q,# P,# *(V1E9FEN92!)3U]-14U?3$5."0D)"3!X
M,# P,3 P,# )"2\O(#8T($M"('=I;F1O=PHC9&5F:6YE($E/7T)!4T4)"0D)
M"3!X,S P"0D)+R\@22]/(')E9W,@8F%S92!A9&1R"B-D969I;F4@24]?3$5.
M"0D)"0DS,@D)"0DO+R C(&]F(')E9W,@=&\@<F5S97)V90H*(V1E9FEN92!3
M14=?4D5'"0D)"0E)3U]"05-%("L@, D)+R\@1E!'02!S96=M96YT(')E9VES
M=&5R"B-D969I;F4@4U1!4E1?4D5'"0D)"4E/7T)!4T4@*R R"0DO+R!&4$=!
M('-T87)T(&%D9')E<W,@<F5G:7-T97(*(V1E9FEN92!%3D1?4D5'"0D)"0E)
M3U]"05-%("L@- D)+R\@1E!'02!E;F0@861D<F5S<R!R96=I<W1E<@HC9&5F
M:6YE($-.5%),7U)%1PD)"0E)3U]"05-%("L@-@D)+R\@1E!'02!C;VYT<F]L
M(')E9VES=&5R"B-D969I;F4@3U!43U]214<)"0D)24]?0D%312 K(#@)"2\O
M($901T$@;W!T;RUI<V]L871O<G,@<V5R:6%L(&EN=&5R9F%C92!R96=I<W1E
M<@HC9&5F:6YE(%-405154U]214<)"0D)24]?0D%312 K(#$P"2\O($901T$@
M<W1A='5S(')E9VES=&5R"B-D969I;F4@1$--7U-4051?4D5'"0D)24]?0D%3
M12 K(#$R"2\O($901T$@1$--('-T871U<R!R96=I<W1E<@HC9&5F:6YE($%-
M4%]214<)"0D)"4E/7T)!4T4@*R Q- DO+R!&4$=!("=A;7!L:71U9&4G($0O
M02!V86QU92!R96=I<W1E<@HC9&5F:6YE(%!(05-%7U)%1PD)"0E)3U]"05-%
M("L@,38)+R\@1E!'02 G<&AA<V4G($0O02!V86QU92!R96=I<W1E<@HC9&5F
M:6YE($))05-07U)%1PD)"0E)3U]"05-%("L@,3@)+R\@1E!'02 G8FEA<W G
M($0O02!V86QU92!R96=I<W1E<@HC9&5F:6YE($))05-.7U)%1PD)"0E)3U]"
M05-%("L@,C )+R\@1E!'02 G8FEA<VXG($0O02!V86QU92!R96=I<W1E<@HC
M9&5F:6YE($155%E?4D5'"0D)"4E/7T)!4T4@*R R,@DO+R!&4$=!("=D=71Y
M(&-Y8VQE)R!$+T$@=F%L=64@<F5G:7-T97(*(V1E9FEN92!!55@Q7U)%1PD)
M"0E)3U]"05-%("L@,C0)+R\@1E!'02 G875X:6QL:6%R>2 C,2<@1"]!('9A
M;'5E(')E9VES=&5R"B-D969I;F4@0558,E]214<)"0D)24]?0D%312 K(#(V
M"2\O($901T$@)V%U>&EL;&EA<GD@(S(G($0O02!V86QU92!R96=I<W1E<@HC
M9&5F:6YE($%56#-?4D5'"0D)"4E/7T)!4T4@*R R. DO+R!&4$=!("=A=7AI
M;&QI87)Y(",S)R!$+T$@=F%L=64@<F5G:7-T97(*(V1E9FEN92!615)?4D5'
M"0D)"0E)3U]"05-%("L@,S )+R\@1E!'02!F:7)M=V%R92!V97)S:6]N(')E
M9VES=&5R"@HC9&5F:6YE(%1%4U1?5D%,"0D)"3!X04$U-0HC9&5F:6YE($%"
M4T=?34%*3U()"0D),3$P"0D)"2\O(&%R8FET<F%R>0HC9&5F:6YE($%"4T=?
M455!3E1535]"651%4PD),3 R- D)"2\O(&1E9FEN960@8GD@1E!'00HC9&5F
M:6YE($U%35]325I%"0D)"0DP>#0P,# P,# P"0DO+R Q($=">71E($1$4BU3
M1%)!30HC9&5F:6YE($U!6%]&24Q%7U!/4PD)"3!X,T9&1D9&1D8)"2\O(#$@
M1T)Y=&4@1$12+5-$4D%-"@HC9&5F:6YE(%-%1U]-05-+"0D)"3!X1D9&1C P
M,# )"2\O('-E9VUE;G0@;6%S:PHC9&5F:6YE(%-%1U]32$E&5 D)"0DQ-@HC
M9&5F:6YE($]&1E]-05-+"0D)"3!X,# P,$9&1D8)"2\O(&]F9G-E="!M87-K
M"B-D969I;F4@1U)07TU!4TL)"0D),'@P,# P1D9&, D)+R\@<F5A9"!G<F]U
M<"!M87-K"@HC9&5F:6YE(%)%041?1D%)3$5$"0D)"3!X,# P,@D)"2\O('-T
M871U<R!R96<N(&)I="!D968N"B-D969I;F4@5U))5$5?1D%)3$5$"0D),'@P
M,# Q"0D)+R\@<W1A='5S(')E9RX@8FET(&1E9BX*(V1E9FEN92!#3T1%7U)5
M3DY)3D<)"0DP># P,#0)"0DO+R!S=&%T=7,@<F5G+B!B:70@9&5F+@H*(V1E
M9FEN92!214=?34%32PD)"0DP>#=&1D8P,# P"0DO+R!-87-K<R!O9F8@)W)E
M9U]N=6TG(&)I=',@:6X@)V%R9R<@;V8@:6]C=&P@8V%L;"X*(V1E9FEN92!2
M14=?4TA)1E0)"0D),38*(V1E9FEN92!604Q?34%32PD)"0DP># P,#!&1D9&
M"0DO+R!-87-K<R!O9F8@)W9A;'5E)R!B:71S(&EN("=A<F<G(&]F(&EO8W1L
M(&-A;&PN"B-D969I;F4@1$E27TU!4TL)"0D),'@X,# P,# P, D)+R\@36%S
M:W,@;V9F("=D:7)E8W1I;VXG(&)I="!I;B G87)G)R!O9B!I;V-T;"!C86QL
M+@HC9&5F:6YE($1)4E]32$E&5 D)"0DS,0HC9&5F:6YE(%)%1U].54U?34%3
M2PD)"3!X,#!%, D)"2\O($UA<VMS(&]F9B G<F5G7VYU;2<@8FET<R!I;B G
M8VUD)R!O9B!I;V-T;"!C86QL+@HC9&5F:6YE(%)%1U].54U?4TA)1E0)"0DU
M"B-D969I;F4@34%87U)%1U].54T)"0D)-PD)"0DO+R!4:&5R92=R92 X(")$
M04,B(')E9VES=&5R<R M(#4@<F5A;"P@86YD(#,@=FER='5A; HC9&5F:6YE
M($U!6%]604Q510D)"0DP>$9&1D8)"0DO+R!!;&QO=W,@8V]M<&QE=&4@=&5S
M=&EN9R!O9B!)4T$@9&%T82!P871H+@HC9&5F:6YE(%=2251%"0D)"0DQ"0D)
M"2\O(&1I<F5C=&EO;B!O9B!$04,@24]#5$P@8V%L; H*(V1E9FEN92!314=-
M14Y4*&%D9'(I"0D)*"AA9&1R("8@4T5'7TU!4TLI(#X^(%-%1U]32$E&5"D*
M(V1E9FEN92!'4D]54"AA9&1R*0D)"0DH861D<B F($=24%]-05-+*0HC9&5F
M:6YE(%)%1TE35$52*&%R9RD)"0DH*&%R9R F(%)%1U]-05-+*2 ^/B!214=?
M4TA)1E0I"B-D969I;F4@5D%,544H87)G*0D)"0DH87)G("8@5D%,7TU!4TLI
M"B-D969I;F4@1$E214-424].*&%R9RD)"0DH*&%R9R F($1)4E]-05-+*2 ^
M/B!$25)?4TA)1E0I"B-D969I;F4@4D5'7TY532AC;60I"0D)*"AC;60@)B!2
M14=?3E5-7TU!4TLI(#X^(%)%1U].54U?4TA)1E0I"@HC9&5F:6YE($%"4T=?
M24]#4E5."0D)"5])3RA!0E-'7TU!2D]2+" P*0HC9&5F:6YE($%"4T=?24]#
M4U1/4 D)"5])3RA!0E-'7TU!2D]2+" Q*0HC9&5F:6YE($%"4T=?24]#4U1!
M4E0)"0E?24\H04)31U]-04I/4BP@,BD*(V1E9FEN92!!0E-'7TE/0T5.1 D)
M"0E?24\H04)31U]-04I/4BP@,RD*(V1E9FEN92!!0E-'7TE/0U)35 D)"0E?
M24\H04)31U]-04I/4BP@-"D*(V1E9FEN92!!0E-'7TE/0U-4050)"0E?24\H
M04)31U]-04I/4BP@-2D*(V1E9FEN92!!0E-'7TE/0T1!0PD)"0E?24\H04)3
M1U]-04I/4BP@-BD*(V1E9FEN92!!0E-'7TE/0T1!0U()"0E?24\H04)31U]-
M04I/4BP@-RD*(V1E9FEN92!!0E-'7TE/0U9%4@D)"0E?24\H04)31U]-04I/
M4BP@."D*(V1E9FEN92!!0E-'7TE/0T1615()"0E?24\H04)31U]-04I/4BP@
M.2D*(V1E9FEN92!!0E-'7TE/0U]-05A.4@D)"3D*"B-D969I;F4@04)31U])
14E$)"0D)-0H*(V5N9&EF"@H`
`
end
begin 666 absg_drvr.c
M+RHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BH**B!A8G-G7V1R=G(N8R M($UA
M:6X@<V]U<F-E(&9I;&4@9F]R($Y)4U0@04)31R!D979I8V4@9')I=F5R"BH)
M*%)E<W5L=&EN9R J+F\@;V)J96-T(&UO9'5L92!T;R!B92!L;V%D960@8GD@
M)VEN<VUO9"@I)RXI"BH**B D260Z(&%B<V=?9')V<BYC+'8@,2XS(#(P,#,O
M,#4O,3(@,34Z-3 Z-#0@9&)A;F%S($5X<"!D8F%N87,@) HJ"BH@)$YA;64Z
M('8R7S$@) HJ"BH@)$QO9SH@86)S9U]D<G9R+F,L=B D"BH@4F5V:7-I;VX@
M,2XS(" R,# S+S U+S$R(#$U.C4P.C0T("!D8F%N87,**B!&:7AE9"!B=6<@
M<F5L871I;F<@=&\@1$%#(')E9VES=&5R(&YU;6)E<FEN9RX**@HJ(%)E=FES
M:6]N(#$N,B @,C P,R\P-"\P." R,SHQ,SHS," @9&)A;F%S"BH@061D960@
M24]#5$P@9G5N8W1I;VX@9F]R('-E='1I;F<@1$%#('9A;'5E<R!V:6$@<V]F
M='=A<F4N"BH**B!2979I<VEO;B Q+C$@(#(P,#,O,#0O,#@@,3<Z-3<Z,C8@
M(&1B86YA<PHJ($EN:71I86P@<F5V:7-I;VX**@HJ(%)E=FES:6]N(#$N,2 @
M,C P,R\P-"\P-R R,SHS.#HQ,R @9&)A;F%S"BH@26YI=&EA;"!R979I<VEO
M;@HJ"BH@4F5V:7-I;VX@,2XQ(" R,# Q+S$R+S V(#$Q.C T.C0X("!D8F%N
M87,**B!);FET:6%L(')E=FES:6]N"BH**@HJ($-O<'ER:6=H=" H8RD@,C P
M,2!486\@;V8@1&EG:71A;"P@26YC+@HJ($%L;"!R:6=H=',@<F5S97)V960N
M"BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ
M*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHJ*BHO"@HC:6YC;'5D92 \;&EN=7@O
M;6]D=6QE+F@^"B-I;F-L=61E(#QL:6YU>"]I;W!O<G0N:#X*(VEN8VQU9&4@
M/&QI;G5X+VEO8W1L+F@^"B-I;F-L=61E(#QL:6YU>"]E<G)N;RYH/@HC:6YC
M;'5D92 \;&EN=7@O9G,N:#X*(VEN8VQU9&4@/&QI;G5X+W-C:&5D+F@^"B-I
M;F-L=61E(#QL:6YU>"]D96QA>2YH/@HC:6YC;'5D92 \;&EN=7@O;6TN:#X*
M(VEN8VQU9&4@/&%S;2]I;RYH/@HC:6YC;'5D92 \87-M+W5A8V-E<W,N:#X*
M(VEN8VQU9&4@/&%S;2]I<G$N:#X*"B-I;F-L=61E(")A8G-G7V1R=G(N:"(*
M"B-D969I;F4@3E5-7U9!3%5%7U)%1U,)"0DU(" @(" @(" @(" O+R C(&]F
M(")$04,B(')E9VES=&5R<R!T:&%T(&%R92!R96%L"@IC;VYS="!C:&%R('9E
M<E]S=');72 ]("(D3F%M93H@=C)?-" D(CL*"FEN="!A8G-G7V]P96X@*"!S
M=')U8W0@:6YO9&4@*BP@<W1R=6-T(&9I;&4@*B I.PII;G0@86)S9U]R96QE
M87-E("@@<W1R=6-T(&EN;V1E("HL('-T<G5C="!F:6QE("H@*3L*<W-I>F5?
M="!A8G-G7W)E860@*"!S=')U8W0@9FEL92 J+"!C:&%R("HL('-I>F5?="P@
M;&]F9E]T("H@*3L*<W-I>F5?="!A8G-G7W=R:71E("@@<W1R=6-T(&9I;&4@
M*BP@8V]N<W0@8VAA<B J+"!S:7IE7W0L(&QO9F9?=" J("D["FEN="!A8G-G
M7VEO8W1L("@@<W1R=6-T(&EN;V1E("HL('-T<G5C="!F:6QE("HL('5N<VEG
M;F5D(&EN="P@=6YS:6=N960@;&]N9R I.PIV;VED(&%B<V=?:6YT7VAN9&QR
M("@@:6YT+"!V;VED("HL('-T<G5C="!P=%]R96=S("H@*3L*=F]I9"!S971?
M=F%L=64@*"!I;G0L('5N<VEG;F5D('-H;W)T("D["@IV;VED("II;U]M96T@
M/2!.54Q,.PIC:&%R(&)U<WD@/2 P.PH*<W1R=6-T(&9I;&5?;W!E<F%T:6]N
M<R!A8G-G7V9O<',@/2!["F]P96XZ86)S9U]O<&5N+ IR96QE87-E.F%B<V=?
M<F5L96%S92P*<F5A9#IA8G-G7W)E860L"G=R:71E.F%B<V=?=W)I=&4L"FEO
M8W1L.F%B<V=?:6]C=&PL"GT["@II;G0*:6YI=%]M;V1U;&4@*"!V;VED("D*
M>PH@(&EN="!R97-U;'0["B @8V]N<W0@8VAA<B J<W1R7W!T<CL*"B @<W1R
M7W!T<B ]('-T<G1O:R H('9E<E]S='(L("(Z("(@*3L*("!I9B H('-T<E]P
M='(@(3T@3E5,3" I"B @>PH@(" @<W1R7W!T<B ]('-T<G1O:R H($Y53$PL
M("(Z("(@*3L*(" @(&EF("@@<W1R7W!T<B A/2!.54Q,("D*(" @(" @<')I
M;G1K("@@2T523E])3D9/"B @(" @(" @(" @(" @(")A8G-G.B!486\@;V8@
M1&EG:71A;"P@26YC+B M(%!R;V=R86UM86)L92!":70@4W1R96%M($=E;F5R
M871O<B!D979I8V4@9')I=F5R("5S(&QO861E9"Y<;B(L"B @(" @(" @(" @
M(" @('-T<E]P='(@*3L*(" @(&5L<V4*(" @(" @<')I;G1K("@@2T523E])
M3D9/"B @(" @(" @(" @(" @(")A8G-G.B!486\@;V8@1&EG:71A;"P@26YC
M+B M(%!R;V=R86UM86)L92!":70@4W1R96%M($=E;F5R871O<B!D979I8V4@
M9')I=F5R('8H/RD@;&]A9&5D+EQN(B I.PH@('T*("!E;'-E"B @("!P<FEN
M=&L@*"!+15).7TE.1D\*(" @(" @(" @(" @(")A8G-G.B!486\@;V8@1&EG
M:71A;"P@26YC+B M(%!R;V=R86UM86)L92!":70@4W1R96%M($=E;F5R871O
M<B!D979I8V4@9')I=F5R('8H/RD@;&]A9&5D+EQN(B I.PH*("!R97-U;'0@
M/2!R96=I<W1E<E]C:')D978@*"!!0E-'7TU!2D]2+" B86)S9R(L("9A8G-G
M7V9O<',@*3L*("!I9B H(')E<W5L=" \(# @*0H@('L*(" @('!R:6YT:R H
M($M%4DY?5T%23DE.1R B86)S9SH@0V%N)W0@9V5T(&UA:F]R(",L("5D7&XB
M+"!!0E-'7TU!2D]2("D["B @("!R971U<FX@*"!R97-U;'0@*3L*("!]"@H@
M(&EF("@@*"!R97-U;'0@/2!C:&5C:U]R96=I;VX@*"!)3U]"05-%+"!)3U],
M14X@*2 I(#P@," I"B @>PH@(" @<')I;G1K("@@2T523E]705).24Y'(")A
M8G-G.B!#86XG="!G970@22]/('!O<G1S+EQN(B I.PH@(" @<F5T=7)N(')E
M<W5L=#L*("!]"B @<F5Q=65S=%]R96=I;VX@*"!)3U]"05-%+"!)3U],14XL
M(")A8G-G(B I.PH*("!I9B H("@@:6]?;65M(#T@:6]R96UA<" H($E/7TU%
M35]"05-%+"!)3U]-14U?3$5.("D@*2 \/2 P("D*("!["B @("!P<FEN=&L@
M*" B/#$^86)S9U]D<G9R.B!#;W5L9&XG="!A;&QO8V%T92!)4T$@;65M;W)Y
M+EQN(B I.PH@(" @<F5T=7)N("U%0E5363L*("!]"@H@(')E<W5L=" ](')E
M<75E<W1?:7)Q("@@04)31U])4E$L(&%B<V=?:6YT7VAN9&QR+" P+" B86)S
M9R(L($Y53$P@*3L*("!I9B H(')E<W5L=" I"B @>PH@(" @<')I;G1K("@@
M2T523E]705).24Y'(")A8G-G.B!#86XG="!G970@25)1+EQN(B I.PH@(" @
M<F5T=7)N(')E<W5L=#L*("!]"B @96YA8FQE7VER<2 H($%"4T=?25)1("D[
M"@H@(')E='5R;B P.PI]"@IV;VED"F-L96%N=7!?;6]D=6QE("@@=F]I9" I
M"GL*("!D:7-A8FQE7VER<2 H($%"4T=?25)1("D["B @9G)E95]I<G$@*"!!
M0E-'7TE242P@3E5,3" I.PH@(&EF("@@:6]?;65M(#X@," I"B @("!I;W5N
M;6%P("@@:6]?;65M("D["B @<F5L96%S95]R96=I;VX@*"!)3U]"05-%+"!)
M3U],14X@*3L*("!U;G)E9VES=&5R7V-H<F1E=B H($%"4T=?34%*3U(L(")A
M8G-G(B I.PHO+R @<')I;G1K*"(\,3YA8G-G7V1R=G(Z($5X:71I;F<N7&XB
M*3L*?0H*:6YT"F%B<V=?;W!E;B H('-T<G5C="!I;F]D92 J;7E?:6YO9&4L
M('-T<G5C="!F:6QE("IM>5]F:6QE("D*>PH@($U/1%])3D-?55-%7T-/54Y4
M.PH@(')E='5R;B P.PI]"@II;G0*86)S9U]R96QE87-E("@@<W1R=6-T(&EN
M;V1E("IM>5]I;F]D92P@<W1R=6-T(&9I;&4@*FUY7V9I;&4@*0I["B @34]$
M7T1%0U]54T5?0T]53E0["B @<F5T=7)N(# ["GT*"G-S:7IE7W0*86)S9U]R
M96%D("@@<W1R=6-T(&9I;&4@*B!M>5]F:6QE+"!C:&%R("IB=68L('-I>F5?
M="!L96XL(&QO9F9?=" J('!O<R I"GL*("!U;G-I9VYE9"!L;VYG(')E=#L*
M("!U;G-I9VYE9"!S:&]R="!B=69F97(L('-T871U<SL*("!V;VED("IS=&%R
M=%]A9&1R.PH@('-T871I8R!U;G-I9VYE9"!S:&]R="!S96=?<F5G(#T@,'A&
M1D9&.R O+R!&4$=!('-E9VUE;G0@<F5G:7-T97(*("!S=&%T:6,@=6YS:6=N
M960@<VAO<G0@9W)P7W)E9R ](#!X1D9&1CL@+R\@1E!'02!R96%D(&=R;W5P
M(')E9VES=&5R"@HO+W!R:6YT:R H(CPQ/B!A8G-G7V1R=G(Z($5N=&5R:6YG
M("=A8G-G7W)E860G(&9U;F-T:6]N+EQN(BD["@H@(')E=" ]("IP;W,["B @
M:68@*" H("@@*G!O<R I("L@;&5N("D@/B!-05A?1DE,15]03U,@*0H@('L@
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @+R\@0V%N)W0@
M97AC961E(&%M;W5N="!O9@H@(" @<F5T=7)N("U%24Y604P[(" @(" @(" @
M(" @(" @(" @(" @+R\@1$12+5-$4D%-(&]N(&)O87)D+@H@('T*"B @<V5G
M7W)E9R ](%-%1TU%3E0@*" J<&]S("D[(" @(" @(" @(" O+R!5<&1A=&4@
M;&]C86P@<V5G;65N="!R96=I<W1E<@H@(&]U='<@*"!S96=?<F5G+"!314=?
M4D5'("D[(" @(" @(" @(" @+R\@86YD('=R:71E(&ET(&]U="X*("!G<G!?
M<F5G(#T@1U)/55 @*" J<&]S("D[(" @(" @(" @(" @("\O(%5P9&%T92!L
M;V-A;"!G<F]U<"!R96=I<W1E<@H@(&]U='<@*"!G<G!?<F5G+"!35$%25%]2
M14<@*3L@(" @(" @(" @+R\@86YD('=R:71E(&ET(&]U="X*("!O=71W("@@
M9W)P7W)E9R K(#(U-BP@14Y$7U)%1R I.R @(" @("\O($YE960@=&\@<V5T
M('1H92!E;F0@861D<F5S<R!F;W(*(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @("\O('!R;W!E<B!O<&5R871I;VXN"B @<W1A<G1?
M861D<B ](&EO7VUE;2 K("@@*G!O<R F($]&1E]-05-+("D["B @8G5F9F5R
M(#T@<F5A9'<@*"!S=&%R=%]A9&1R("D["B @<W1A='5S(#T@:6YW("@@4U1!
M5%537U)%1R I.PH@(&EF("@@<W1A='5S("8@4D5!1%]&04E,140@*0H@('L*
M(" @('!R:6YT:R H("(\,3X@86)S9U]D<G9R.B!296%D(&9A:6QE9"P@<W1A
M='5S(#T@,'@E-%A<;B(L('-T871U<R I.PH@(" @<F5T=7)N("U%24\["B @
M?0H@("IP;W,@*ST@,CL*("!R970@/2!C;W!Y7W1O7W5S97(@*"!B=68L("9B
M=69F97(L(#(@*3L*("!I9B H(')E=" \(# @*2 @(" @(" @(" @(" @(" @
M(" @(" @("\O('-Y<W1E;2!E<G)O<@H@(" @<F5T=7)N(')E=#L@(" @(" @
M(" @(" @(" @(" @(" @(" @+R\@9F]R=V%R9"!T;R!C86QL97(*("!E;'-E
M(&EF("@@<F5T(#X@," I(" @(" @(" @(" @(" @(" @("\O(&UE;2!V:6]L
M871I;VX@:6X@=7-E<B!S<&%C90H@(" @<F5T=7)N("U%1D%53%0[(" @(" @
M(" @(" @(" @(" @(" @+R\@;F]T:69Y('5S97(N"B @<F5T=7)N(#(["GT*
M"@IS<VEZ95]T"F%B<V=?=W)I=&4@*"!S=')U8W0@9FEL92 J(&UY7V9I;&4L
M(&-O;G-T(&-H87(@*F)U9BP@<VEZ95]T(&QE;BP*(" @(" @(" @(" @(&QO
M9F9?=" J('!O<R I"GL*("!U;G-I9VYE9"!L;VYG(')E=#L*("!I;G0@:3L*
M+R\@('5N<VEG;F5D('-H;W)T(" @(" @8G5F9F5R6T%"4T=?455!3E1535]"
M651%4R\R72P@*G-T87)T7V%D9'(L('-T871U<SL*("!U;G-I9VYE9"!S:&]R
M="!B=69F97);.%TL("IS=&%R=%]A9&1R+"!S=&%T=7,["B @<W1A=&EC('5N
M<VEG;F5D('-H;W)T('-E9U]R96<@/2 P>$9&1D8[("\O($901T$@<V5G;65N
M="!R96=I<W1E<@H*"B\O<')I;G1K("@B/#$^(&%B<V=?9')V<CH@16YT97)I
M;F<@)V%B<V=?=W)I=&4G(&9U;F-T:6]N+EQN(BD["@H@("\O(%9A;&ED871E
M(&%L;"!T:&4@:6YP=70N"B @:68@*"!B=7-Y("D*(" @(')E='5R;B M14)5
M4UD[(" @(" @(" @(" @(" @(" @(" @("\O($=O(&%W87DL('=E)W)E(&)U
M<WDN"B @:68@*" J<&]S("4@,38@*2 @(" @(" @(" @(" @(" @(" @(" O
M+R!7<FET97,@;75S="!S=&%R="!A=" Q-B!B>71E"B @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" O+R!B;W5N9&%R:65S+@H@(" @
M<F5T=7)N("U%24Y604P["B @:68@*"!L96X@)2 Q-B I(" @(" @(" @(" @
M(" @(" @(" @(" O+R!7<FET97,@;75S="!B92!A;B!I;G1E9W)A;"!M=6QT
M+@H@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @+R\@
M;V8@,38@8GET97,N"B @("!R971U<FX@+45)3E9!3#L*("!I9B H("@@*" J
M<&]S("D@*R!L96X@*2 ^($U!6%]&24Q%7U!/4R I(" O+R!#86XG="!E>&-E
M9&4@86UO=6YT(&]F"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @+R\@1$12+5-$4D%-(&]N(&)O87)D+@H@(" @<F5T=7)N
M("U%24Y604P["B\O<')I;G1K("@B/#$^(%QT86)S9U]D<G9R.B!);G!U="!H
M87,@8F5E;B!V86QI9&%T960N7&XB*3L*"B @+R\@1W)A8B!T:&4@9&%T82!F
M<F]M('5S97(@<W!A8V4N"B @<F5T(#T@8V]P>5]F<F]M7W5S97(@*"!B=69F
M97(L(&)U9BP@,38@*3L*("!I9B H(')E=" \(# @*2 @(" @(" @(" @(" @
M(" @(" @(" @("\O('-Y<W1E;2!E<G)O<CL@1F]R=V%R9"!T;R!C86QL97(N
M"B @("!R971U<FX@<F5T.PH@(&5L<V4@:68@*"!R970@/B P("D@(" @(" @
M(" @(" @(" @(" @+R\@;65M('9I;VQA=&EO;B!I;B!U<V5R('-P86-E.PH@
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @+R\@3F]T
M:69Y('5S97(N"B @("!R971U<FX@+45&055,5#L*+R]P<FEN=&L@*"(\,3X@
M7'1A8G-G7V1R=G(Z($1A=&$@:&%S(&)E96X@9W)A8F)E9"Y<;B(I.PH*(" O
M+R!#:&5C:R!S96=M96YT(",@86YD(&)O=6YD87)Y+@H@(&EF("@@4T5'345.
M5" H("IP;W,@*2 A/2!S96=?<F5G("D*("![(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @("\O(%=R:71I;F<@=&\@;F5W('-E9VUE;G0_
M"B @("!S96=?<F5G(#T@4T5'345.5" H("IP;W,@*3L@(" @(" @(" O+R!5
M<&1A=&4@;&]C86P@<V5G;65N="!R96=I<W1E<BP*(" @(&]U='<@*"!S96=?
M<F5G+"!314=?4D5'("D[(" @(" @(" @("\O(&%N9"!W<FET92!I="!O=70N
M"B @?0H@(&EF("@@4T5'345.5" H("@@*G!O<R I("L@;&5N("T@,2 I("$]
M('-E9U]R96<@*2 @+R\@;W9E<B!S96=M96YT(&)O=6YD87)Y"B @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" O
M+R _"B @("!R971U<FX@+45)3E9!3#L*+R]P<FEN=&L@*"(\,3X@7'1A8G-G
M7V1R=G(Z(%-E9VUE;G0@(R]B;W5N9&%R>2!C:&5C:V5D+EQN(BD["@H@("\O
M(%=R:71E('1H92!D871A+@H@('-T87)T7V%D9'(@/2!I;U]M96T@*R H("IP
M;W,@)B!/1D9?34%32R I.PH@(&9O<B H(&D@/2 P.R!I(#P@.#L@:2LK("D*
M("!["B\O<')I;G1K("@B/#$^(&%B<V=?9')V<CH@06)O=70@=&\@=W)I=&4@
M=F%L=64L("4P-%@L('1O(&%D9')E<W,L("4P.%@N7&XB+"!B=69F97);:5TL
M('-T87)T7V%D9'(I.PH@(" @=W)I=&5W("@@8G5F9F5R6VE=+"!S=&%R=%]A
M9&1R*RL@*3L*("!]"B @=VUB("@@("D[(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" O+R!&;W)C92!B=69F97(@9FQU<V@@=&\@:6YS=7)E"B @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" O+R!I;6UE9&EA
M=&4@=W)I=&EN9RX*"B @+R\@0VAE8VL@=&\@<V5E('1H870@=&AE('=R:71E
M('=E;G0@<VUO;W1H;'DN"B @<W1A='5S(#T@:6YW("@@4U1!5%537U)%1R I
M.PH@(&EF("@@<W1A='5S("8@5U))5$5?1D%)3$5$("D*("!["B @("!P<FEN
M=&L@*" B/#$^(&%B<V=?9')V<CH@5W)I=&4@9F%I;&5D+"!S=&%T=7,@/2 P
M>"4T6%QN(BP@<W1A='5S("D["B @("!R971U<FX@+45)3SL*("!]"@H@("IP
M;W,@*ST@,38["B @<F5T=7)N(#$V.PI]"@II;G0*86)S9U]I;V-T;" H('-T
M<G5C="!I;F]D92 J;7E?:6YO9&4L('-T<G5C="!F:6QE("IM>5]F:6QE+ H@
M(" @(" @(" @(" @=6YS:6=N960@:6YT(&-M9"P@=6YS:6=N960@;&]N9R!A
M<F<@*0I["@H@('5N<VEG;F5D('-H;W)T( D)"0D)"7-T871U<RP@<F5G7VYU
M;2P@=F%L=64["B @<W1A=&EC('5N<VEG;F5D('-H;W)T( D)<V5G7W)E9R ]
M(#!X1D9&1CL@+R\@1E!'02!S96=M96YT(')E9VES=&5R"@EI;G0)"0D)"0D)
M"0D)"0EI.PH)8VAA<@D)"0D)"0D)"0D)=&5M<%]C:&%R+" J=&5M<%]C:&%R
M7W!T<CL*"B @+R\@5F%L:61A=&4@=&AE(')E8V5I=F5D(&-O;6UA;F0N"B @
M:68@*"!?24]#7U194$4@*"!C;60@*2 A/2!!0E-'7TU!2D]2("D*(" @(')E
M='5R;B M14Y/5%19.PH@(&EF("@@7TE/0U].4B H(&-M9" F('Y214=?3E5-
M7TU!4TL@*2 ^($%"4T=?24]#7TU!6$Y2("D*(" @(')E='5R;B M14Y/5%19
M.PH*("!S=VET8V@@*"!C;60@)B!^4D5'7TY535]-05-+("D*("!["B @8V%S
M92!!0E-'7TE/0U)53CH*(" @(&]U='<@*" P># P,#$L($-.5%),7U)%1R I
M.PH@(" @8G5S>2 ](#$["B @("!B<F5A:SL*"B @8V%S92!!0E-'7TE/0U-4
M3U Z"B @("!O=71W("@@,'@P,# P+"!#3E123%]214<@*3L*(" @(&)U<WD@
M/2 P.PH@(" @8G)E86L["@H@(&-A<V4@04)31U])3T-35$%25#H*(" @(&EF
M("@@(6)U<WD@*0H@(" @>PH@(" @("!S96=?<F5G(#T@4T5'345.5" H(&%R
M9R I.R @(" @(" @+R\@57!D871E(&QO8V%L('-E9VUE;G0@<F5G:7-T97(*
M(" @(" @;W5T=R H('-E9U]R96<L(%-%1U]214<@*3L@(" @(" @("\O(&%N
M9"!W<FET92!I="!O=70N"B @(" @(&]U='<@*"!A<F<L(%-405)47U)%1R I
M.PH@(" @?0H@(" @96QS90H@(" @("!R971U<FX@+45"55-9.PH@(" @8G)E
M86L["@H@(&-A<V4@04)31U])3T-%3D0Z"B @("!I9B H("%B=7-Y("D*(" @
M('L*(" @(" @<V5G7W)E9R ](%-%1TU%3E0@*"!A<F<@*3L@(" @(" @("\O
M(%5P9&%T92!L;V-A;"!S96=M96YT(')E9VES=&5R"B @(" @(&]U='<@*"!S
M96=?<F5G+"!314=?4D5'("D[(" @(" @(" O+R!A;F0@=W)I=&4@:70@;W5T
M+@H@(" @("!O=71W("@@87)G+"!%3D1?4D5'("D["B @("!]"B @("!E;'-E
M"B @(" @(')E='5R;B M14)54UD["B @("!B<F5A:SL*"B @8V%S92!!0E-'
M7TE/0U)35#H*(" @(&]U='<@*" P># P,# L($-.5%),7U)%1R I.PH@(" @
M;W5T=R H(#!X.# P,"P@0TY44DQ?4D5'("D["B @("!O=71W("@@,'@P,# P
M+"!#3E123%]214<@*3L*(" @(&)U<WD@/2 P.PH@(" @8G)E86L["@H@(&-A
M<V4@04)31U])3T-35$%4.@H@(" @<W1A='5S(#T@:6YW("@@1$--7U-4051?
M4D5'("D["B @("!I9B H('!U=%]U<V5R("@@<W1A='5S+" H('5N<VEG;F5D
M('-H;W)T("H@*2!A<F<@*2 I"B @(" @(')E='5R;B M149!54Q4.PH@(" @
M8G)E86L["@H@(&-A<V4@04)31U])3T-$04,Z"B @("!R96=?;G5M(#T@4D5'
M25-415(@*"!A<F<@*3L*(" @('9A;'5E(#T@5D%,544@*"!A<F<@*3L*(" @
M(&EF("@@<F5G7VYU;2 ^($U!6%]214=?3E5-("D*(" @(" @<F5T=7)N("U%
M24Y604P["B @("!I9B H('9A;'5E(#X@34%87U9!3%5%("D*(" @(" @<F5T
M=7)N("U%24Y604P["B @("!O=71W("@@=F%L=64L($%-4%]214<@*R!R96=?
M;G5M("H@,B I.PH@(" @<V5T7W9A;'5E("@@<F5G7VYU;2P@=F%L=64@*3L*
M(" @(&)R96%K.PH*("!C87-E($%"4T=?24]#1$%#4CH*(" @(')E9U]N=6T@
M/2!214=?3E5-("@@8VUD("D["B @("!I9B H('!U=%]U<V5R("@@:6YW("@@
M04U07U)%1R K(')E9U]N=6T@*B R("DL("@@=6YS:6=N960@<VAO<G0@*B I
M(&%R9R I("D*(" @(" @<F5T=7)N("U%1D%53%0["B @("!B<F5A:SL*"@EC
M87-E($%"4T=?24]#5D52.@H)"6]U='<@*" P+"!615)?4D5'("D["0D)"0DO
M+R!297-E="!V97)S:6]N('-T<FEN9R!P;VEN=&5R(&EN($901T$N"@D)=&5M
M<%]C:&%R7W!T<B ]("AC:&%R("HI87)G.PH)"69O<B H(&D],#L@:3PQ-CL@
M:2LK("D*"0E["@D)"71E;7!?8VAA<B ](&EN=R H(%9%4E]214<@*3L)+R\@
M16%C:"!R96%D(&]F('1H:7,@<&]R="!B=6UP<R!T:&4@1E!'02=S('9E<G-I
M;VX@<W1R:6YG('!T<BX*"0D):68@*"!P=71?=7-E<B H('1E;7!?8VAA<BP@
M)G1E;7!?8VAA<E]P=');:5T@*2 I"@D)"0ER971U<FX@+45&055,5#L*"0E]
M"@D)8G)E86L["@H@(&1E9F%U;'0Z"B @("!R971U<FX@+45.3U1463L*("!]
M"@H@(')E='5R;B P.PI]"@IV;VED"F%B<V=?:6YT7VAN9&QR("@@:6YT(&ER
M<2P@=F]I9" J9&5V7VED+"!S=')U8W0@<'1?<F5G<R J<F5G<R I"GL*("!S
M=&%T:6,@=6YS:6=N960@<VAO<G0@;VQD7W9A;'5E<UM.54U?5D%,545?4D5'
M4UT["B @=6YS:6=N960@<VAO<G0@;F5W7W9A;'5E<UM.54U?5D%,545?4D5'
M4UT["B @:6YT(&D["@H@(&9O<B H(&D@/2 P.R!I(#P@3E5-7U9!3%5%7U)%
M1U,[(&DK*R I"B @>PH@(" @;F5W7W9A;'5E<UMI72 ](&EN=R H($%-4%]2
M14<@*R!I("H@,B I.PH@(" @+R\@04U07U)%1R!I<R!T:&4@,7-T($0O02!V
M86QU92!R96=I<W1E<CL@96%C:"!I<R R(&)Y=&5S+@H@(" @;F5W7W9A;'5E
M<UMI72 ]("@@;F5W7W9A;'5E<UMI72 \/" R("D@)B P>$9&1D,["B @(" O
M+R!0<F5P87)E(&9O<B!S97)I86P@=')A;G-M:7-S:6]N+@H@(" @:68@*"!N
M97=?=F%L=65S6VE=("$](&]L9%]V86QU97-;:5T@*0H@(" @("!S971?=F%L
M=64@*"!I+"!N97=?=F%L=65S6VE=("D["B @(" O+R!5<&1A=&4@1"]!(')E
M9VES=&5R(&]N;'D@=VAE;B!N96-E<W-A<GDN"B @("!O;&1?=F%L=65S6VE=
M(#T@;F5W7W9A;'5E<UMI73L*(" @("\O(%5P9&%T92!L;V-A;"!V97)S:6]N
M(&9O<B!C;VUP87)I<V]N(&YE>'0@=&EM92X*("!]"GT*"G9O:60*<V5T7W9A
M;'5E("@@:6YT(')E9U]N=6TL('5N<VEG;F5D('-H;W)T('9A;'5E("D*>PH@
M(&EN="!I.PH@('5N<VEG;F5D('-H;W)T('1M<#L*"B @9F]R("@@:2 ](# [
M(&D@/" Q-CL@:2LK("D*("!["B @(" O+R!S971S(&)I=" C,2!T;R!D871A
M(&)I=#L@86QL(&]T:&5R<R P+@H@(" @=&UP(#T@*" H("@@=F%L=64@)B H
M(#!X.# P," ^/B!I("D@*2 ^/B H(#$U("T@:2 I("D@/#P@,B I("8@,'@P
M,# T.PH@(" @;W5T=R H('1M<"!\("@@,'@P,#$P(#P\(')E9U]N=6T@*2!\
M(#!X,# P,"P@3U!43U]214<@*3L@("\O($1A=&$@)B!C:&EP"B @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @+R\@<V5L96-T('-E= H@(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @("\O('5P
M.R!C;&]C:PH@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @("\O(&QO=RX*(" @('5D96QA>2 H
M(#$P," I.R @(" @(" @(" @(" @(" @(" @("\O(#$P,"!U<R!D96QA>2!F
M;W(@;W!T;RUI<V]L871O<@H@(" @;W5T=R H('1M<"!\("@@,'@P,#$P(#P\
M(')E9U]N=6T@*2!\(#!X,# P,BP@3U!43U]214<@*3L@("\O(%)A:7-E(&-L
M;V-K+@H@(" @=61E;&%Y("@@,3 P("D[(" @(" @(" @(" @(" @(" @(" @
M+R\@,3 P('5S(&1E;&%Y(&9O<B!O<'1O+6ES;VQA=&]R"B @?0H@(&]U='<@
M*" P># P,# L($]05$]?4D5'("D[(" @(" @(" @(" @+R\@3&]W97(@8VQO
M8VL@86YD('1U<FX@;V9F"B @(" @(" @(" @(" @(" @(" @(" @(" @(" @
=(" @(" @(" @(" O+R!C:&EP+7-E;&5C="X*?0H`
`
end
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/