From 5ab6edf1217affdc176d609cf0e71472b3d41b1b Mon Sep 17 00:00:00 2001 From: kieron Date: Wed, 4 Apr 2018 19:33:22 +0000 Subject: [PATCH] Driver Management Stuff. git-svn-id: https://spexeah.com:8443/svn/Asuro@287 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5099520 -> 5099520 bytes bin/kernel.bin | Bin 45284 -> 45284 bytes iso/boot/asuro.bin | Bin 45284 -> 45284 bytes lib/kernel.ppu | Bin 3420 -> 3487 bytes lib/libpconsole.a | Bin 81668 -> 81668 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 147760 -> 147760 bytes src/driver/USB.pas | 3 -- src/driver_management.pas | 63 ++++++++++++++++++++++++++++++++++++++ src/kernel.pas | 3 +- 10 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 src/driver_management.pas diff --git a/Asuro.iso b/Asuro.iso index 04037516564b7f56f91661e0de5dd81612428a34..13033c4ec63ca1c17486b05121c5695e82a2c396 100644 GIT binary patch delta 15785 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 KETTuM)$+fW$0wTr delta 15817 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 S!0$8gI~;yft)h3D&HBG2t&)=f diff --git a/bin/kernel.bin b/bin/kernel.bin index a3f4aac7c48afdcef06f106f146cceaf08b99733..0c4f6312e91d1b05a1bf90079eac4d150c114ed1 100755 GIT binary patch delta 3875 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 AQ2+n{ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index a3f4aac7c48afdcef06f106f146cceaf08b99733..0c4f6312e91d1b05a1bf90079eac4d150c114ed1 100755 GIT binary patch delta 3875 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 AQ2+n{ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index a712b711ce7c452b112a4566db26d40ed6fff58b..132d7f016da0276ab3cf30bc42010a5f7636596c 100644 GIT binary patch delta 586 zcmYk2Pfrt36vglDbY=?uGZZM67N!&$5`nZKVB$g&QM(`_PK0hW0R}n_FYu;hIzU*l zKx0^%m$=o$_yJ7a=)$-$aj9El{0uIQ-FV-OlD@@R{LVf1o%eneUKY!i)tFzn7C%Q& z;FC28Cux8$G4-nd^tD+5fa>#dO*N)JKm7W(aUBcUJ3c#h{H=SoXS)t}yx`}%XKwL# z{YmEn7ZLNFkFf-biTDR`GrlGssVVV29$-=2S4%i1e#Hu!8l$zQ*j7fw8}$#~5U(^l zGfGV3JIs6B0-P3xUNQ=VbiTuFm+eZnq|f4Lhw1O}tV9-$50GY?Q6GNUhYU?62eRRi zR3&J)0nG?s3GpClUwe1YX&xOoK47UgGbA(C?G?a@2#eSpEU#@}%lMx0y$ePKGZ*m?bC=c9B$c z`%ZC29QD5-O(j>2ae_K?y_WAZftZ_QSQFopn;H32+M(^+oLbeyQtD!*NGMggTYs=t uU)^FJ3n+pA?io}7#>mH<)I{L$!@X8(pCo*QkcUz?Seqr{1y~+gr8=I1<9Jr=OrwURnhl4ef!T z=OJmNVtbr9))rtPWSM}aNsW&0F{epK6$veq6ONM!WwEjdIClROIaH~>eF-=o+Hx1n z$opxV++vR0=SlP{J{7;B2c&OeYsq1v25UO5XE%Vn;~2w|NXI`UMu_Nb%dcHR;5c(AWISey7(ui;KcFT1)DG|F%n3R|b5_wY7zgxUk UcR9D5MvdF_5b`HV;!|(wKWcGe8~^|S diff --git a/lib/libpconsole.a b/lib/libpconsole.a index be94bdd6371f41d7d1fe51a63a878856bb09ff40..47edb86227fb8b3814ce2b321451a01a0b6610b3 100644 GIT binary patch delta 1248 zcmZvcUr1AN6vz49M$I90i?Ms1RGTEx8g}zfc45%asL&Xf5eO0%gFOtApa>+G?O_iR zJqW*W4~7{&R0K9Xg9V0^7$NFIAS;NbNJSKqNk$JL{eHW+a~3`RKIi*A=XcKiotxfr zq_-S{UT0(D$<`*b#hj>{sVX0M*sp`bwXuT|52$ZI+1u1`^_b7+JKnPG6k-j&tDlJ2 zNa*m>Z8@l2lnY8tmb_=Hxzn?s3R5QJ?$@G zC^m^y7~WwqFcMdA(%eXBFxAU;VbgY1FN0q@OA17&V@^| zG5wK{(P0fXU;ZE@?3WvtQ&gk0ab)47cKP)t(b^=);NZd>D}O^+UsT9d?S#*XZMy^? zDLBh6u}m7gDqJE?n+!0RfBzQKmnJ*&;T-8yP9v~NR=A{zex5x{(#J34ukB`Ol3%>F fyk{S?4x!4vn)u(GuzxtDeGE1KXEJ#+#O9U1oQ!R8 delta 1248 zcmZvcQAkr^6vz2)qvnvh#n}CvRGTEx8g^rvTo^PoDm2Dr1cHRgU=M>NC;|y)d)R|S z55gDj!7#&ziom94u)vTKBSd`&WCqa+v4}!4$><@Z`|aY+S@ih*&i{YTch3FJ&1^d| z+m0cxQ#W*@HPjNCY?!U797M#=!QtB6MTrO0H=yhfHC;X7^Z8D;>^Lp42H(|BM64${ z{B)ZRYS)A@-U$gqAA#=mF1C+pyPp^K1>B@SPwzu;ViB%3p9 zgp7@7u=Vl>ArZgaxV)n3<&7f?C$%45ZxO9cf(#BX&a=ulgpDPIT-8qaoY;0sh|!|6 z;d0$4rw1l&HtH9!3eVjDC9g3MMQk_dAHwa zy3V@+tpK_64in#I1@9wh)-d~Wq8K5zSu5Zenh0OWJYHmXi)}uYn1H6nBee-l1RN{# avr%FN6xlnN_zX}&3K)mtn-}JtX956x*r~h# delta 628 zcmezHi1EWC#tBj!29^ev=EkPR8DC9g3MMQk_dAHwa zy3V@+tpK_64in#I1@9wh)-d~Wq8K5zSu5Zenh0OWJYHmXi)}uYn1H6nBee-l1RN{# avr%FN6xlnN_zX}&3K)mtn-}JtX955t8mOfJ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 829bd589700864d794a23bf40275f2547a8776e5..bc5d3d03256b9fe49bd9da48304ed397d07d5ff9 100644 GIT binary patch delta 3820 zcmZvfeNfaz7{}+iAbjESj_l5Kh|8JAiQ-M=%>)_B908G>EGCCgJVu-nt{2n6UPzr% z$AW2_wigs~GHbL%HrpvMaa4>KgVY#9tQ&KRz#+z%N;B!%{T=*v?|1j#e)ie#@7ZUc z=h?l6%@Z3oPpp|fVfO5_)H&(N>4#=!M~@GP$LnI7qp#kgllZtsThyHRiUbe-l9I=k zQcpjurc)AN2I;<5%Y64-0qZ()f9xbHjY_eo$#2KUHQP*U-{>?l)Dz3*Cbov456w|1 z&DsvD+4__ZO+$&u`jifmI5(1%hexpDdB+tGQJp=yzy-vU6iMC-k7T}#6PD?#rXD)z zW)%zFask`+;J1pgF*T?glZu6Tq${_B)hs@z+lm?1m0PFTds%OOqfSU~elJPvx3iy@ zbyyWhOkoG}FAt?1Qy8oryCPUSc7>sxP^@S(k2e!oR>^tubBJ78LS(b5HRm)(vq{yO z8zRhXTiJ1NrW%K^r9@e)`af6Ow(zmWpF84pvZhm-d`UV?*z9$GX$A&W& z7d$Ml@(U{^d6iO~)NGAl4{T}%XCRkN2j$sjRDrfnH!Io_OkR2|nC#jfOpfdfCKs!9 z;$=BRi35J!OL7Pv2SzZTcA9%-S+#f^E8ka-Bdba~x!F^O}@`~#h&>bjl9G@LTMM*R|2(5S1F zkb*|zkkc4Cm1J>B)?-tk9$S`%lOt0jnC~k~O*UOs{4iQX4r}=4;}EpvSSZ?kA{6zX z3Pp$8L(s7V!v7~($Y6zvGfgeQqLl=v&Dlg;7kv39A36#SXoAVqh7LOxLqbz z`G}IGIAb*Gt$($e4vo{duPK!IM&p6i{HJELZ}e7kv(*0_l=5F}ptf?sD6%%%QVVuk zR15{o|8N-4iWgvARH~)nh;Q=~lOd2zgOlv^P6vF(>+N6%`oUzFsNFKcRLv@^5B{$c zW*K)w^kgSra65br&O}R;0+tb`|AB4i@Tc#9pfthDEQh~1O~WWaN3$WHSI>Z5O7O-w zMcyVt&dXy!xpG99N_hR<@R7MlGK#EIF4#B|LN()Y2b*VUo&-vXcgAWM9TAnz`{E!( z1E7dy2jEAOKyLwVelP{xK)dIGowv;mHLG5jfgIwO(?Lm>fU~iDWWI()c<_Yo<6&9Q zXGTDDHjd#`glWSX<(0xC7r}s1p;&7)|8ZEtS1ksoa)`)zO&&}SGxH=M?FR0D1oTVS z#Ze;-=uc%3Nd_Y)anEvaXkJN+C$$f_dB+nFt|1p6DuS0aMd|myvF#lS3zknhAd7h^}%r$@v=O5`RkxO z8pMPW2eG!49<9b263@J%+a~Zg-vH%Kkp>(Mg4+#0{g#DMWHLlfzK_6Ba2O8>eIKR# z_jj!;k+pGbUh0w6?^a#qI2?=XZ+p}OFno;OYgI)SII=(YintnW-1JA(1I032!qfJ{ zZY?7XPLa!w&Ziwz+siu~%6P#cs5RFJL=m-;;d6GLa9H*5ORnw&M|d{EYEhGFB}J=_ zSVR#SqQ%ElbDnryRTaa4?1odSos?~8v&bScWUEiB=6q$BCX2&>?7p+Aop^q(rFc>O zAX6vW5y9JfFv#N_K^ky0*lz}jPtz-n#aRR)jd?<@H0LT;1ZInwKJLmqkdr9258}e?U`+1jfGM<;^2% zuNNKEOOdr3->dsabIf;L3nvc8vY6jg4KWv8hj-f^OB@fNAUrC`Hed!!qUp)DN*yuz b7c?owcr|MI?UHjeGt*}N&*TM}HoxtEdH~XU delta 3828 zcmZvfeNfaz7{}+iAbjEKj_l58$jh0=i2{#7KunOK%n=aD$zpN{#bd-N;d(J0?1j`R zbu5^+X{}Jm$*j>5*=(o4#8EL`3{qnZv2M&M0tXqRH#6zk{T=*v?|1j#e)ie#@7ZUc z=h?l6jT0L-POOQY;7#|YrzNK(ADo^YH$EU9pNnmbyLyvO5)&G2G0BM)Gd=iAN*P;9 zJ^iqfUikxJNq1Z%sZZa*{P$c2>soSu{3I)lNwp}-?oj{G>&|lYV;k2g}hHA$z3)PNaW@yhWR=-!HjKfv3rQtke6URCa>szC^LB}xZThk|(2cBs+KRh;loee+V6M~sz z-D!&p9+p@6xs{TSP7FTEB@c5V$Nhqs54 z3)MRDu^ghr0l)4eIRuXbBbZM+&Aqa$T0D;B@2SU;RjVII8EdWkOxtxCX|3y#VjtJz zaioMEhuAI2s9MBs?9szz(7Qefr4{pY+1&m0+DF`&#JObd{!UVL&CaGZoHV^g{SsEt zsH>Eaf=1(zXESsv$>Nl($EILCwk(b$ho?j_|Cg4UY`UuWVYG-G*6{U5VQ9 z5xuR16<*qH3Q0r?FLg3+zgjKQ(m!Ca^bd4W&jPTsg@Y~NOb>G$KDKRGSw{S$KC*4N zT_#rfh?1o^V>If`f3}(qjnlXPQ7H3|CIYMZPt9om=*{M4Y2Z01{mC#g5H7~7HlUXu~?1bS=+6GKahjA^Lcd%hqy$Mc;7a3pjDkv?+ki|)*MmX*wQI;q# ze;t&EgP2g_Al8=BBh^?(;;C13%LM-B8=%}P(tx8uXv^WJ-m)-?OoqtG_Yyb)4&yPQ z@1vCew!^v-SsTX&rXE@SF4a|z!?C#jx?4Q}!^gNiR#jxdBl~@ih^x`cO@Bm9P%Ono zeD*%rrDdeSDRSA>`P2hyi+P7b880{pwdNXuD56#}eAdoq9#TF0f~z~h5uS~(TF|6g zNztmq7EwfoXz@|ioO_R{s$v+FU3XHold=tM7Fk4wZ1pMCoGm26?3!}E}7gu)#N6~_Qyg#G4Pp@$K^2t6`( zi+@oUaQxGy79kEXSppf@Usqq&iV$afynYCj>s$O|^HF5&vIt3+V*-EW3N(dDVC)+{ z-aMlAd(lOG6j{6Ry}G|O$Nbl{aN=+*i}?-J5OdLWXqW9V?|1+O;W0_J0W)9{#irOQ fb;RUf(WF%4<*4PiOU}{EOq=;%lNV�=EAF7xmFB diff --git a/src/driver/USB.pas b/src/driver/USB.pas index 1dad270c..a4ed9a27 100644 --- a/src/driver/USB.pas +++ b/src/driver/USB.pas @@ -85,9 +85,6 @@ begin force_alloc_block(block, 0); map_page(block, block); MMR:= POHCI_MMR(devices[i].address0); - MMR^.HcRevision:= 200; - console.writestring('HcRevision? '); - console.writehexln(getByte(MMR^.HcRevision, 0)); end; end; diff --git a/src/driver_management.pas b/src/driver_management.pas new file mode 100644 index 00000000..f1456262 --- /dev/null +++ b/src/driver_management.pas @@ -0,0 +1,63 @@ +{ ************************************************ + * Asuro + * Unit: Driver_Management + * Description: Manages Driver Loading + ************************************************ + * Author: K Morris + * Contributors: + ************************************************ } +unit Driver_Management; + +interface + +uses + util, strings; + +type + PDevEx = ^TDevEx; + TDevEx = record + idN : uInt32; + ex : PDevEx; + end; + + TBusIdentifier = (biUnknown, biPCI, biUSB, bii2c, biPCIe); + + PDeviceIdentifier = ^TDeviceIdentifier; + TDeviceIdentifier = record + Bus : TBusIdentifier; + id0 : uInt32; + id1 : uInt32; + id2 : uInt32; + id3 : uint32; + ex : PDevEx; + end; + + TDriverLoadCallback = procedure(); + + PDriverRegistration = ^TDriverRegistration; + TDriverRegistration = record + Identifier : TDeviceIdentifier; + Driver_Load : TDriverLoadCallback; + Loaded : Boolean; + Next : PDriverRegistration; + end; + +procedure RegisterDriver(DeviceID : PDeviceIdentifier; Load_Callback : TDriverLoadCallback); +procedure RegisterDevice(DeviceID : PDeviceIdentifier); + +var + Root : PDriverRegistration = nil; + +implementation + +procedure RegisterDriver(DeviceID : PDeviceIdentifier; Load_Callback : TDriverLoadCallback); +begin + +end; + +procedure RegisterDevice(DeviceID : PDeviceIdentifier); +begin + +end; + +end. \ No newline at end of file diff --git a/src/kernel.pas b/src/kernel.pas index 17bdfb73..34126423 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -26,6 +26,7 @@ uses vmemorymanager, pmemorymanager, lmemorymanager, + driver_management, tss, scheduler, PCI, @@ -115,7 +116,6 @@ begin console.writestringln('DRIVERS: INIT BEGIN.'); pci.init(); keyboard.init(keyboard_layout); - keyboard.hook(@temphook); mouse.init(); USB.init(); console.writestringln('DRIVERS: INIT END.'); @@ -137,6 +137,7 @@ begin console.setdefaultattribute(console.combinecolors(White, Black)); console.writestringln(''); console.writestringln('Press any key to boot in to Asuro Terminal...'); + keyboard.hook(@temphook); util.halt_and_dont_catch_fire; end;