From 35edc9e455203579cba6e95b2c2b57f241fe6756 Mon Sep 17 00:00:00 2001 From: kieron Date: Thu, 10 May 2018 12:17:35 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@692 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5251072 -> 5251072 bytes bin/kernel.bin | Bin 196836 -> 196836 bytes iso/boot/asuro.bin | Bin 196836 -> 196836 bytes lib/E1000.ppu | Bin 15730 -> 15741 bytes lib/arp.ppu | Bin 4608 -> 4624 bytes lib/asuro.ppu | Bin 2128 -> 2128 bytes lib/eth2.ppu | Bin 2870 -> 2909 bytes lib/ipv4.ppu | Bin 3304 -> 3743 bytes lib/libpconsole.a | Bin 271148 -> 271148 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/net.ppu | Bin 3623 -> 3623 bytes lib/nettypes.ppu | Bin 8211 -> 8368 bytes lib/netutils.ppu | Bin 4026 -> 4824 bytes lib/shell.ppu | Bin 4916 -> 4916 bytes lib/terminal.ppu | Bin 11999 -> 11999 bytes src/driver/net/include/nettypes.pas | 1 + src/driver/net/include/netutils.pas | 34 +++++++++++++++++- src/driver/net/l2/eth2.pas | 14 ++------ src/driver/net/l3/arp.pas | 8 +++-- src/driver/net/l3/ipv4.pas | 54 +++++++++++++++++++++++++--- src/driver/netdev/E1000.pas | 8 +++-- src/include/asuro.pas | 4 +-- 23 files changed, 100 insertions(+), 23 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index cbf8a30ace691fb02850c97702c2902f9f366977..4de97c15d94617beda38ceaaece8e77ff022ea5d 100644 GIT binary patch delta 41740 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 delta 40992 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 diff --git a/bin/kernel.bin b/bin/kernel.bin index d5eb880502a2ff97155ff68b0b1a91bc4a083331..7742fc66308c576f00218c1eac2309b20c4b678d 100755 GIT binary patch delta 31727 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 ZC30FY9`&$xm||YmiGrA$bz^zV`!A2>{?`Bi delta 1306 zcmZ9KTTE0}6o$_R&M#^3;Fg$hS0|bS<{F=C07N1Zy^SZ#*vQnOj}O2nw+11 z7AN}@qoSBO`khN~$(gBIiP`bJvmwhVO?s%WKyh&_Yo$bE)K_C)aV)o1q90M;C~`Wy zE*}=SOj)hcL_77}v=>B+%arkzWcI5#=qplB6FP%ISDg0>*$=DRfyM5HsC8#&3`r{& zRV=S8Qb!5h#aVZpj|h1i`JSANAEnWI^P}U0CeY<+$(WMlv@Q+*5qhCwfw#;1RM>y% zZBpn;lBbpEq{>{2s3xTCH}ju18fX;1ct6q1)cyZtxfjNkK887ZP8sLk!Ixj8nmsFYt!8qM0Vn;uTI-7xxKnOOr#g9{B_zf z$(_*MDIx=S?BArFliYdT-6C=a&81)R>%!f{@1;4~57OkAJ~>6?H)seKJfWiW3!|drE{0()-=3K15%SNxSRx-H(Yhp|P@)*9cdS zhm|YXr!WUByj`$vR0Q&QT%^5dqO@P6UVIZM;73IQt_1A-q)4YQ8L;sIk%o{KwDJog z4Z|C>@ez@3qdr*3M@1ULk)VbDB+>(1qsfON{fZ})CPkWt8nW>}MVdiL$jWC$dWMFO z)%0AXxpW*N`9_aviV@dB4rancXc;r(74`3F#di@utHXUF&G!ggs33Ox^8aGO1fFI z8=F8iO$CwoVB;X7i1;GK7HlC=ieQ=tZPD~WUli0A6{LTFFE%gzott~317~K=Z+g2KE( z8eZLlT%8~2CJ)O!Or8)|>tX&~)=@WiYUWvQm~UxO-lnhON7`q84+&i&rJfr+Q8H{D zN6k&`Hr#60^ZH1TDqKkdu2il>qOujX4%j-%SF{KlT8P&1ciKkVYl4@-c_Onz`avS^ z?4mb9w7{<_rfHFn`1ax&|M-UJ33vGSrNTN&3PIwqZG|Yo1_VAGL@td%Q$lf$DZr5_ z!Pje=gEz7LLqYTfpRV3J`955IXkemf2@0=r3r{Nsgt1iNCRk~H0Ie4t?mCxy4ycmL zSgXPP5LTLNlpZOf=q8tV1(1?!SO$nKu$|J3!1#-q+(@BpjhB(I)lK*n5hZh2%`4Ya z2))si{;zKKwtt*xo<9vX(H-6&jM06b3`TYY?HVK=fQDXzLO7ZTeBISOFw)zbKH3h% zF&9;K;|4t1FYi6rjxtrU-vkx%0gW zxSj9Nx+PClH3tU(?Y3zKKdl_x-T<2C+iXsd(coUY*GcP#RUcn9l1s;-DS^G%=fo9$ zV7crOKqUoJlIN;&U5#*M9$!CcxK+P#vPNLvRxPTWL=<|$iNh7gq&+J?1G=VQD)94~ zU6XBay~WI6wwwjDGAt*Z%rmg6^762>gRB=b!&U*@mAlP2+>5Yy5!nKkG&`W*9f86p z?x`<1{Hw5&cu0FIm%v|{0renj)jm`Y?T>f$r!)CN9+MOyy9|lnkhWe?!s@1he(O-a zRJKMfymP(2+)B_5yS66gVNIK?s_Na@+z|easIIF)h0uac6yhE%#uAMU?yHTgHUdt& nMFi}2p*VkEyQVqm1|A}?JZY`S(?+e_QG6VC(jN2E+Q$C@nr6E= delta 1337 zcmYjQOGs2v7(V~KbH{n5qd8-ajyjX(Go2oi6!vg1GI|VRn+gV-x#bKsbI~a@N_!Ad z5G6lRL5ql1QEm*{gh(w4qLxwAqKFm|)UKBc`_A=V^DMsqyXX7<|D5yRbFS5&sgEQQ z`_`=Mbet!lirGX|ye$>t=DU*3p6fTA+l3H4laXd+x@B_Lt?>AxnFo4X_Y7u*E2kHZ z7cxgjs@L`I{5W@SBP+Dpb!BVgmcQ?(vb=$YN#px;j*lrdJgJP)Cibe`>`?=5m4v3C zM3BF$)l_L>Ew?FKsezjuot^EP3RQEFAW3{AKov<9WXk9?(QTs7#0snt;;)VXRq?!I zwaFr2Nq(qyajhC;!&%HPv}*pSg{DWfLqyv2duNE~3I8m*OwakOYd@9q2iFk2;a>N_ zwt$9(gdmYMqYxvA9)T`lD033&k3-_$vgwuHQKHj)+qa6&^D|#$$0Z11DF(`b?!Lr{ z^#l3c+v0-CJ!WANS0U7xmU5s6;y}Jn8j)msuJg`iZ4EL(?t)q+J3s(yBqdi|LipYM z$z5IH+SZ>)W^$Rr{5%ao%Ss(Be!Xm0nG@7ll3O6&<7)C=z|=+47UpDex+esidTcNy zC|ql|;G~s?OR}T|r~o zu)KA)_o?N5iHLupt~9+(67$$`JZ2kTS;jYr_;qRvEPIq_GlJVlrt-OhK3YIRx1I3T zO8A6`de+@B;HTCK;5SPL6+a|jIASH9N0odcl;sltzKIS{r;$t#76vi3c*fsWHo^M; zj4_xsBY9NM!MpeiRap+hhln#Oa_dTT4RGnsvmN%%i!FZzB7gP=CyHQQxY0qGRBzuj zTrV<{NJQY39j2f>o2Oqtk{K!J!+Kg!NLwf@sL?F!5HZB4X2+N{#Ar}D$;p0U0JZkuh6!z>q~Km*V* jqUW%yxYycw-=f+s)nPq#0?o74y-?+#IX{~5tF-bTWX!}6 diff --git a/lib/asuro.ppu b/lib/asuro.ppu index 3602fe0995b857776b00b27fc9b099717df3377a..73596195d1ca7d6aa652fa7eb454a4304465dfbb 100644 GIT binary patch delta 45 zcmca0a6w>#2#3p}cXb?9e;p^v7%|yeYz$b$%6NYBXI3Ldc4I3;b1MVG%{uHVi~xcE B4y^zH delta 45 zcmca0a6w>#2!}owv#^oN1M!J6Mohc4HU=zWWo+8~nbnAq-N?$&(#ptqvktooBLFn} B41WLs diff --git a/lib/eth2.ppu b/lib/eth2.ppu index 3fef17dc534c01cf4851b4856b5503cb6b06b288..aa2bf86eaef2b9dc94674fb62d3bc10ad85633f6 100644 GIT binary patch delta 357 zcmdlcc2`U>ARyGx*p#K2k%5`vK!6g1DK`Vd;Wv98CQh2UQHFtmL35&_HWQ=SM89O& z$J=;2rf*SH0*W$lANMob&n{-Yb>q2zjEusQ&oX&4%1xGJ{>`YoS(HVS zkx_cGJ?n4A;LX--=NQEVfI1nOnG=f&<~&MwtFt>A0y1kdKSv&;*yK8nXN(q;Q#r%< zd$>6yhPsYR(N42I&mN9nqdhmOR)y8xG7#W2opJno9l$|We{F_l>vnY!u zBcsG*d)D8K(VMN=&M~rqbTTqemgmT06rSA2@r==Qaw%sRpBzw_tsp)nu_TcJD0Guk zo>v|y#99!albQz-Vdat+Q~-)_7Q`p#=ar;Zlz>D{xwPw9fubPojG{t7l1s%k#KR~) zGcOaUK$sCE$-v04fRTYg9mEn72B`^3P0uVYNi9lEVPF(t1*-wdEdwfIU|?Zb52RJW ziba4VhigejNM%84G0+0I(v4uH3=G>D87vtTz-mQ-B(txhGtdsWvYk+6hk&#MNR_B8 QkYp)JO)dkuUY}bJ07^tmWdHyG diff --git a/lib/ipv4.ppu b/lib/ipv4.ppu index c25761f7226b64a0c179405ac9e6cdc85e608dd4..4f6815176b5f9cecac4995339a39e7b647df627d 100644 GIT binary patch delta 1225 zcmb7CTWAwO6ume5NV0kKVUpIwCao>_Q55WhqJmUfgyN%7ss*jYHQmO=BpWtsZBeWs zLInluAmRfR(Jw&+AD|YLiU`^d5x)e%2Z*9#1^-0!&TbY(zZ}?^*>lgGnS1VeKmU9~ zQ#!qAX?v%55J74mT-4Djt-qU-8uL0$#`ol{M%(($fuTYgS$Xsrw93tGW2#|vsv z&1vSjxkHz~hyw?v##T;v%a*AZbLCgh4(}Vec=;>kf>6|~ecg8_BjYoJ{NG3a)_6%P zzr7WjJb9yOp$qP|^nCfz`nG%C*ovDRl!=))a(lB2wmhG0H#j8a^|Dpo^ZCQ%u4Law zj)DTJ+TdCuiJqd21H0K+bAD+O&aqx?Rfdm>y=BYsTRsW(1k$jAn%RS3a%c1 z31GxgCrJQCx!g)iUwU&#Mlb4gU<@m=+@>NHaZZdILD^VQP#XrUV}W2|Iq#+46_jqQ zch04Z$GmmKCI)PD6?{nvi+Mt{nVk-%sE9kkCBFcO C27a$`(1lBx%az%-}m0V@4I{2_q}JpFlI+f z$Ha#S0&E%kU@HZ%Rvtd}XZyvig8*=#F;J8;+28YLNLe( zQjAWm1=216LJMqT`(qQ>#kRyDwia8%cGfGL!z_Cj%gJF^fjts_v1?+Em8B7OLdwy7 zhV4iTxXPyFE1l#Bl1AMR{EF|IlcxbwY(p;SX~NTWyRu?dEZ4nmRTeq(Lw2y6U5c-x z#s0?6qsFF`3xy16v5&7Ma<_nSNuocXhq%Z-DLI1!N?_NQ9M9s4u29htDrBkxr2?ol z8?zxC=Pd*WcWd@CacbDo

HmdLJZ6(TWo=(d=z5qY@+9!Of$9Y7-yiGxa3Z_PSkl zmT8yBHaSa%vk_*A9|)Bi)pXSkCXJP`3E#WnQ~}eG>@tygDDjDHbgM)Y0kueC5zc?O zi@fr+=n&Yf>S2bxR=;7MJxk7M-2}@ubHNHMAgC=>Nbey?s+q3sapZWa(9uIkqGncn zFR)iBr#xFsIXKNermkvx!vR*^TB4AqSvg&Fd7%Atq25ka9h@}g#!Sa^s565tryI1^ zFxO=HOHePiGO-r`JDZ6S_loZhBD|qEzD?mgQ{s2ruF|8IXEwgYU_ f$xWfo-=4@nEAkK}^_keiAzNTGT7f*=){guG?>?kY diff --git a/lib/libpconsole.a b/lib/libpconsole.a index f01c44e01a2a98ef3ed16dbc1c8281c35d8337c5..14a9ac8678bb53dcbb05f20067aeeb3794835614 100644 GIT binary patch delta 3484 zcmZWsdvH|c6`yl9FX95581tYZSz{_r49g}JBsy9e2ZqYJiLgx~28fUeGY}y%qf{Ue zDP?M#VOB298DEgn6d4Qwa!n3C8dqhQBtlrlLRu-T9Yjl0giz2#k$!h??)Tl*|L*Uc z-+6rJ@!fmdkGk5Ax`H`zGmDFh4&}9GM<2E~rt4?2zi~tXM?S?qO!=8-^)$EJT{OLT zddYNyZIF8Js540hm^;M=dJAk|u4lfaX#!{k&vk0PX-Rshcn->l?&%$pMZuqdPjfwx zqt7p?QqssZ^y#h#_9=<075sGHVsPr7UwkRWx_9>PCD58yKBC|L%c-$~E}s(U-<7pU zt=_(1Pn=AuzUpHIsup#|OHKZ=VP)f8K10!(R<4s8%{$wt*Q|a}3iQKkHY*T#W~&8i z_0n~3nbqiQ%(0~D`pl*Q<=Xw*oJ1=F@}2{q-qyTIaSMa#8J1eFer;4`+pxc1(zJ&C zer@rasrnm-R!AY$=Yo&C_hX{|hpv@Uth?SEkU$t#>w&-80-g!|Lu&Q#kr^tWyT3qz z+7lPl8EQYVIT$+qjMQl1BR;+N%ta~CkA1dE0&?Arep=iL*6jc zp!zm35)<}Aiq4mmSZ^49Npb{mg6{o#o0`7Ck=;_Q4UYKq$c+jq;BtUH3c2E;L!qD( zoIr(lfs-$fgRRmf3&l=JBjLiQHCzvIAO&8MB&}iC$AL8PE27a>gQ#t|>TKBvaXgp_ zJEZ}O&3IpuS#+&OA)#{um*+#b;=8BV`JrMX+42S8r0=#vns)G`pYkJx@T}rTJaANb z6nr%}+%^N|%Z9M)epr`ejT^T;1Q!w{5}9NJhvvZ^<+;fZ`=n=maAXc>C&o{t^~a$= zJj84J$KOVq?tumD4L~~4a8DU`hhJTeLG*k^uPu|LBZ zq|(_+N3JmpB!=NBzU0Ega;sTX&{pjo>1dnV@FYZeFyn1yT>BGvZZ4`f2Z!@;f+U%j zzGtam1*V|7$&K+mC7UX8JS%}QhS@-wh2Y}+d$2 z1NAS$Dg4z!JZ_fnHNi5YvUo}c9;m_Vriz3?DY@2TAD>)?S1sXM%%qD?;V^$vhr^a| zjM+=4>M>V)<*rK2o7YUIpTu92e|HK5lOmmueGU8&inS&VHo!t!RyG2A|xDR}}Z$ z^Z2bo*P3xep>aXHArT2Qk9K~5N!qN*arEDKOr)A8Fh#q(dQvuVsX}c7G~k!3T=df+4Sgg%!}3~{2t!HiM`lo z_1#G2-hRu}NNp+4IxedcO?6&4Rv$PSt6y@;(i?vjAL7J&WA70|ddlisI)~35~Mithl8T)|tU4?)?hf{Qk3^SLEAS{_y#U~&axx%CGa3`-sEUg^jW`g c%%>=U8z#qzWB=f4H>6|7Huq_%JFXx94{wERUjP6A delta 3484 zcmZWseQ;FO6`yl9U&IAAG3JAYWR0mfF)Ry0AUawa2ZqYJiLfS-28fUeGY}y%qf{Ue zDP^k7Fe{JdOszsnBQh8Q7xq>-y(`OdlcQ~&lJNmGrAzeS4{f#3EIPxj>V#;C>}>wSb@QUjk0u^YbsISoh9(Q39=T)uZ~IznB~===3Rp{#|La z)aq>u_r}Sj>MB20pmK3Xywv0`A5u2n6-A2HxN5!BXx=$Ky?V_ZPWo;Kq-lr#`cr`^+He92 z#6!GxVC)^Vc{(g)ZveW$a@AE1Bho55rChxT)=Ci%E(SG(9C;EFWQtw2Hd`^hKCWH~ zo0RD{Pr=6$MfKjbc74w?N}s`<&q0>O&ftG&St2U>%&cdgq2DsuDlY3#I%2}0&m?1c}f>*gS#c_It(3> zD1aE0flhmSLa8V^axgib`k!#5Q!oMrv^fD1$+O6jYc?kMcSr*|^bYK?y2D~C%Ykx| zAwhd2buzV7I&!r7#3X*N5GP9d#E;O{J<1@bEw{ z6sRc*o)HY~R%#ZD!KqO4!IQR45a$!5(%VI2{s!fWB#gUc5m*GXA+dLF$LK^NCl)#~ zNx1NE@Pa*wXsu}Jmyks5*?2pBH2_}CH9n52y_o%jTKzs{s<+rELu?g9I1wPX)Dcfd z9(UY9-DhDkWtBVf_=At;yaWwR~^)3S`B6=(<35~;MpF;OP7 zA87RmIA!B@jzIDliHU3fii@GaYSn8=inD4`#frjB9@!&&x&i=HPH1j*}$w z()TPAtiU8xH@PvMr)5(`j^`vW#xNTwvk+XIKONiUkO-Ezx{_w$2U5fr?#Br#nAj`7 zwrNEYul^Z^mBY%1af>2}^^THAkdiqt4{d8&=fho+$@!1rc5~S&RE3$`Uyg%jXbv}E zGEm=QoWx%(!V_lsUKcDgDvPIN;Qng7VX87!%VvLG!F46wK!x6 zN0~izx(;)-SMI6Mym?J@<|+IY`B&lk=xCS;uweXe)J#MyVb>b$HZ!EK@Xf;a1%*rK z)peM}+0Wo1>lo{B#L|nfEE0UzQZ?ZB=HreAaj7=q^-+cR?Ce8o+lJQ2X7H(PcvW%F zzkuH=biE0O6&e%7n-Y;g^J&+In54~~7)Sq&$3&`r5>vD*D|V9eC3I_9g;m_L6UEEc z{Ibp9;%5BXbU^iQ;4*Ih1GXx>od5I+{@IS-*d2>I_r&7&UW>)O`z*}De}dUgBh+&K zXS=1M(1!wlaX1!VeKQt+%dt5Aomf1+I~HfXZ($bxt)XsYwWvHHNNSpCw|mfrZQ_z1_(jJ-z;>1nHP=^Q?XHEO*C zdI9Lw|A_0h#tCvP7Dh&f8vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je Yl1gyMdFR7JPHb~QK5}&V7M*7T0GhvuFaQ7m delta 490 zcmbR9igC^>#tCvPCgx_w8vRP3U?ke%kTUE5-Jh9Ec)Q`b=5}WU63!(5d87Hqb=btRYBD7gecON64DbNWB z7i?BA(ts-$+ni*&3KA5X1+1aQ09l3*BdVCVHW%2RfVwKcPhxY3BL_tD<^-1=P-8$o z_w$xyoSZK&usPQADpWZ{_#Y%dHV62rAlcd%cnXPE6#9rC;_(C*@y+?E$xt~E?`=je Yl1gyMdFR7JPHb~QK5}&V7M*7T0BGHb2><{9 diff --git a/lib/libpsystem.a b/lib/libpsystem.a index e6fee17c9683d8dc563a6d50c7a3f5cbc117d397..2f298495fffd494fb2a1ba66a052766d92f97623 100644 GIT binary patch delta 4019 zcmZWse{faB6`pg&1V~;;Abl^T5F$FLk-kP4Xt0f;aZt*SBr-5CQk*y8#d(R1Jf;i` zwlTC=#SRW3x6RrSCDuZ*7(ljiXpHhkf|!?(X4Iw(KU2oG)&j=ScAz7rXYcOW+?%|= z&iC!^w`b3ubN0S%XS24Q&1xCpPF~c)j8p5(>#(!?HAZPAjXX5PWx^ETH z@7_7H=FFR;7Kow-XKm~4&P37N1$l1sf?vw&=nw>!x!JRGg2dnF_=%L`jf(2AP~i4m zESCB6(j%!mzROfm3#^qZ%J-NV3c4%Gd)(ZzZ1-wLrYwKpq~2bnb~5Py2bjHWE&V+=~IoxnR$fC#3 zY1P9Gllh)1WGs1_9jI_)$*)vgWMchsaKFDXq~n|#f(m!2sYrHiG@A&f+|G^XycMY@ z`?NR@eI@%F&-f@g)HLAVs7TJ-dNe?|Gq-wLZu0p|`HiPLAJI40k-P5H=a$L~2kc2T@xM2GL{;TtIpxjYvQ~tWWU)Kt&0Z0^ z1w!)X(H`wfOGAw;dCRV=aZBFPp)cs9Ew88evUWN(?o(a8Dv8@x-6~g~co*EPF5jqp zs_S*V8CTFE*?jW%BdNCZDC*FuQBjgyj$aX@H>Ou92lz_L_AHx}{foW$x#kir$RsF9I{FzvykP zrcmGgWeW1<>6SH|b1F!2S%00EDCpK-PkYy0dBbE1hq744Z>D{2tNw%=955Wx>L_3` z158ROV!S?zNc{wA@pu++t5R4H?iOu(ASB8XP%TqcV?b0jL4!!-fo_VbZ&irCe7LOc z{PFCNxLyG5xFrlB5I@d`;j6Den$@elquj)^li^Nv5$;Rbc{ptfbUC_z-W3LaM81*Unbqu1b;V%TRwr?4R0 z>rGsB4;%+^cL^WGIy1a1rePHV=f;-9~0^-mE z5W?5WMhuwN&KnhDR|VhdF!#{{=2QeIzW3nA3t`Yk04XRe)SQIiONf`N;3^k;SVUv6 z6u-9&zGgEWlPjQbjCmR(N-F}GdIapl5Jp;53gVshK$(y;{>Y<{&wG1gHLMlE{cB+y zqcHY820vpI$D{Qy+!h6)GkE9;o3iBiSUnfXjDnY*_?HcE%2YEISuKV(fq9=)S=I`| zI+5|SCwV5)J)7)TCQFU`DVT>#B}N@C*vd)dVL|wW-Zb*G%8XC8LAH6SXu4Rp9ZpbI zp{wv`l~W)5i*w53k@$l; zc1ZIIOzDt$zZW8R+Qba}=D)#yhAOSb|7xv@Ye6mIS*zrR)gn`Cp#X=g(DUg^hNFCP z8z*MsAICWUJ&?v&t8JXaevxUkGIN4jYbJSGI6cqteeBgC@vM^@wmM`QolTR2I;W;- zotCLV9pYJM%XF(lrioM4qzt?=!=7O%>ePv{nOe&!wpxlu;#rF@pN&l8)5_V_Cr_un zRL7}(QYLPm8`uMBjJ0Clv07vrt&`)Nu4Y8Aib$|>mBav#Ky7hM-G2gDJ%%5bzk4K!J)psaI<6j zI=wS-?A+{_cU&ke2&c91?nd?!lT8jcAu_pV;#QuZdS)Ci|J?4ZuppdnZFMGL_cPAh zqg$qKwBxor{-!SocjMp=hubxMhvjf_@1(7dv^s<4MWms)c;rPVt@=aZubq#4JQ8m{ zrRdWZ3tx7M%gq}f#+viaReqPlSpQe&8H=R)i!D0;;rRa>6Vv*sWg>X&Q>WYcKbN6P A9RL6T delta 4019 zcmZWse{faB6`pg&1V~;;Abl^T5K`)(M*5nXf?ykiaZuz(5*Zj6DbAbl;=II09#aMe z+ZbA`Vh4wiTeCW1iM3EH29T{B8l$|CAm$~c8MP_H&y=yPwSaN79q35u*}Ho-_a^VJ z^L@Mf?b);EoV{=BnXIj6vYHFWeDAK=rEg51F~c)j8p5(>#(!?IAZPX=XJTn|?RSdk z_uW}{&YC+*Ef7Tw&YIS5ITJ;57v#Ck^M56)qeBo_=4O}X1c|@T@)Ie?8x_@Kp}_6C zP%QK3rbkk@{D7&V7FZ*fm+v++6m*xD_qe%b+3uB$Oj&;43BA2Y?Qqt(O$&Nj?#_0< zo|!GH?|reV(-|N4>5PwSoe2q}bEx4SkVTK3 z)vAXYCi6X2$XN0eJ5b@ql3%H~$i%v1;6At^q~n|#f(m!2sYrHiFq;Ub+|CVWy%nh^ z`m{I?eI@%FPx~l2)HLAVs7TJ-awI^wGq-qJZt}TI`HiPKA_sOnamBei;ZDr)0<3uva|qpB^w7qDqs*T^}S_n37Gx^ph~%G}R66}=hNUj$}Uf6?1o zO`*R1%M|3z)h%l{=Twm5vi=$`QP8cwmiDf@^18_s4rQ^7-$?u1R{aUrJ774Z)ltA? z2AGsm#CUxak@_jr;;}5?R;92Y+%4L6Lr9b*pjxJ?#(=15f(DVu1Kku=->MLO`EW_y z`D583ajgK_adQ|#Abye$!&hH{G^%`6y-jL(J5MM84PL&_k5_ZmpV08&%ba~;fyTR611hy608&s`s5uG2mk=*i!4)p{u!zQB z3EsODzGgEWlgpuSjCmR(N-F}GdKm1(5Jp-w2gEz;fHEOx{NYC+pZE60YFI0R`_{lX zMq%uG6n@Sqjz{WYxGf4or}5z9Hf722v3f3&83ivr@h|J)q^V{qvRVvn1oJ+rvaA(^ zbt2?!-DW}y=mkrl^LIGg>3Uw(R8tP8yu&s z#yfurT%Dc_@g^6MJc_E!$I50f50~Q1vD7ZLV%H1Mt%~E^gt7Q|E7)%VRi!lMuTpG( zDS!oG@349J%uYB8x%wsZH5Ii3cE1u_MYtQO*10!q{vCUSWO8&)?Bnoxe&Y4^pbB9V z=nwZ(baHh^8{S)GCMEh3EcgTbhOqc}M(CNdJg$XO=Yv9owa~7MJQ0&0TOl%y5Prhr>Z7Mlgs#A!RZe~IFU~2CN8%6Y z*dfg;Fr`E0Jzj|1X%jQ>+y4gp8LG4z|Eskst_HP;XRVU!R*Oung#sL|LeHnm8IJPF zZJd~ie;niZ_dptBt+sIv`$eYF%FGFBt)Ap*;q*Mm_pw)p#IsIr*y@mJbT&>7>YSXW zby}tdb%tM`kk!gI2)LNg2tP>6OI!@>E zGjVRh?xDtz##oE~<#AsplR8)GetJ{u);ZkQiH&31j~)K1Qdkg9>%P8my+eI{!6wJ_ zb$Vyw*ty9u@3>G{5Ke31U5)G|CYu~?LS%B!#4S8Q^~^Y4`i0$DVL>?E+UiWg?x&r% zN4HGfXvb}H{7qjF?#99G4!3Li4$I-<-a%U*ZgmFDi%3Ip@$gGdTJ?v*7oCrMJQ8m{ zrRdWZ3xDktmzy^}j5X(+EBr2pvHq{l(-ukf7h81x!}0$&CZ_dM%S7<#r%t!?e*-#D A;s5{u diff --git a/lib/net.ppu b/lib/net.ppu index d85036f64060c57489bdb081c4a79a1e4dc70626..773402f00b2e35c0bb81ce4738436be8ad1e35e8 100644 GIT binary patch delta 70 zcmZ23vs`AvblJz-csr(VQB-080*<`YlG2jQoZ{ntM*G>ttha95QpYXvWuCP8x>?L@ YAQjAsMFn#nrMuPH9Szy+#dDVt0Fa~^f&c&j delta 70 zcmZ23vs`AvblJKs`_`oD*zRKh0*<`YlG2jQoMIVcSFZ=ZmsoAwQpYXP>!5D`>-M@V YkP7C+qJkMW`R%x-&S2Z@#dDVt0Kjb;SO5S3 diff --git a/lib/nettypes.ppu b/lib/nettypes.ppu index 1877512e4976fa7eae866ac9a21e99ee84d7f92d..54a50249a94df23be258e6b2b73a7c5caee5e4df 100644 GIT binary patch delta 403 zcmbR2u)$F=ARyGx*p#K2k%5`vK!6fMhXMn`<88bh)3+!p$ulr8Bu-Q`WWOfCV;mILw`82_+<$Y>B7%=#g^c?m0z928cRm})CgOTCrt-iVes0QU7yevBo#eH`9-hQ9<1Z%Yxxke^VXtuU~Ujd)t1(caKIO0wKCNf|OX| z0qlukmbefW$M7UiHtQ~V;vXrfmhW&JHVa#YC zAx22>2NE>Vgop;bLF0u#FMtH6aPIp;g) zeV@MPea?H%`+cX0#Neha54ev?;S!%E0^+@8LVOwD{AqRD!ykl%5WT1@HKCb^`1RQSHL>3*sV)@r*~xu{@4q?z z%-%Q8{YhCPs`S*_-cK12v`|>pFrM9$vlVGFW|7sZ^{SSuB4n*<$5dOV+JQSLZ*ifm zN)9Je(e2)NG?f}oM3bJrSTdEo0CTcg3Msr&VChkHr^}I{D}{$H)l?3xFNJn#t6OYS zjZ5g4^lGzhs-@J_Vgwv$TPd_&d$lOnm6bzRTTsarbX#k+w)FS(N^32BhlgmPTB%w? zwJz1VRqIi0m1?V1>s4)899lJvGO2qBsaC_?Qb%vAF~Jr#t`;8GaQj#B}1 zh85Y_u(X|9Bd3vq zd^5-Wt@8eE9v{`aO7R4$gBxd!QSFcs@d zjzszs!`s7=U}CU)I2E-XG;Y{#7+1|-L3T}Pt}|r@i3!j_S0O(tq_@R1E``s6x8VuB z%S1AByT%GdAUid3g@x?I6K^J!`i;3sjARITTa>ciNNh!f;{YazmM3h&Ys(175<9zY zmND6xjB8pokFA^yC5-AYZotT7Tocg92w^CFs1D<4jAV$bx)W8GUF>)(2{BhJN3`_Y zi~}~~WNIK5e=OCn!W?-#JP@of%nX4Uye9Nqc)#Oiyj)Wm<%B5Xs3gt4F_%XxLmV8W zz$#DkSrL^N0eqQg8MLXayMc-sz?Wtwna9;=GMqoMHY)(kuYE9@Or$zY|)uGN*V^a6o)W0JPhDDaU7>XBO0Cn24vBjC{;gW*0MZY%EwyZih5qTzTYQC|<+Mu4BdZbW^PkPUX~ zy#^r*J~{mqoAs`V$(zwoiJ!aKujph> z0XePwoL%H(_6|g&WsdzvKWX?L`Wfg%Taz2Xt+JRogtvZkyI%h>f>0*#WTeQ;=aq*O)_HRx!@x&bfH@J(u6gmKgKsNXQ{%XUtt?!%D#l-!($ z>u+C+p)*eu^QBaN>)SC@CXdxh#VoPlk_^P1%CNfTw(}^NcV#FZR0`87cbdL3L$yt* zcv7XG!Nr8RStJX5E}3DHVg`iOwElVkyadD&2fKu<(THb(SgTC%;$3H6$Wv3wOsxjt zzX;KxK>Tl^UV}_ibsBXXD5hBHCy&ONe72b3%W7;apD7gZ0@1*i0OYBZey(Jb0@9X^ z^l9X2AWi>Q0_kNYoIa2qM^Z8mj1;c}VJ-o2)kqg6piu+P+LMuH(`05QksjTjDMs`z zYtqQKfm{!a^mm|b-kZ;47C@V|U+)0QBInqV+$eacZ7KiZ#*n)yQN62#%u*J@))gly zw90Ar4TQBx{cWMe3!gqa8)hf7#rb)82EThl8TVU`2%{kukEMbm8e0AvHIMDmjbG<_ n#_}^o+W}PRXWJ0ewnyj&q~^(z;ylfx$T@!W$)p-AXyp9A4~*b} delta 1351 zcmZ9MOGs2<6vw|acOKV!9mknzGGCR77J3KCVvh4hta~C#$25TPvS?u1W^x<4SY}}RSvRgH zK|+PXL}4f4;8jb_AbJx*`6p}U%j7rPcDY@dk$aS8Ict41E>xU}$I@{^AoNyi?RjxQAR3LTNF!jrESAul8?21sK z{N;+2jPcA`ZuTfoH>F1|X%YPjysI3ceNxp<^cBHW&L>lXv~mZ>vE`KU6`~(s4e1cR zwjeG+D8~-%2N|)*0h8p4IC$<}*j6t?Q!P8!Ibh07qy99!8IDj?D*DNDUYNGbpdh`% zT6BWbkUJRp@;-Rk@_MfPUB)2yF!JTI+vh`@<)kSOWs@4wm*BnO2-V2n`iXIVEp}|b zUQnUmYG9rL$O{Z^AdIgq7=UJU2hgB}E+WYC3M1daC_JiV<}HRL@7YlKc8wcmPj;v! z`cD{Z?BUt17WVd)z*I7WXvyuf>U`on>5idvSu>9^$$;X8OxvYitZHUzy@oqU)bh4%#NWtK#)P;eO^yLvjo=U4` zh$%>&tn`$UNAB`0jx$XG7qlyNVem?OORFGNH)fF7g$We~fXxV%fwuT)gP;P7XaZ4V z5N>GC*idF9jWt@%oEb_F591A5U@O3o0Tx3S8z9yiZ^)s#g|_9Y`hlugE_U%!vLE-U znSFJD$Tq$ngsUxX0&WZF%2g}nY6I!9crw+O9%;1>rN|`fL@&@VAPSU0d(RG~)Bmv^ ztFffK?``z)t9WGmgkV7C75T;6sJ}pHk;8Z%TYYD%_}q#@_*3iZY&)1Zl^Mw3F8pNf K;H4txe4)R`eZ-0Y diff --git a/lib/shell.ppu b/lib/shell.ppu index c9449a7a8c76c21f303f269de732b6ac9347c603..e2b23d834453c029965676dae4e03f1ade928131 100644 GIT binary patch delta 19 bcmdm@wnc5iJ`R^f@9H?J{yJ_vmL~)NT387b delta 19 bcmdm@wnc5iJ`Q~@W?>_j2jUx#= 6 then begin + for i:=0 to 5 do begin + stringToMAC[i]:= stringToInt(STRLL_Get(Mac_Delim, i)); + end; + end; +end; + +function stringToIPv4(str : pchar) : puint8; +var + IP_Delim : PLinkedListBase; + i : uint32; + +begin + stringToIPv4:= puint8(kalloc(6)); + IP_Delim:= STRLL_FromString(str, '.'); + if STRLL_Size(IP_Delim) >= 4 then begin + for i:=0 to 3 do begin + stringToIPv4[i]:= stringToInt(STRLL_Get(IP_Delim, i)); + end; + end; +end; + function IPEqual(ip1 : puint8; ip2 : puint8) : boolean; var i : uint8; diff --git a/src/driver/net/l2/eth2.pas b/src/driver/net/l2/eth2.pas index 2bf1bcb4..043c0322 100644 --- a/src/driver/net/l2/eth2.pas +++ b/src/driver/net/l2/eth2.pas @@ -16,6 +16,9 @@ procedure register; implementation +uses + arp; + var Registered : Boolean = false; EthTypes : Array[0..65535] of TRecvCallback; @@ -59,28 +62,17 @@ var begin push_trace('eth2.recv'); writeToLogLn(' L2: eth2.recv'); - //console.outputln('net.eth2', 'RECV.'); buf:= puint8(p_data); Header:= PEthernetHeader(buf); - - //console.output('net.eth2', 'DEST: '); - //writeMACAddress(@Header^.dst[0]); - //console.output('net.eth2', 'SRC: '); - //writeMACAddress(@Header^.src[0]); - proto_type:= Header^.EthTypeHi SHL 8; proto_type:= proto_type + Header^.EthTypeLo; - //console.output('net.eth2', 'PROTO: '); - //console.writehexln(proto_type); - buf:= buf + 14; copyMAC(@Header^.src[0], @p_context^.MAC.Source[0]); copyMAC(@Header^.dst[0], @p_context^.MAC.Destination[0]); if MACEqual(@Header^.dst[0], @Header^.src[0]) or MACEqual(@Header^.dst[0], @BROADCAST_MAC[0]) then begin - //console.outputln('net.eth2', 'MAC HIT'); if EthTypes[proto_type] <> nil then begin EthTypes[proto_type](void(buf), p_len - 14, p_context); end; diff --git a/src/driver/net/l3/arp.pas b/src/driver/net/l3/arp.pas index 58e425dc..0a249c4a 100644 --- a/src/driver/net/l3/arp.pas +++ b/src/driver/net/l3/arp.pas @@ -17,8 +17,9 @@ type end; procedure register; -function IPv4ToMAC(ip : puint8) : puint8; -function MACToIIPv4(mac : puint8) : puint8; +function IPv4ToMAC(ip : puint8) : puint8; +function MACToIIPv4(mac : puint8) : puint8; +procedure send(hType : uint16; pType : uint16; op : uint16; p_context : PPacketContext); implementation @@ -97,6 +98,9 @@ begin copyIPv4(@p_context^.IP.Source[0], @hdr^.Source_Protocol[0]); copyMAC(@p_context^.MAC.Destination[0], @hdr^.Destination_Hardware[0]); copyIPv4(@p_context^.IP.Destination[0], @hdr^.Destination_Protocol[0]); + if MACEqual(@p_context^.MAC.Destination[0], @NULL_MAC[0]) then begin + CopyMAC(@BROADCAST_MAC[0], @p_context^.MAC.Destination[0]); + end; eth2.send(buf, sizeof(TARPHeader), p_context); end; kfree(buf); diff --git a/src/driver/net/l3/ipv4.pas b/src/driver/net/l3/ipv4.pas index 8f0059c6..81917602 100644 --- a/src/driver/net/l3/ipv4.pas +++ b/src/driver/net/l3/ipv4.pas @@ -3,10 +3,11 @@ unit ipv4; interface uses - tracer, - util, console, terminal, + tracer, lmemorymanager, + util, console, terminal, strings, net, nettypes, netutils, netlog, + lists, eth2; procedure registerProtocol(Protocol_ID : uint8; recv_callback : TRecvCallback); @@ -15,6 +16,9 @@ procedure register; implementation +uses + arp; + var Registered : Boolean = false; Protocols : Array[0..255] of TRecvCallback; @@ -74,9 +78,49 @@ begin end; procedure terminal_command_ifconfig(params : PParamList); +var + Command, Sub, Address, Gateway, Netmask : pchar; + _Address, _Gateway, _Netmask : puint8; + context : PPacketContext; + begin push_trace('ipv4.terminal_command_ifconfig'); - if paramCount(params) > 2 then begin + if paramCount(params) > 1 then begin + Command:= GetParam(0, Params); + if StringEquals(Command, 'set') then begin + if paramCount(params) > 3 then begin + Address:= GetParam(1, Params); + Gateway:= GetParam(2, Params); + Netmask:= GetParam(3, Params); + _Address:= stringToIPv4(Address); + _Gateway:= stringToIPv4(Gateway); + _Netmask:= stringToIPv4(Netmask); + copyIPv4(_Address, @Config.Address[0]); + copyIPv4(_Gateway, @Config.Gateway[0]); + copyIPv4(_Netmask, @Config.Netmask[0]); + kfree(void(_Address)); + kfree(void(_Gateway)); + kfree(void(_Netmask)); + end else begin + writestringlnWND('Invalid number of params to call ''set''.', getTerminalHWND); + end; + end; + if StringEquals(Command, 'net') then begin + Sub:= GetParam(1, Params); + if StringEquals(Sub, 'up') then begin + Config.UP:= true; + end; + if StringEquals(Sub, 'down') then begin + Config.UP:= false; + end; + end; + context:= newPacketContext; + CopyIPv4(@Config.Gateway[0], @context^.IP.Destination[0]); + CopyIPv4(@Config.Address[0], @context^.IP.Source[0]); + CopyMAC(GetMAC, @context^.MAC.Source[0]); + CopyMAC(@NULL_MAC[0], @context^.MAC.Destination[0]); + arp.send($1, $8000, $1, context); + freePacketContext(context); end else begin writestringWND(' MAC: ', getTerminalHWND); writeMACAddress(net.GetMAC, getTerminalHWND); @@ -87,9 +131,9 @@ begin writestringWND(' Netmask: ', getTerminalHWND); writeIPv4Address(@Config.Netmask[0], getTerminalHWND); if Config.UP then - writestringlnWND(' NetUP: true', getTerminalHWND) + writestringlnWND(' NetUP: true', getTerminalHWND) else - writestringlnWND(' NetUP: false', getTerminalHWND); + writestringlnWND(' NetUP: false', getTerminalHWND); end; pop_trace; end; diff --git a/src/driver/netdev/E1000.pas b/src/driver/netdev/E1000.pas index 16cf065b..e4d2fe3b 100644 --- a/src/driver/netdev/E1000.pas +++ b/src/driver/netdev/E1000.pas @@ -605,6 +605,7 @@ end; function sendPacket(p_data : void; p_len : uint16) : sint32; var old_cur : uint8; + timeout : uint32; begin push_trace('E1000.sendPacket'); @@ -615,9 +616,12 @@ begin old_cur:= tx_curr; tx_curr:= (tx_curr + 1) MOD E1000_NUM_TX_DESC; writeCommand(REG_TXDESCTAIL, tx_curr); - while (tx_descs[old_cur]^.status AND $FF) = 0 do begin + timeout:= 10000; + while ((tx_descs[old_cur]^.status AND $FF) = 0) and (timeout > 0) do begin + dec(timeout); end; - sendPacket:= 0; + sendPacket:= 1; + if timeout > 0 then sendPacket:= 0; pop_trace; end; diff --git a/src/include/asuro.pas b/src/include/asuro.pas index 380dffc6..c824620d 100644 --- a/src/include/asuro.pas +++ b/src/include/asuro.pas @@ -9,14 +9,14 @@ const VERSION_SUB = '1'; REVISION = '677'; RELEASE = 'ia'; - LINE_COUNT = 27778; + LINE_COUNT = 27855; FILE_COUNT = 89; DRIVER_COUNT = 32; FPC_VERSION = '2.6.4'; NASM_VERSION = '2.10.09'; MAKE_VERSION = '3.81'; COMPILE_DATE = '10/05/18'; - COMPILE_TIME = '12:19:23'; + COMPILE_TIME = '13:17:01'; implementation