From df6faec9e03322b01b643253ec515657cac1c09a Mon Sep 17 00:00:00 2001 From: kieron Date: Mon, 9 Apr 2018 14:35:35 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@417 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- bin/kernel.bin | Bin 53476 -> 53476 bytes iso/boot/asuro.bin | Bin 53476 -> 53476 bytes lib/AHCI_OLD.ppu | Bin 0 -> 15521 bytes lib/E1000.ppu | Bin 15149 -> 15017 bytes lib/IDE.ppu | Bin 0 -> 8930 bytes lib/isr76.ppu | Bin 0 -> 1994 bytes lib/libpconsole.a | Bin 102784 -> 102784 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 155060 -> 155060 bytes lib/storagemanagement.ppu | Bin 0 -> 3693 bytes src/driver/net/net.pas | 7 +++++ src/driver/{network => netdev}/E1000.pas | 33 +++++++++++------------ 12 files changed, 22 insertions(+), 18 deletions(-) create mode 100644 lib/AHCI_OLD.ppu create mode 100644 lib/IDE.ppu create mode 100644 lib/isr76.ppu create mode 100644 lib/storagemanagement.ppu create mode 100644 src/driver/net/net.pas rename src/driver/{network => netdev}/E1000.pas (97%) diff --git a/bin/kernel.bin b/bin/kernel.bin index b85be84a5182edf7ed3607a56edbbf9ed4467be3..4549463c874ddc97ebdacea3d760493b58a7df5c 100755 GIT binary patch delta 7222 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 O_NUHI)^n-l+kXIAbS`!P diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index b85be84a5182edf7ed3607a56edbbf9ed4467be3..4549463c874ddc97ebdacea3d760493b58a7df5c 100755 GIT binary patch delta 7222 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 O_NUHI)^n-l+kXIAbS`!P diff --git a/lib/AHCI_OLD.ppu b/lib/AHCI_OLD.ppu new file mode 100644 index 0000000000000000000000000000000000000000..5f9d50e552dd3ad8df04bd9c643f53a9fb1dc7db GIT binary patch literal 15521 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 literal 0 HcmV?d00001 diff --git a/lib/isr76.ppu b/lib/isr76.ppu new file mode 100644 index 0000000000000000000000000000000000000000..bb32fd076c5554abc8d67485eea88f798e05dae9 GIT binary patch literal 1994 zcmbVN%}-N75Z`(IqEx;qC`d>M(P&YE2*is9g-C-f*utS2ZTP72BG87GM9%&d9=t&C zU`&i&G|_`5deInTVl*+HJZWP5xB=DF`OS78trv)s%)Z&*%DYj)=z!8T~R= z$~Y@yK*m^*Kh%JoyzxYQVmRUt$79Kf#Q1Q$omf>zic|$l@W(~UBc^4b(H;XTdfyIu zzel2zkz};6qHL7`Nr$MZyj3gRm=Sj<8`jtf|{^ra?P1GB!5ad1f#+ z6pjv_+sPw%(8X+ZApF2wI(;p!Gam`AxSov9=Q3&oR74nwba9gIsD5}+}W?6#lY&RNy+*(;DN^Ic@4^1el z*YJM8K{UXMrPNiM+uD+%MtyapCK=x=7U(l>WRk6o7Dd@2TEysGUex*~qn~0FM0o^A zh=@OuX!-*;$ti1+*OUPkg25`Yq1zBFE~Q#&a0dSOTdA{bFWR|6f$p*TK1`?uhl8v@ zI2xYlOp0BJ^-kriSM&OOCyR6#_74rn-^a|)nQ;y}H3&AP(Fq8wSQO4Yp8y&{US1oJ zzi%P?+??8-I><*h`~+)i)A!C&F}TQJI0{F0*F9v9qI*a|JN69X4-)9yzFOR;)FG+Q ztm=SK6aHA95iX9bqE=m341Zx1^qpB35xSi_GG#A1&XW2G6DG>bUoNg^oNZSLOl=)dNENKKv7rSUiMirxeqad4y|Jsu5w@>Ohexvq-0{Avj|9=~#VOIWfUKAk_?O$Uwk( z+RN?K(l1i!REQ2-GeGtk4^qTpakjnzWw(p-h&G#*wdxvYc?KAo7Bq(E8Zr?2u+{)8 zt_hSPxnCnwSKCWOl3S^8{>lQfmtVcWTMdEETWS2@$GbE3a#FWP>l(A+X5T1Uz|ud8 zDunN$4#T+TH`nN9v)bKMNWXubM?vzT9r~SSBEr)l6rvWB13nIqqm;l1(xG?sEz(*h zuvR_EH6s*0u0YO?nS6e7<&vF+$lM*IdxFb|ZY=7#8+CRtXBp}MWID~F6HP8lyOUp|nus@y7f8MS)P!KAMKhT=W;e>V~S=Sj5P zZvVgSf*dX)?R?BC4ibN`g6#J{DcU-_!FJq>m`Py!6?sp$vfRYQ(FVm delta 1395 zcmZXUe@IhN6vw$smp^8x#hVoPt3Xqkb0$krv;GK_mncX^tR^ZHRw&UQk`k5>xoNZSLOl=)d`Lt#8SMTZ107fO*J+ zDunK%4#Sk=H`i#OP3>+nq&~R8qacl<9lDxLM1Tcov5 zW36U}Yepz|QjVP6^SS)w$|XAo;l;a1cX<7XZm#ON8%AIJLE6kK0cl%rE;Gu3R)2^! zD+g>FK}JTfZ$=miu}6_rRcY!e&(E)@vQ%15s?SJyJw~|np^Q*}svi2c*GOU_YBN;rj0L{w!dQf9KsY1V~XzV5x67z_=#OVGDs(6ME8U^8h15V@E4<8sv{b% zO4jnJ6fHNTCs8nt@=;e@XKhGIQ-ea|EO&l7LE z)%t(i1vykmy7-t?93d`mIXUQhR!SP>=3;V(O+%1_$4L_#ydWz#`2fN`3rQidu}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`O30sxWTk!%0} delta 510 zcmezHi1EWC#tCvP28QOA8idu}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`O30s!*VkkJ4D diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 8ec607f658e7c0b7120c31397ecd640d41c7a026..2b656cd18e0e580b881960e19e3386b377883030 100644 GIT binary patch delta 3274 zcmZ8kdr*}{6rb}2DZ(W%y_c-9J2}%s6c8WiXh@D@%oXf9YHFj#z$KwZamF$mnMB7a ztx2g*+cZ%$Q^!P+MOKlF@f9zHrUCH<*O|y1wJ;x%GSS&@cfZHwul=2K_IGyA{?7R> zl_w%9Pec?C4NDoDJpRZFRboMkGBppqH}t_1hMjrmXm#4a(Fp~KUi=$1HhFaNc)o%7 zH7!T)T==ZsJ!U%%zSs@6czt_(v>mQUa6tbk0k;GpPG8hMobDObpc(O|rE-k4kn+zU zhjyiWF9HmxccnDyrDLP?L*e~s^TeM;YQC4ANppimKD8s)=XNx5qa9^_X`ukE z-fS;m^=2#}*5KqfEwWKX%bgM;gU}kT09oQfp_nUQ5M8 z?61VU8;*;-Lf$n}-bpjV^|HbJXt3HL@tTJso$MnY_0}E;u_T=iwWOU3wfO5pEm=*W zmSxR03-z^%gVA}vwuyTg=k>MrSn27a_WL%p^om4S0XHq|c*m52oAzFpi1&Lot?Sw= zHX2Z`>uRED&+MDUg)B6zEb6sLoW9=}}+u@l7fvc!jH3(!Y*G%ros%?_Z;jJr7&#-ZS}lxtiua( zkn-DSvzTG9Up^Yg1aXrQ_{T6f4dnRCw#yh9N4%mkn&+A{LYa6%-ajlO5kgvupvmYd zmN*)$rt+}o$Abq*+9YtX3FAUNa?HzA!`bYK5c13{kg80^b+N+n?ETjuXqA9rStJqh z=7ae?WQFPQr`g_aa&jJIvR`~K*phhF3>X?_Ok_^Zi9Epkv%vZ~xEXF64`jx>5T(bv z2C(8cVUU^I@MfEQ9yW0SM3~Uc7QGE?O&DP5Iba)$1mR_twiu*x86LjBh~~=#Fl5RW zFM;#o7QD%FSxEuNPnCfQVj*a@dbx^Z_}H=w_)<}A{Rre2jH@G`wXRZ9GB81WRwUh5 z$mOwe4MZ8$5$?WqaF&18*{QW4`&00sLrRk25fh9KU>)m0e!;j=UW~`*lEg1juKf2w zNpyeq-$szr({M6$+8dU=y4isVV&lHC%(Df4f*A2pv&M>GnZM1s3voTewpX=|DOE>e zxKst2yGK<}uza!C$%0tcI%gjiC`QaQE4Lw0RD34ee-L(?GVu^@BWN?m8(Uv)cImQX zkjH8(pj37##{}^?J*&;dc2=qLFmxz!;1X-h{j5g$i9ytT(n*9^5H+7tfvoh5NrX#D zbfZrB1(CPWNrYGs^<7Ybtfj>y!lfkgv?{+K@?UfkAr?f5S5#otHHZ_k$5pDh*y8KT zOP1Y)eDdS(&}v9;?Qcp|hJ&HwuqYkFK*__GlIY?cC(+1zlIZVlClNXnQSgCDgiA^E z`XfbzKgjY}Q7@E>yc`mQZTv-!uGVC;GW=<7wxFh=!u*qQ25x;)Gh0y80<5LKroNfD zAwUo}$QF#ycnd~rvITJ@1la9pO%7f@>H-9DgCK4mXl5=Qq$#Q3Qfd1}oC-jdy4i&x t+M#5lxf%Ym5oS(7H`_5&`&f;kIa-^nF8&Kruf?W_ubETv?ABZ8`ybn=aDV^+ delta 3274 zcmZ8kdrZ|;9N+gBqzIS5^j@-Nce(Wt<>dpNhUT2HE7)~vYExryNvJ7qmf2*9&Xv|u z>ZhGFQ8ZI$qR2sxA{p})FNM}Xe8F{#%&CR>h?GU&^Z30kf1S_w`#qoUIp6d7et(zB z6A_gsB8rEGB_*ehKk`DAT#%wn%|q`Eeei^^Gw&R&P8&EXp&-$Vf5~G~Mx~778;D=i za`euH&+6Tyx6|N@-C&E?x5r1@;fe$Y^e0QWB?xi)qW0l*PjZ7M;!R8CXk{VgpFs}o zO8s622&i|ZHtMBgqVz-I{b=)qpJi&km!6sI2E8~XO1~5yMT2Q|4%b7;p%>?RXy-JK z2&6qzn`DqO|78W~ozpV(Ntulm)7z~OZlsekzca%E)aS3VknZze)=O`?=o_<}oxAi+ z^BbvuZYbBL`F5^t3+!Cm7D%q0S&EAm=cWNI&$%k85e|_Lg{PlFyYt%3gG|x8^Llxe zXixrW&@U}@i3)#x4W{TtE4?(MKqWFPdPc!j5$|7qL9#1PFU?wU*|N~0m2HkJURty2 znA4)ytP)&bebSHqP*?-8NMsBpD%r7kzpw*l0 z1+3nT1;iSh{H8@!th@vZ*z&DW!15BSfO&N6t_t%adHUF0ZDMoWZY(bJ)@qpdZIc+*UShmOH^PqC3>j%r4^zO$ly6H%xJP`6_(^_in%+_nEe2D#( zn0Lc*nODlYM#(#AX1HE9xE~ExJ0xE7P^MFTbNG zv&}+%t@2=W-mh))UgEsI)*dT8UDSTxhL&DY2rJ;Gg&pshQgGAW>k9FH&!%-CKz*tNCWxh=+3Mv+B*Vv6UBH(H)z*(deZjao@>%ODLrMY@#AjvFeT7^e zE7w4jsE%~^t%I}tv(8Sf1=XLD2OUb143C%~I)HVo2lWNxMs+bBpGy+IM7i?c2PM({ z*?${BO;6!u=(IO1dv&t|6U5@avCOjteu5bJQM1O1WSPIsxeIYU!?rhS9aCx?iQ&>H z(A+&n1trTDdz~zZRjqUOVS!@gOtW$eiK5~&+5UsD+mwlia2r9J7;kKSx!I-5jzJ!) zt$-6x$yh$T_;DI<`To-v7VsfcdW z8GcFRZFCYLmPCCQj6l}XViMs}5qVk-za;WsbP^$!M2T07z^ZEyCuNVTGEpyw()M5Jy6Q-Hz7O;N_z(KoB=b;^u*7=F&l$Ar)L2+P)EI1fWXY?7|T3 sP>N`7hW~7YnN!fscFfd1Hpb8#txZ)I{{^YnVpHYU%&B;G>n-&C4^10wDF6Tf diff --git a/lib/storagemanagement.ppu b/lib/storagemanagement.ppu new file mode 100644 index 0000000000000000000000000000000000000000..2cce6119215972b7badac89fc0bc95029dccfa52 GIT binary patch literal 3693 zcmc&%Uu=_A6u;-|pN(y_gSA_M7Pe94&k%$Ko{UM|3RKw`Z6R?yG-dlFpZ3r4wM-y} z7>!XwjENxzqcJgHG)5ov!5D)HA^IXOXcS+3BE;y6PbMPO%=0_<``T~okiB`5d%kUnJ#ISEq(mI;7OW+xCqOy>H*@S4wT=23pIFXicqNwTmas zanCJtNwN*g03My)k`#`U~iN!P=Qx-7H`F;p4*1x5`gpqW@IgDqY%@ zoxc84<_ZMev$i#F+VwMYW^Ko{^U;@I={gR1$4s?StCq|obDw>)cgsf)Le^O~?Xp!V zmeN07`SX_>?;U}#R~u+~+4Ff%;M}h7K7=wfUpC8C`;6Aw;onlX8?V`qimJ3o^;P8i zir-Yq;E;Scq}YB2X? zE}x$0%%`&xnaR|l!z`pV0jO4y3iyCuhC{#B(UYK~&d4vLerIHKlH#cIxr%teHR+1? z+`H35$~EbN{1CYVA8X;p#zjK$RdAx*w2bdd_e6rx+>pLcTM-^`oCwOO!@F3-b%jsL z;}=Uw)_}AnZ=v03;${orZfM9m%eTmy>}gm$=@hLM@A_gJT&+?h_=g5YkVZ?B$+k?a6eWf%^rBnuX1P zsG&EEB?cj2ayN`VHY3~e924Xqcf**w0pnO7^T7U8esqtb^$}TYD~nvB28t_fgO@uU zAr{+*KFJQZ!?8y&W`b^<+v6C3uoBb#9MUL;H?Rsl1bogB!e%(1(-pliZq8dXrl|aW zg%kA285+m^vWn5%wsFTXpbUw#aTnX$!p(@IOm=aZcH*pP(<<3Ji)B84LEE_*@pa5s zx4@a%hZPMr@kQ2x;PMDJBaUc=%Ei+;bB3KBtDdUV6%92fJk4ql5=wi6P;}JpbCzv#@x=N+&P?8v<)5VX<4g7H2JKY)S`bi*_B`g8fi+0=pbL~0T|J((|L zCNp_B^O^JjlJ^tj=WGu|b~$sV`ZK=w0Q;l}K*9(cnSz;^H=L!Z-nG`!h#T zh{T%wIw!EA^O9+5I%HNEc|MZH=b6*ac#K5y_FFEgb?B+zZX zauluAx{Wdo>C*Pt;n#!4AfqXP=q-8kD2jLyNUhM~r;nnjMhwA51do+)zEy4W{50bt zIv{R-%gW7w#qfghR9bJ9zriYy2Cn9w2k5QxH(7<_P2w91Grw1r|Cx2ID!+zD9+TcG ze~VQ(f5es|h*Nidzg05zQY6nMP{xvlwn}mj zEAVk;1@AN?X#}30a~I?O3+S(?;JwMni$K$8v*2xObF(m>$vsgRJ3PUKc|18amCB|j z4siv%pPw+S3mqaDoGaSJGN-_(&L>Wk^FT0N;4c?CM1`w3xcfqZNU|w9#Jz!JyKg#Q vMs>L(^)8zlgn=k>x@Xp^JyV#emigb)Y;%*OE;9;54b)k3pBN%@87=$^ho918 literal 0 HcmV?d00001 diff --git a/src/driver/net/net.pas b/src/driver/net/net.pas new file mode 100644 index 00000000..931a7710 --- /dev/null +++ b/src/driver/net/net.pas @@ -0,0 +1,7 @@ +unit net; + +interface + +implementation + +end. \ No newline at end of file diff --git a/src/driver/network/E1000.pas b/src/driver/netdev/E1000.pas similarity index 97% rename from src/driver/network/E1000.pas rename to src/driver/netdev/E1000.pas index be35e278..1d0be6ec 100644 --- a/src/driver/network/E1000.pas +++ b/src/driver/netdev/E1000.pas @@ -393,31 +393,28 @@ var data : uint32; begin - console.outputln('E1000 Driver', 'Interrupt begin.'); - - CLI; - - requestConfig(bus, slot, func, 1); - data := inl($CFC); - data := data AND $FFF7FFFF; - writeConfig(bus, slot, func, 1, data); - status:= readCommand($0C); - - console.output('E1000 Driver', 'Int Status: '); - console.writehexln(status); - + status:= readCommand($C0); + //console.output('E1000 Driver', 'Int Status: '); + //console.writehexln(status); if (status AND $04) > 0 then begin + //console.outputln('E1000 Driver', 'Link Status.'); startLink(); end else if (Status AND $10) > 0 then begin + //console.outputln('E1000 Driver', 'Good Threshold.'); //Good Threshold end else if (Status AND $80) > 0 then begin + //console.outputln('E1000 Driver', 'Packet Recv.'); handleReceive(); - end; - + end; + //Clear the INT on the Device First by using write-1 + writeCommand(REG_IMASK, 1); + + //Clear INT on PIC and Cascade outb($A0, $20); outb($20, $20); - - console.outputln('E1000 Driver', 'Interrupt End.'); + + //CLI (Not 100% Nessisary as this is done on IRET) + CLI; end; procedure console_command_mac(params : PParamList); @@ -503,7 +500,7 @@ begin IDT.set_gate(32 + PCI_Info^.interrupt_line, uint32(@fire), $08, ISR_RING_0); - //enableInturrupt(); + enableInturrupt(); rxinit(); txinit();