From 9798b158e88122a3cf63cde1321ce8ac27084e65 Mon Sep 17 00:00:00 2001 From: kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c> Date: Fri, 11 May 2018 08:12:39 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@715 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/arp.ppu | Bin 5642 -> 5687 bytes lib/asuro.ppu | Bin 2128 -> 2128 bytes lib/eth2.ppu | Bin 3093 -> 3093 bytes lib/libpconsole.a | Bin 271148 -> 271148 bytes lib/libpmultiboot.a | Bin 29980 -> 29980 bytes lib/libpsystem.a | Bin 191880 -> 191880 bytes lib/shell.ppu | Bin 4916 -> 4916 bytes lib/terminal.ppu | Bin 11999 -> 11999 bytes src/driver/net/l2/eth2.pas | 4 +--- src/driver/net/l3/arp.pas | 29 +++++++++++++++++++---------- src/include/asuro.pas | 4 ++-- 14 files changed, 22 insertions(+), 15 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index f662712da97d900aa1d252f768d7ae9e37f4ac0c..eb783cacc684c9ecf12e016deb3792171e49aefa 100644 GIT binary patch delta 11004 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 E1Bu+JyZ`_I delta 10979 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 diff --git a/bin/kernel.bin b/bin/kernel.bin index fc0ac39bcafc7362809d58aca71caacf93a8db90..f8c3ce539aa5de952bcfd8a2cc6ac1d2317bb1da 100755 GIT binary patch delta 1316 zcmY*Ye{54#6ux(T?J8N;bV(CqkWR8Kf|Dqk$p*w>=uAYnW<QJpmpIBg#b^+_>4>u( z?XcHp&BCUy7=Lum5S_#<cGB0zm}i@e;2#FrLMkDFK-F7TO@(b#t-YSpvVr~M^qlj3 z-#Pc3dtYj}A~jqQ8m0L#9Ss_2$Jht&AEG>LQQUOzoRj@14;f97Idu~uWWyO2A2~au zkAY9r{5xiipZib<)ffQp#F7vr!sI&&m?@I*YL#A1Vzvy|{Urpm@qlfa#aWI^i$Vl! zSr!jGZs0e@{tm8x=HYJ%k-NAzUI{|EJH@_dNp8htcShIEy$h1umGNGcWE<!H!-O!M z6A~CrK~wy{20i5Nq}+c&9=dcoE|Gw%j*Ny69P6`EPdKUWdVsRYnsgoYM`}$pZFjQ- zv|wFuWNo0HomX)p{`1p9@R<!@+WrO81Tc%MzF(>|{_!y((w_op!gIM^<04uBrRj(p zWmP3!5P1W@D^V^0g(Y@<hm{+zAAF%TFhE+^wGz1dVhqqzJlTmYU@M<&goZy9BXt@J z{Skyjw3xs}SrMNq;ol%$35^=BzxLIFnU9syDyDA)m23;Wvu#wJ$MDE}L4;CQsx+V0 zzeQbxrwvC6ViJdlWuG!@PSs%K<Pjla#BSE2DG;fPs64Sph*>>KDc9ze${uQ6pF`j- zD9J~J5XH%0i-WNH5zSS`X8D^+TMu1VYy1^>=jVWDyN&lnuE^7SH3Lw$Do1;0tvd)* z^)uw(_bzO196aZ#W}}g;xXwPpdh@30B(vp;Ik_v(?9xp)$LwpLXE4_OX4!(`;j0j6 z(LS)M9>?7|2aB_UajN$c6G_HCU+owT2)8($02coELKe2r$>BWv!0@$;@Uk)Fml>4! z{ZAnhftfm_79Us4({9$LjeO=}L0}DUrh+|NV`PcY>mc&)tSJi(mK<H^P|1-z+YuwK z?fzt~z(P+-9@9zBKfl#$utCR!3s7)&ufUS$?IP%xYS<;&g0MKdu=N&<Vz^4s)J?b) z>Y(fPmPj`#-rUCi@>xB0rT*l$sg;1N;&)>T4~qClE5R*%3#Rb=h^xgw8Fo;MMT7DA zPvwNf-T+kff#HuSUpnZc72~UkoUAN6XiLMH4zs3)kYZ?sEl;l!6#4cK_kRnXbVUyC zql1PuJ2>9nbA+qP(tf&ab7#8vp6{R4qes<zre2FS!#ckv+?|H<)qCJ(?%{Li3MJhW z5yy+PTRM4wrW?u|n;zWU^iacF+2b^lJzh56TD7CyUftgNN`LRGuIi57mtC8Pa(Jn% P5b-USy>!QWRCnb+Wooct delta 1288 zcmY*YZ){Ul6u-B7?Fwml7VH<rp`=@24zoC!1tHdCZ~mDq3#?xTMCWRU3=?9y7?h<Q z?X-7~VhPi?8A!U!5JHF=W_WLf;G;Dqd{IOU4H#Xd;w@`Tr5ovD?e*Mt8~8q)d(Qd& z&bjB$ed$3<de9P$;0u#DGHSxBj(z^w2l&*aP4Qu$E9)WO%L8Unb!D|@5JKy(lEl!h z0poelkybox)#>%)jA`aDXs72G8)9Pc2w<WrWdr&OoC@dyNl;c`j7T&r-6wHUplFt{ zu#_Y5@XIEe&od^f$xGB6l8PRZ^VBjFlKut!m^ikqv+)8#vWo`dD@1i$R+iGV20Y}~ zs(u>yOCUD`cLiCZlpF%5$wO{(;|x^7&)Io6cc<k3U*v)5D{%pZzp3MuPwpS<U4suy zrnI(3{OW`~Q-@zsYek&t@QwR_Z_ueDR$@cC_|ZWi(>50rAJ>9^tkmgOV~kZOHlUD1 z+eMylQ~o_qdn>tDK^{L3$YuIyISjhJRnHhTRgxU%N$Md9o$KUT`2cou{7%`_eB+$( z8W1++-~V#PN`I*Mzu@jBaLcRhvez!i2kqv-ca}uhTZc5AgURb97ERw?sR#9bhqjy- zo>xn3g7*{4ZL{hg&19y|=NXHk4y!(O6@s*B9+}<ASklNtF*Tr{mG*ADW^I}yU67Lw zF~-VWk`$eqhZXBy14+`0$|v2prgoO|9^*XeAzlXd4LoB&Hv#oS<ytqc^@Z-hjUymv z-w~K%5H!zar`e1aRZlM>Zx_WUQ$#A1eX^@aI)nwaKsr|MA<)-er)=ZFgLlEur+PtZ zM&57mCm7@#AUxVSB%)Mobm_+VF!Ql131IP$KK(b0p@l*{ognBgc#j%4>DpmPvEd$L ziG`=a2ONnxw_EkE&2;v+65}}nSqs@^H<Ltk4+Mo;?1tz&6{RY=x1tFCtsFz%t)Ub= zXoSMA3x4sO|DQh_beK%fxEoMVx)x!<KU@Ywf}KpuHV(6EGcP=Vc`)n}V(P}-%1b@C z=B)~8ff6Xx_g5#4{8k)FZ8^PYpe6hX?&5`V{KTU10C#W~ub<;u*-$R^V4KYk?b9Et z5sK{tRP%zMhm@Hf{Guhe<Zv8Tn%%gyIkLm5YY|RqZHFmGmk2lHhyTX^4S2$>o^|5` zrsac_Z|_Y+3(Cemyye-JO!+}?NE*3@wPLnGpK`)D&m#J52GUP=!DgPKt8SDkal`6F zAKon}jr*|k+<u&Cu6As0dTw*m#*cF+v6?$+7-?5V=M2T8Q9&KKZ+Lgv(dZ+e;;P&K E0gqUgW&i*H diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index fc0ac39bcafc7362809d58aca71caacf93a8db90..f8c3ce539aa5de952bcfd8a2cc6ac1d2317bb1da 100755 GIT binary patch delta 1316 zcmY*Ye{54#6ux(T?J8N;bV(CqkWR8Kf|Dqk$p*w>=uAYnW<QJpmpIBg#b^+_>4>u( z?XcHp&BCUy7=Lum5S_#<cGB0zm}i@e;2#FrLMkDFK-F7TO@(b#t-YSpvVr~M^qlj3 z-#Pc3dtYj}A~jqQ8m0L#9Ss_2$Jht&AEG>LQQUOzoRj@14;f97Idu~uWWyO2A2~au zkAY9r{5xiipZib<)ffQp#F7vr!sI&&m?@I*YL#A1Vzvy|{Urpm@qlfa#aWI^i$Vl! zSr!jGZs0e@{tm8x=HYJ%k-NAzUI{|EJH@_dNp8htcShIEy$h1umGNGcWE<!H!-O!M z6A~CrK~wy{20i5Nq}+c&9=dcoE|Gw%j*Ny69P6`EPdKUWdVsRYnsgoYM`}$pZFjQ- zv|wFuWNo0HomX)p{`1p9@R<!@+WrO81Tc%MzF(>|{_!y((w_op!gIM^<04uBrRj(p zWmP3!5P1W@D^V^0g(Y@<hm{+zAAF%TFhE+^wGz1dVhqqzJlTmYU@M<&goZy9BXt@J z{Skyjw3xs}SrMNq;ol%$35^=BzxLIFnU9syDyDA)m23;Wvu#wJ$MDE}L4;CQsx+V0 zzeQbxrwvC6ViJdlWuG!@PSs%K<Pjla#BSE2DG;fPs64Sph*>>KDc9ze${uQ6pF`j- zD9J~J5XH%0i-WNH5zSS`X8D^+TMu1VYy1^>=jVWDyN&lnuE^7SH3Lw$Do1;0tvd)* z^)uw(_bzO196aZ#W}}g;xXwPpdh@30B(vp;Ik_v(?9xp)$LwpLXE4_OX4!(`;j0j6 z(LS)M9>?7|2aB_UajN$c6G_HCU+owT2)8($02coELKe2r$>BWv!0@$;@Uk)Fml>4! z{ZAnhftfm_79Us4({9$LjeO=}L0}DUrh+|NV`PcY>mc&)tSJi(mK<H^P|1-z+YuwK z?fzt~z(P+-9@9zBKfl#$utCR!3s7)&ufUS$?IP%xYS<;&g0MKdu=N&<Vz^4s)J?b) z>Y(fPmPj`#-rUCi@>xB0rT*l$sg;1N;&)>T4~qClE5R*%3#Rb=h^xgw8Fo;MMT7DA zPvwNf-T+kff#HuSUpnZc72~UkoUAN6XiLMH4zs3)kYZ?sEl;l!6#4cK_kRnXbVUyC zql1PuJ2>9nbA+qP(tf&ab7#8vp6{R4qes<zre2FS!#ckv+?|H<)qCJ(?%{Li3MJhW z5yy+PTRM4wrW?u|n;zWU^iacF+2b^lJzh56TD7CyUftgNN`LRGuIi57mtC8Pa(Jn% P5b-USy>!QWRCnb+Wooct delta 1288 zcmY*YZ){Ul6u-B7?Fwml7VH<rp`=@24zoC!1tHdCZ~mDq3#?xTMCWRU3=?9y7?h<Q z?X-7~VhPi?8A!U!5JHF=W_WLf;G;Dqd{IOU4H#Xd;w@`Tr5ovD?e*Mt8~8q)d(Qd& z&bjB$ed$3<de9P$;0u#DGHSxBj(z^w2l&*aP4Qu$E9)WO%L8Unb!D|@5JKy(lEl!h z0poelkybox)#>%)jA`aDXs72G8)9Pc2w<WrWdr&OoC@dyNl;c`j7T&r-6wHUplFt{ zu#_Y5@XIEe&od^f$xGB6l8PRZ^VBjFlKut!m^ikqv+)8#vWo`dD@1i$R+iGV20Y}~ zs(u>yOCUD`cLiCZlpF%5$wO{(;|x^7&)Io6cc<k3U*v)5D{%pZzp3MuPwpS<U4suy zrnI(3{OW`~Q-@zsYek&t@QwR_Z_ueDR$@cC_|ZWi(>50rAJ>9^tkmgOV~kZOHlUD1 z+eMylQ~o_qdn>tDK^{L3$YuIyISjhJRnHhTRgxU%N$Md9o$KUT`2cou{7%`_eB+$( z8W1++-~V#PN`I*Mzu@jBaLcRhvez!i2kqv-ca}uhTZc5AgURb97ERw?sR#9bhqjy- zo>xn3g7*{4ZL{hg&19y|=NXHk4y!(O6@s*B9+}<ASklNtF*Tr{mG*ADW^I}yU67Lw zF~-VWk`$eqhZXBy14+`0$|v2prgoO|9^*XeAzlXd4LoB&Hv#oS<ytqc^@Z-hjUymv z-w~K%5H!zar`e1aRZlM>Zx_WUQ$#A1eX^@aI)nwaKsr|MA<)-er)=ZFgLlEur+PtZ zM&57mCm7@#AUxVSB%)Mobm_+VF!Ql131IP$KK(b0p@l*{ognBgc#j%4>DpmPvEd$L ziG`=a2ONnxw_EkE&2;v+65}}nSqs@^H<Ltk4+Mo;?1tz&6{RY=x1tFCtsFz%t)Ub= zXoSMA3x4sO|DQh_beK%fxEoMVx)x!<KU@Ywf}KpuHV(6EGcP=Vc`)n}V(P}-%1b@C z=B)~8ff6Xx_g5#4{8k)FZ8^PYpe6hX?&5`V{KTU10C#W~ub<;u*-$R^V4KYk?b9Et z5sK{tRP%zMhm@Hf{Guhe<Zv8Tn%%gyIkLm5YY|RqZHFmGmk2lHhyTX^4S2$>o^|5` zrsac_Z|_Y+3(Cemyye-JO!+}?NE*3@wPLnGpK`)D&m#J52GUP=!DgPKt8SDkal`6F zAKon}jr*|k+<u&Cu6As0dTw*m#*cF+v6?$+7-?5V=M2T8Q9&KKZ+Lgv(dZ+e;;P&K E0gqUgW&i*H diff --git a/lib/arp.ppu b/lib/arp.ppu index 29b6182ed0ee52d966a9f2b7dee5d6689d314fe6..973b83cc3bde986b94377e7b016184b2ecabe1b7 100644 GIT binary patch delta 144 zcmeCu*{-7)5D;o;Y|7Hi$iU2SAV7(MUyOl)o39~(y=TwN6b1%{kco<#%pL(>H~LmF zGNx}n!T6Ms(RcDXW?RO<&2N}*GEct1%rQBEMQHL#c6$*HMg~S^peAER1{l+1GaH97 rBjb<BR-6uuIg_h7-C0-|Sr{iD<vh$Nyt$K0lWX!~Ug6D0MO+yHgZ(6S delta 112 zcmV-$0FVE-EQ%~4P*7DdGc^Q*0RRI4z)&Ip;uQb@3l4x_2aLR#V*mgEQjsAk1Bia~ zu}yjb0XwtE0p$S!OOvhxJpoU%>;u^YliLSFvor`X0RiumW(hz6Ym=u5M*{!>`;+ns S!vPAjwhAc<0Rpq&6juRl!y_R8 diff --git a/lib/asuro.ppu b/lib/asuro.ppu index 292d9dd2c3279abc65b6be08418b6ecbb04778a4..95c73da184eff4bbc40a4de9c10a8e480131146f 100644 GIT binary patch delta 45 zcmV+|0Mh@^5YP~i6bOW%@UP>n`GJufG6Hl^u~4D~0f4jf1u_8#IXW>iIx{x2EC(b3 DzgG}& delta 45 zcmca0a6w>#2*>;DT7dyyCk9TGF=Fa=-x#onm9cX3XI3Ldb_*+G6DwoW%{uHVi~y36 B4;26a diff --git a/lib/eth2.ppu b/lib/eth2.ppu index e870da8f431bc8e9903685dd2b526477cc09f676..b73ba1f264c40f787c08ecdd5d148055bb3aac12 100644 GIT binary patch delta 51 zcmbO#F;!xM4|7q#*Ny%KY>Y9R53uDhGdfPz<w^#U6S=g3<X$d)Ao-T-Cy;#3tp@<X CZxK5H delta 51 zcmbO#F;!xM4>Nc5myP}fY>aW653uDhGdfS!<w^#U6S=g3<X$d)Ao-T-Cy;#3tp@<N Cyb%fj diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 10e8193fe704bddd9e6c838cb49ad7dacd3ad4d5..9e6f54e0b1b08550b1af90476525f207c3805053 100644 GIT binary patch delta 3484 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 delta 3484 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 diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 3025a1e30682dfb8cd913da59867f915d3ad3f36..82185242aeed3400b118f6476d2840480a4d2574 100644 GIT binary patch delta 490 zcmbR9igC^>#tCvPmX@Yw8<qT6!HmfYMq-=0SpP61cndfWF~NA^n`?RABJo=Jf5LfU zn-_3yXPWFU$_-I1U@ft^O!N<$JimorzP^H?sgaq15y)n+g<y^Ha!`#5MnG#6wHP<& z%YSA>vRP3U?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*7T09sLs3IG5A delta 490 zcmbR9igC^>#tCvP=4R%m8<qT6!HmfYMq-=0SpP61cndfWF~NA^n`?RABJo=Jf5LfU zn-_3yXPWFU$_-I1U@ft^O!N<$JimorzP^H?sgaq15y)n+g<y^Ha!`#5MnG#6wHP<& z%YSA>vRP3U?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*7T0ON3pjsO4v diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 2c153c13b3377ba3331c64b4fc1183bd688c07fa..b8bd105a4bba4ead3ff2e84836ec1306429162fa 100644 GIT binary patch delta 4019 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 A00000 delta 4019 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 Av;Y7A diff --git a/lib/shell.ppu b/lib/shell.ppu index 0613b3a0ca89e6107c65b7961d7f9aba3cf6fcec..cbe941db059a9398661b9eb89a1bc6e66a9950f6 100644 GIT binary patch delta 19 bcmdm@wnc5iK8}_JAJ#u!^Rsc|u{<FFXl)A4 delta 19 bcmdm@wnc5iK92X-wE_daP7K_5EKdjkUdst; diff --git a/lib/terminal.ppu b/lib/terminal.ppu index 3055aaa912f9ddfec2c5c9c4e15469226ea54e8d..e2e90637a05ed7cb6ea202e7082b506fb11fc6ca 100644 GIT binary patch delta 21 dcmcZ~dp~vqA0tQ0f)DE-uld=yS&Z?dE&zG$3d{fi delta 21 dcmcZ~dp~vqA0x;6>so;UUnd4`7GpfA3jl8C31|QS diff --git a/src/driver/net/l2/eth2.pas b/src/driver/net/l2/eth2.pas index a6771bf4..a1723f9d 100644 --- a/src/driver/net/l2/eth2.pas +++ b/src/driver/net/l2/eth2.pas @@ -47,7 +47,7 @@ begin push_trace('eth2.send'); writeToLogLn(' L2: eth2.send'); if p_context <> nil then begin - size:= sizeof(TEthernetHeader) + p_len + pad + 4; + size:= sizeof(TEthernetHeader) + p_len {+ pad} + 4; buffer:= kalloc(size); copyMAC(@p_context^.MAC.Source[0], @hdr.src[0]); copyMAC(@p_context^.MAC.Destination[0], @hdr.dst[0]); @@ -57,9 +57,7 @@ begin memcpy(uint32(p_data), uint32(buffer)+sizeof(TEthernetHeader), p_len); FCS:= puint32((uint32(buffer) + size) - 4); FCS^:= crc32(puint8(buffer), size - 4); - //writehexlnWND(FCS^, getTerminalHWND); net.send(buffer, size); - //printmemoryWND(uint32(buffer), size, 16, ' ', true, getTerminalHWND); kfree(buffer); end; end; diff --git a/src/driver/net/l3/arp.pas b/src/driver/net/l3/arp.pas index 45da3122..5221918f 100644 --- a/src/driver/net/l3/arp.pas +++ b/src/driver/net/l3/arp.pas @@ -220,19 +220,28 @@ procedure terminal_command_arp(Params : PParamList); var i : uint32; elm : PARPCacheRecord; + sIP : pchar; + _IP : puint8; begin - if LL_Size(Cache) > 0 then begin - writestringlnWND('MAC IPv4', getTerminalHWND); - For i:=0 to LL_Size(Cache)-1 do begin - elm:= PARPCacheRecord(LL_Get(Cache, i)); - writeMACAddressEx(@elm^.MAC[0], getTerminalHWND); - writestringWND(' ', getTerminalHWND); - writeIPv4AddressEx(@elm^.IP[0], getTerminalHWND); - writestringlnWND(' ', getTerminalHWND); - end; + if ParamCount(Params) > 0 then begin + sIP:= getParam(0, Params); + _IP:= stringToIPv4(sIP); + sendRequest(_IP); + writestringlnWND('ARP Request Sent.', getTerminalHWND); end else begin - writestringlnWND('No entries in ARP table.', getTerminalHWND); + if LL_Size(Cache) > 0 then begin + writestringlnWND('MAC IPv4', getTerminalHWND); + For i:=0 to LL_Size(Cache)-1 do begin + elm:= PARPCacheRecord(LL_Get(Cache, i)); + writeMACAddressEx(@elm^.MAC[0], getTerminalHWND); + writestringWND(' ', getTerminalHWND); + writeIPv4AddressEx(@elm^.IP[0], getTerminalHWND); + writestringlnWND(' ', getTerminalHWND); + end; + end else begin + writestringlnWND('No entries in ARP table.', getTerminalHWND); + end; end; end; diff --git a/src/include/asuro.pas b/src/include/asuro.pas index 733a2186..abad7e7d 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 = 28025; + LINE_COUNT = 28032; FILE_COUNT = 90; DRIVER_COUNT = 32; FPC_VERSION = '2.6.4'; NASM_VERSION = '2.10.09'; MAKE_VERSION = '3.81'; COMPILE_DATE = '11/05/18'; - COMPILE_TIME = '08:34:35'; + COMPILE_TIME = '09:12:36'; implementation