From 56df6282a194097369655b673e2ef5bf35187d70 Mon Sep 17 00:00:00 2001 From: kieron Date: Fri, 27 Oct 2017 07:28:53 +0000 Subject: [PATCH] PCI Stuff git-svn-id: https://spexeah.com:8443/svn/Asuro@271 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5095424 -> 5095424 bytes bin/kernel.bin | Bin 41188 -> 41188 bytes iso/boot/asuro.bin | Bin 41188 -> 41188 bytes lib/PCI.ppu | Bin 6219 -> 6217 bytes lib/kernel.ppu | Bin 3381 -> 3381 bytes lib/libpconsole.a | Bin 81668 -> 81668 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 147760 -> 147760 bytes src/driver/PCI.pas | 10 +++++----- 9 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index 85cbc75870fc522ef2017d128bfe90d3ebd4db8e..860169fb17513d2dfac47ac2c4018d0f83f628a3 100644 GIT binary patch delta 9156 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 w{$FC_djVIY-_92Z3-`NdN!< delta 9156 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 delta 61 zcmaEIkm<=mrVYnkRJ&a{I$QsI|Np=9#Bl}?Nb8oJAfa?1Z5NPfdATS$&8zd<2 delta 61 zcmaEIkm<=mrVYnkRJ&a{I$QsI|Np=9#Bl}?Nb8oJAfa?1Z5NPfdATS$&8zd<Z1xE&lxcZ)80ZIz8f@IkyKV%Wv?99l_#Ky=B=@+Y>F4M(`HsL!J$JAi6C;BZ$T%QS z2GVj24D6afHj|PKkYraWN-ZwUDPdu>+PqnCCNpEjWM9!_Ah}Ug3rOAplk8%eK(?V+ mCS%*=*9ioKWQAXc|T(rHvn!s3E2Pu diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 65454e97c620141d2d4c2cad732e1e26520c3975..cd33b692e674015aa98008e0d9243dac9a46581f 100644 GIT binary patch delta 979 zcmZ8gU1$?Q5N6M`+7R`WBX^D3CdDAeP%ly~2Z06)DrqT42nbb5iR2*OfixgUMo@0)MFotd4@tU5BQ zj?os!9wiid(DtIKexMPb1P)?P#!c+R0~CTqOj7+4q~$A!3c&=N?T8_Y_(b^HdDEsG>~a!X z>vz$MZh_W3Ex9m9*1<~n5XXwr-3GfXHwlF9yqTW>&%vn8`&{%PB0eU8+V_MZ;A5}; z;hh8;4^Q9~OsY|}exyK6wh?+}#6^dT0#paC8p?En4s=h!<-{Y#Xu@}Rg`7HpbCgpe zOb#`yWeqTQ4}s;=H_)aKl%P0_U1*a#N^-Xe*+{pv2jKfiD_ZmEw^+0GOf;|%g}%%* zGWr~MWsQgNUNV$wQk&1{43_kP+W9v*gU^p0u$+OrzSUX)P{u3P9ojnd!qBbr76VOp z8cekWf%_{qr~M$9BWQ+Gr6Y(ID-wK}{D$4@=-1Ovi1K41EInI76!GZ`Tjc2DvWtyR zkI$F?*wpjoAc5AG6;c<#Vx`e6Pfwou-|AWwtyI4V&#T8!%}|!W?A#o)qWX83e&1{M zp!K(aD_@VrKF;jGtxU#CCpVBRdTDQ5a&IQ_?JUZ=04~?55cA)$pSWpXNBi;JUTuqT=JVBkoom?Doc2rNVv`>+pE6oCZRihUT- z2jN1Cgc?ai6tz671xA=q6KqfrBd})pA^J-eDFh)?P#!c+R1LT7ROj7+4q~t4z^1(QqZI2=f`$YKKdDEsG>~auV z?RV0PZWpb3nzA8|tb>)%A&wQLyA5_(ZW6e_VH|QIfq)$VR%QH2~j7n$cQFy~UcfXQF|H2=t|= zkIqe6RIf6zwRXl=du`I!t$#2-bj($D;geW&A!qT%PL}8!4umz4jE;-rw z^!R+~k4-&a3KD33Std0BESBrd^7Q1X|E;c7&`R}-@Vs&i)eL0_%+Ad*E2@8o>G!>6 z4_bcMfYYB+s>k_3*fSy3Nim3`-z)6+FOtB_Ilg) S%8IP$f0t?<7L^d0<^BTMW;N;n diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 4f3db07b97b27cf6da61abab548a3519cfc871c4..a293b6d45d6bbe95191fc8ca7ad0b71222a4de35 100644 GIT binary patch delta 510 zcmezHi1EWC#tCvPMwW(#8idu}D^W{G?BFw5) zl!d!WeDhWnZ8%SC^Dp&daGu2GJK91hJWa;Qf6e$O%diM-R@2?b$Y%<40>TBG6^u0C z%EdM(nYytcEWK$X#W*=%USRWEtBXi(xoPto?l1Ap@9jB}3=nc&1m}rwKJWG)N#%Jr zpm89#++pI|tl)hD$w+2jUbr@~%~}Dcka&C{i+Evf65D(#F$GD^Bee~Q2M)>k+3=7A VMamAQ$u)UgF#Y127v`O30swzfkXrx% delta 510 zcmezHi1EWC#tCvPh8AYV8idu}D^W{G?BFw5) zl!d!WeDhWnZ8%SC^Dp&daGu2GJK91hJWa;Qf6e$O%diM-R@2?b$Y%<40>TBG6^u0C z%EdM(nYytcEWK$X#W*=%USRWEtBXi(xoPto?l1Ap@9jB}3=nc&1m}rwKJWG)N#%Jr zpm89#++pI|tl)hD$w+2jUbr@~%~}Dcka&C{i+Evf65D(#F$GD^Bee~Q2M)>k+3=7A VMamAQ$u)UgF#Y127v`O30stFykoEuo diff --git a/lib/libpsystem.a b/lib/libpsystem.a index a5e15481b97f3ed8af890b8dda7d3422798a1d95..761affdcbc27e4e3dd8781ad6cff3853cf20de63 100644 GIT binary patch delta 3160 zcmZWreN2^A7~gY)K)F}J^j_2PC#z29eogKC;p7@LtLXOiQDHQHH%y#kZgUl z%UC}*Uo(SH&7uO-o!?0sa{J5}ZYACMpBiyK(qDMUM5w>8A9)5H6B?)*5Ho_$os<09b&CwY*l#hB*!8_3ncSpcrLb%dB|GDJjANV z3Q>rARN1l`Sru1(sH>ROXjZX;oZi)9?4$yn-qkB6?`>jL+}13s$QO<>YL}2Z&E~G9 zWyTj)OUmq|c^r~&~<@TSyZe}M#y(1QM=Vy(0|FK_u+E9X%>WQ?k{QVD%_3Rq5)Z8DF(9B-J|Bs`W4g|vP;e4=WhZJ62GdF5zzBB*xCcV9-E z?uEVT)HucrcZt9aGvNf_+*y{*h>S;O85#Aux{?eNOUUmJ9Y}_-D}|X!+$nm@3+APA z(fw)Q0^Bnn9JGB-xJNg8bbj4y?7jjntk4 zL&p7f;=-q330<8FQ%sT5h60!op{5pOG(p-&+ACaj$7RWKGanAZvgd>aeY+M@{L+d0%L|x$)pc&;sS}T1-pE< zcsQ=#45#?>PM5t7>WWGp=1`)fY>6r24$$g1K|N#Ks5Zvq%ki;#CRqNTP%F zmP5?oX*B$!gQgzTt2spVYT1a@mwR(swO5eT9t|O3P?D4$*J0FiLbLFpqFH}N`vpy) zJ%olqNmGAThtXBt1`Qi3nmy;WpZ~N};@f@jlQ`mp*eKfG3+gvfI4N`Pmm8)mI9_Z1 z0%Xdqxq?Q zoCkN>R(N!?anea%+mO*4oOIe;+p8ud;`iU1<`vIJh`^k}hch#6^1-4-nYN(qKlkfJ A!2kdN delta 3160 zcmZWreN2^A7~gY)K)F}J^j_2kjhv~ErLRac6 zn5T96ASH{mvU%l9kA)`AulP`C)*T_%ow*`y$QC0tmCon;zW4V2b$-wDoZoZKbAIPJ zufKkrzkXcfjEJ<1^w|ezE=mvsMiIpp9rIjmbrQ}L2Q(VOD%?6TFJ|L+XoMs$ZE~#7FXDlQa)vdkF%S5(To&;1? z?GQ!B{)>={V%NLLK()$bn9xA=fS3_{{=DSZuG?hzrGATv#I6s7WO9?jjYmQ)sBoiT zLycRa$fKK%LYxwlsU@a57s;xNG`8R(rJJqj)imq|c1k|?pa{DjbFtd}Pz=#Fi{aGX4f9#i@F_hpWJAw-FOJ7b(u6!;h3W!RsbQ8~@ z)})B=T@8uwUG2v1#o!=$*V-X2Q#LY-_IzVrvVB-hK@6eo!=2)&Yetk#m{oSDEu)?0 zszuLw_olKC-&hKe#yeU|zOnIg6FB%HRM6jSpnDg`nBflG-UJR@S_Z`=xF`Z}?aNS& zw?>0%k}N4b6$9#!uZ?%$sj=`iZFYbI@JBIVN`Z&z!)A)4|Hi>A+5Zw^;^>0=;9H3E z{BPqbGDg)}sf0c^1uUn@HknUfi8oAa5+2KiBHAz=K2f#MHq2}tymGWA5mY1DjEs6+-ARUtCFJ*q4kSa^mBP#bj_OG?Pjnuvv zhK&2|#6?fT61qAMrkEn9jfF5HLcf+SPUQj`d=kt@!b#b@48Xrsf*oD6kEibCFxkj1 zyyXU=i*~JmaRzkKp;D+fpqKWo21{ea4EEFB3Q*dmZ28eLnh#Sz2$lZxES!_u;8(AL zCf9&^u>{5pOG(p-FX%|hj$7RWKGakXZUFU=aeY+Lij7)K0%L|x%cPHN;sS}T1G{{- zcsOp@45#_?PM5s_>WWGp=1`)fY>6r24$zvnKs{sJs5ZvqEAa6KCRqNTP&y%+zVkMy z{wbW4IjvWgp4%CMF~efNada<&;}9#KHM6rwmOtMQoyBkmWfx!9x_Osg5@kbOpg;EL z3QCrQmQWUkRjvPSVFiknZOzQhA12H+zl3Id1$zvcNE>E0(cx(P0ew&3qfkkU4??qy zQa`29~yPZQ5ah`^k}hqJS7^1-6T*|wnVKh=v! A@Bjb+ diff --git a/src/driver/PCI.pas b/src/driver/PCI.pas index a8b99638..87947dd4 100644 --- a/src/driver/PCI.pas +++ b/src/driver/PCI.pas @@ -71,7 +71,7 @@ var procedure init(); procedure scanBus(bus : uint8); function loadDeviceConfig(bus : uint8; slot : uint8; func : uint8) : boolean; -function getDeviceInfo(class_code : uint8; subclass_code : uint8; count : intptr) : deviceArray; //(Will in future)returns TPCI_DEVICE.vendor_id := 0xFFFF if no device found. +function getDeviceInfo(class_code : uint8; subclass_code : uint8; var count : uint32) : deviceArray; //(Will in future)returns TPCI_DEVICE.vendor_id := 0xFFFF if no device found. implementation @@ -311,17 +311,17 @@ begin end; -function getDeviceInfo(class_code : uint8; subclass_code : uint8; count : intptr) : deviceArray; +function getDeviceInfo(class_code : uint8; subclass_code : uint8; var count : uint32) : deviceArray; var i : uint16; devices_out : array[0..31] of TPCI_Device; - + begin - count^ := 0; + count := 0; for i:=0 to device_count do begin if (devices[i].class_code = class_code) and (devices[i].subclass_class = subclass_code) then begin devices_out[i] := devices[i]; //prog_if - count^ := count^ + 1; + count := count + 1; end; end;