From cde83a65455c41f1f166f8af74be32f40029680f Mon Sep 17 00:00:00 2001 From: kieron Date: Mon, 9 Apr 2018 12:23:33 +0000 Subject: [PATCH] git-svn-id: https://spexeah.com:8443/svn/Asuro@414 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5107712 -> 5107712 bytes bin/kernel.bin | Bin 53476 -> 53476 bytes iso/boot/asuro.bin | Bin 53476 -> 53476 bytes lib/E1000.ppu | Bin 14643 -> 15149 bytes lib/PCI.ppu | Bin 7889 -> 7889 bytes lib/USB.ppu | Bin 3725 -> 3725 bytes lib/bios_data_area.ppu | Bin 3689 -> 3689 bytes lib/kernel.ppu | Bin 4303 -> 4236 bytes lib/libpconsole.a | Bin 102784 -> 102784 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 155060 -> 155060 bytes lib/lmemorymanager.ppu | Bin 4138 -> 4138 bytes lib/tss.ppu | Bin 3231 -> 3231 bytes lib/vmemorymanager.ppu | Bin 5474 -> 5818 bytes src/driver/network/E1000.pas | 56 ++++++++++++++++++++++++++--------- src/kernel.pas | 6 ++-- src/vmemorymanager.pas | 14 +++++++++ 17 files changed, 58 insertions(+), 18 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index f17cd0c012478a955a554e8a57b3cce4791357f4..b7394e5c835be93903201ad9c77c3a904ebe2401 100644 GIT binary patch delta 16669 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%0AC#Ju;>o{ z4A?E{;adSoTLXJ$afAbJ&T#P2mcR+1INAZY0DuF9&B^L68{y?jN?%l-zQ~$RC;viR z8~k&q(W;k9i#^vvseW|cFQm0g0O!rWkexoEjE4{H`)knBO0BvADv6|Xj*~!_7;d=n zIN9ow$oY|Fq`yJ80qmb%hI8FluKe49vNAZeucf!jNO99(KrInyG7-9wH+R)jFx+z zB#Gc5nZa$SA3`P}IGo0vB8{7lL`M%$j6c}Z-JI?G9Tqej$2pQtIYm0SWMDyAbmJ-V z_t4Al0nZ|JE32+vI5^mE_u6;u0}2OK@d9q0e3}e~$64WN*zxk|`P1yBq3{fs&XC{g zE#3}kAN&Ssim3H0@eH@1q5u?mNmY6A!CENRXhr2LyE0U3gv!IT`Ydc9`Q|?7NGI7S zrGib%^^p52SX*w>FUyIyOBLrgmy_;ZMPOmk?Eo|ND3}?6v)nezzmjuKVFyrs{0xRg zZZ2@e@bKbaPiRjdwKf3Jaw=bdlQ%QZW#%*t6i$Ynlw2Tw9O%h`NdUlBz7R+zbNK5t zL}1)Q2X_Ox_??jRl0$dK!5u|zI-(`WS&=g%cNw|O$Vt0^`xdzXqL3I@*#3hG?r0pt5GdYI#s~}A}MgNFr zvy9}NayT~Nmsz@`SF2lCQwkBNF1yvi4(tK|UJ1cA0L~6;Du{0%ZelZ-Q`LHE-Gk0C z;3nsk$8NL>Qr?J{N9-Tm%=x%0B-txq9OzR) zq1`9}v&kG>oxn{R-^_jS@npg^Q$H7H`J zM_cpl`X)EI?S-ZGO6$80CTSxlr;Hq(riX&zD*;v-#=sJ>)R*R9chjRf?)D)_E18~V zHZr|Svl^LFlgdDYo~1ys8Z)<$jsOKw+6)w{+fzeE8|bDraZ!f* z*TtK9Ha10c+t3B30Iq{@oq_8rTo2)L>T0xlz~v8D7+f9UN`R{`T<^k_2G^9Xbbez~ zlaNnijn;W^QMlH@wH2;^!*vv{a=5O+^}xKRv1zoNc@oZlP=!HwB!6qPx&nO!G93G*=RoTNHGm$wR~INA0sVl&3y$Oo6j$$gu*2b=1ByHP4WPK{ zuK)$ojU~pUm@whZ#)zQ`d zCO5}1aL<5%l`q0z2jw1Hu=9@!Dt8HJF(&T*=T@`2HR+;jYimLq>V<~XpD`* zmt0L)pm>`i(MAbUb84XJZC&FXueT{(&oLuE#-8HOesgJv>04P&rK4M!f&wMml17Si zocd3`cE$k3H8Fwyqm?N{-cL`oGBpLKJFQG_xu$O64No<<2{pCRC1I<;mNmZS+~FMJ zj)4?|BgF|pimgS83ks>e;DqdD-VtFk)NyR1wVF$RZD&d|{r~oU6MU&^?>*}=ofm29 z{Xb;89%*{V0Y^ZQI0&TJ8HK(RWg36WE<^gqbW8z&_)N_=ujI~Z1g>; zJr6Y8rudtUrrPKSHaf~i(}B|J_9kyCcQAeFYF{`x=9L{xLv{1y7!zD?!_^0_WV0O8 Hx7z&Q+esDh delta 16597 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 ME7>f^^sh1h53p$6g#Z8m diff --git a/bin/kernel.bin b/bin/kernel.bin index ebd937fcfdceebea2d986ee5e7e789529d3bf8c4..b85be84a5182edf7ed3607a56edbbf9ed4467be3 100755 GIT binary patch delta 14167 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 diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index ebd937fcfdceebea2d986ee5e7e789529d3bf8c4..b85be84a5182edf7ed3607a56edbbf9ed4467be3 100755 GIT binary patch delta 14167 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 diff --git a/lib/E1000.ppu b/lib/E1000.ppu index 5be6646e3cf7a30700136ab09c76b1fad4a6ce3d..40648db7b94dc673e96bec86402011b560bb4af6 100644 GIT binary patch delta 2214 zcmZvceQXnD9LMk1-TJzA-D#0blh85{&RA-u?2q6zpCrbaP_gdqNbi4y+sAJiCs_w??`Ol;Hd@9FdX z-1oWrJ$E;)oK6)5gB!iI_2Lc?vV`lwVj;Ux5YBY`^!>%pdd|Kh2*SOQqN*&{mM=%z z+RTn$*ZlI=u(JB&Q%k|{*gkz5&Wi9OZa3DzT|8?Xf}Pl4TH@Rd0tjXhC{Yk{K*%;w z9mZa=M*q(`f+tP$;RMq$rV~sjnVwb^UohM8jL8JkZ0;O3o0q@^Rq;c!3$Eh*>_zy% zT&C7JY`vLmb#=3P8dzXigyj|+F0dT(m$3P2rZr6Km^Lz9%{0JtEmMhUl4*)*KR&XQ z!Cw5wT8Q_oX4sD_tzI~UQR^Ta#fR1x7cdO;4p`J{R=?=A7vuHZO8Qx`&sKnKHm8HJ zS)9d#)_h!Lch2Jeo^>2M)}qrs4Cm}~G_mWw!h)Lqvx-XVKPUc{I|JA8ioFS4j>UM= zUI5=tuX1#VP=q5-?SXnMn12kOojyPR{5&{}k*7C2w~IPxiFHb$kRr$90vyiIrWt`Q zWo>34v{JRwM!RX&P&`Cxigl)>-lR4jRYX&kLHT>|1RE=c!GO0anxF*dR{Ft>8!MZj8sDdJ8{V%BLJj(={ICgA zRqLS+Kc{gNE!FFx5jR!)VGxg32Vph-PU9i;)&wAc{WX4=z{@q8?H6ffV@y({NL-|; zVow>Y#b%EmCUMyFviwa%&zTWd?9ACt9yL%sno)dq9E;YZPgv#tV)@%cJ; z+C|ggOsQs9k~U*cwzdbb(nOQ=2~aJf3eJ8~G2YvkAk3;`O&S*D*no=lB%|Gg&C#)T z4ckI>DN7q9HKu#}q>vmEU@u?yC5`N%TE@uNNG;ux66#D0#^@G!m$O?nHcGXWvD-+^ zU6P`q`#2iY&_Svt41Jw6Z3_2wc1dwc9p>mZ4c*C8-%wK{azsP-b96{U4^S;TzybU7cbLJVeuPFT&Dnh1^ delta 2008 zcmZvce{54#6vyA$Ufb7S>kvEn5wh+;`uJ&T(~aB(lNZ5D16nHG=&yK{(lZ^V+#fZKGQSL73{FTUYvQ_1FC^ zEz8P$)DV5<(m($FAPvaHWtU`DOe>Tm+9?1ij zSaebHnoar|B=lJaLscxE&(y=TmZ_g9`_p*X;lQNXg*WW8@PtjmA&12NZ+G0nA+v;kI(IvRZ29My zaS&f{_Tu|xaa3L3+CHP+mFnvj@Ds^?DWBA*` z_0xL)!ym&9wFwx*&uia-N!+xk)pbCh%l#(t{GtS0N6+HJa2GEu-VcCl>sCS)zFilB z8l0kdKF(Vbf)&`lBmy4%gyJyXTe1df@tLI|h+%%|8t~(f6sNJq7lB61`a;l+XMN2O z!21;EvB|%wY=WL_&d92q%8Hcw$nS+^c-0?*0i0g{eA(Ft%LACJ_d*MPP#=N`yj>r* zpQmzZMpH%l|73#~6ihUPN^S$5Y-n+O!HblzH+rBA{f(iLJAj>yt@uxaO%Jb8z8(Lf z{5`-Y0ujd*K8q5Afkm|I%Yg;c=203dI!VpR4mqyG@$bNloR?+wTV##NYCNiK%TVw8 zOeV_E4^~o{X{=?g-K0)M$*3KvsM3|lYV-oViC34obJeW=8fj@tjtP+GF5QO9 zE*cBl*iMwBc17b#Hbw>qIND>NdpWv8M>UT2b9A49_R~l^&QW)A#9GKUwnbG1ILJ{n z(7^&qB)mSdp3_s*-u-No|GtIx-YsvdEk#riL+xNXzuc zg_}Z6>>}r=kJpRf1p?!4 zxDIFrP{V=m2w<<8dzgTnOG(R{lgg^JM%~|%A+Hr2y+LSU;Uk1PU!*oBm32x?NpvbA zggN&U=T7Ndq3v`t*3-ohA;!5|{L!PtxpXe4@K(^LAkEQV37tt0xIZQp+Y%}{b@TG? zR9?W!r%9*BI?~yWq!Nu4&N@nOGJRJ#{Rh!?j6Op;<3Tz{dx~b2bX-%iwD$o%=RRM+ zr!+^@uRncnpmwd>5I^?_h;by$Qu2IU38 aMOfj~zadQ0u~qf{pa}Q4lN+Vwo__(idZ$(Z diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 217a82457a49859d4032e3832d1047cce2438833..00c4d4ded1c6b9efc6dde3111e3662c9742fa366 100644 GIT binary patch delta 19 bcmca;d(n2nIS&4pj!%B~7TImQ_FEPJW#9^T delta 19 bcmca;d(n2nIS%W7^R2hjpKsiF?YArdWcmuS diff --git a/lib/USB.ppu b/lib/USB.ppu index a7f12dc25f6b7b220f4a3530b0c1c46c3486f324..5223d4920d2bf28824e71e49653f07db8afebcc1 100644 GIT binary patch delta 19 bcmeB`?UkKymV^JL=NmU(-N6e0R)YzZ diff --git a/lib/bios_data_area.ppu b/lib/bios_data_area.ppu index 3c206fe816c6dd0b4e3dd00d759ee6842667df83..cfc331a7c0bec008f7d5b32ce5f762cf1f567639 100644 GIT binary patch delta 21 dcmaDU^HOHRYaR~%myS<<_ZHc0{>)Rx2mp1o3OE1& delta 21 dcmaDU^HOHRYaR~ke)Fxj)1PnL{F$eW5dd`w3UdGe diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 7423f3232473a64f61487594a939a5b3b3b9044c..0706e82ae783527effea4f1d5151bd363e9c9b29 100644 GIT binary patch delta 462 zcmX@F*rTWz5D;o;Y|7Hi$iU2SAV7&BMSy|f*(~7-xn((%df-Xgor!Hgn|lUtcKGD>eYXP(8(C^uQ3O@f1wft3lUM}G2JW+^r>QxU;b zp4`YRw%LPShmp~9aw$imjSNsJTW(TjURpi_qoyD$kjucp$iNGx85qQXG#3K{vj&i6 zQj!Id?72y~iRqciK-H6lIJFsNHrsJNU=o%DN->H`14-8G+{Da0kaQSNKcnvCXFSt@ zWG$}`zXC{mW_n(JQECbUQ0xY8CZo}0C%!m7C7=vjL1Iy2ZZQK;XdPcBqy1zF{%AfG zWC{Dpjr^VUazG&-6>rxdKUbgl%)HDJpizuqcQZ2BurM%ye8ea!40#9s9`(1@r)NhhW?Q delta 480 zcmeBCJg=x25D;o;Y|7Hi$iU2SAV7&>xc~!0W|?MY+c(2nBL)Tr^NEW3tjlknjMAPM z`i;Z7-+b%s^yeEl2Q!K=N(mO1^Yj$p8W**24VV-_Qy~&GtrU6MSULSr%pe%c4dR~4}Y6=5TY$|Uiqw(bb zym5TWKpD1z#G=I9Vg{g4HeV*A!{n=c(R`}N5)PB?_&Ys8&f!t+$ys6q#wp$V2y i0g|F6sYSV&d5Jmk$@#g!Xh?}qD$WNw+F^2>fF1zTRBn?1 diff --git a/lib/libpconsole.a b/lib/libpconsole.a index c41b752d8d5ec074329182bfea54324a0447b17c..590834aa9fdbda30746f7b62b671bbcfb891fec0 100644 GIT binary patch delta 1565 zcmZXUQAkr^6vz42Tr(%A$(@uiwLnvwb0$krvmPSj77BtsEG8~UGEkz2fkFd8bc9{} zq(w-qIeHL_+0m{86@#Rr5CtDX38Y9?36si75b9oa?ws4({r%7XobTLo?svVz2Jf&z z$~M?f+e#f3V|gPfdyhP@DL^#k*8#-O`xxl>lMLcn%7|hQycZhuD2MwZA`Bk&5|7QY zLAdhRPr_pUAmQyo%A?jH9OqJ%2w}TOv{9?b!}eJ??vQk-A6TdeVIN3U_cd%{P#h z0_WlyVl%jwejpZhE?#-#=KU{fEThkqlLxgm9HKe#KHw>3iUUn%H0h&7cBZpndlnn zf6^i(mP!v|p&jiyP%%g<3Q_POlt7APl`yHSghAb_&Yg36yPxm*p7T5Rocp`JA-!)% zFJ?dKdpr3H8i1Mgq0LQshCBm3ZB-*G&is2^CY7{)%3s_tvp#Gvln z9h}6iT_Tsx&hefbCP+KqLtOcGyt<3gMT&V{dN zs9E4zT1RXK_wo#E#QGhF#l!uUdp9y(X&Sz?1~;5Vw# z0yArm2*3J7d1;;U>KDqNHz-G=l()a{GlaI1;`0b@rm_}D-QExG3g(zb$ooqLxmd?E zialAYoH1yXT4O?ym7_@?&9W<<4aTRi(};X6Gm)Sw&2ooX>*+j_@Tfn=oqYtq>fD@2K9!h+BJYvfg2D%f_xx<6 X@CHTT4yMU9c^n9H#5XU@JI@3FnBbh# delta 568 zcmezHi1EWC#tAZPhL)CQrbZi;d|08($qGhdo4Z(lF(dOAa2{Yn@WnUR^1MdjxAK2S z;)`uwz`31ivcD)NvYt}W-xzB6E%fsB6%0*{j3Mp-TMpJNFNdPJR#A&_bH4mXMr0Ff z6{V3}DZY8DiY5|YZ1XSmBS?IS&3Ci~(D<5+lmD9WPnKa3+N`F#kCD$5=p2M=HY*sZ zA!!iXoMh_4g6x2sHd2g}^W_CLzqLA#;>fD@2K9!h+BJYvfg2D%f_xx<6 X@CHTT4yMU9c^n9H#5XU@JI@3FN@SgG diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 63f081416cd96f5851ee5a9c3806caa02fbce1ff..8ec607f658e7c0b7120c31397ecd640d41c7a026 100644 GIT binary patch delta 3620 zcmZWsYfMx}6wbM#NMS9Y-KDLuo0{|?%1Z@}7O63oAlNn9s*PF#ON2IxiGA2eA{x_b zn=1Bdr&>|8MokMA9b_s}OMHcwLQ}yvtVyXgVuP>NDk(j4@141GclpKn=FB(eocYd~ zy*0-pYK}*gjU19PDJeN^^5GY2Mp^%o(j3i0?~l4a$O4%6Ev-?D9iLE~=*7R}i7DgF zO~j{Z`Fi)_=k>k`J89shzre9W-x(j}0Af=^C`@kMmn=ND1t3mea%l|Rm)xjXyCqgL zL1Lu(bI7MXY2OJa1JHZYTJ(yEQTn05;k0ea84(a?pr6Zsb(Lnmypv4D* zNiQq#(C(QY!I_)d$ zR05l>_Z9Z@D$++qr$E2FJkq*{udl;&y>ykAW*5st1*T^gUo-ajRd=QF46`od|C z+vK!!wy3tB)@_y9;(30(ZY!1;t8?O;^CBx+U5+Jg|JE*Xb-7yNLYlg#T1l@^Puo3@2Wv2fjmJa`X0y~=&5|@{uwL~{I1SVVHB9{jaj?~&S=8HbFa%3F z6^dn?4aIy-p;&HfD7K=_fzhlEGf=wVw+kX$BZI7tztv#ql1uj-_VTOJ#_G6fNta)d zk(>74kT#z!d9<--pCB**y|Jg2R@{=(HoXG3gS-N_TS-|axahIo28fw#jzC+&7^|N? zzAHCzTYr4F*-%HkJd zYnr`399}l3@8ZZ9_TvbsgP5e?S_sbw5wMkD7Q5yK$F<`Vk;QtSwL!j>6wiR!Y+xkp z76p3RJQh6~_KOV$LJ(;+oc|mRr+^%L#gUwG_SjeLvt^W1$J!u2 zns+11PK1yaB?uZl$`Z$e+N2)#!X)qj$(RZ*HaRtPO+G%>p<~#*DIhOjg8pU-r zk7pme4qYNsjxsEmBqZJ?%b-Q%#+$Z)l^272RtYsI+z^!8KLPpP zat#%+j@7md4TK){OlmBLQ01KIp0B`!&2GmJaIXeidT z0pyd*VVN`ERX`HApz`_8p7LQs*?*frj&Wm|;j(iYu-CQ*Ap{Yl7%|MV4Ss=W^Bs0Z zUceUa2;PTC6T`V;UrBU@9UenN)NlSiyU1o-U+xcPL&Un0`~$px<|wtJ-~uGrJ~`}Q zB~&Q-GEsu4F;&@yYGnkh_z4PG!x7jeHV}>wM9%8Doi4V!){czflB_N_@CLXKtG9iO z?X2%aFd-r)VcSXDnN^%t2+^~CSJ9jYp;V_^br1^ZYI3+hV4OC+=3$V^B>S*$adZDwi=BkhD%kVxD1^oA2%$* zi+6$v$KAIG@AU-};*w1mc&HGfVG+LZ*e1l^p@pop9}bBqI6x5S6?b5c>54d>2FQ*v-Y8ye6#t7ke?vZZ1s19hWbnn?r$7He%3oolg|MkxqgC3 zvw2EetP)Da2+h_S8lqKh#@SAM2D9_eX_YDBLkmCNG-V>Y*{(TSiMT-iwRJ%hfg4R) QOq%%$JKKoeeh1h72jAGUivR!s delta 3620 zcmZWsYfMx}6wbM#NMS9Y-KDLuo0{|?%0mSuTBOEUvVvWst=gz1utaF1nAnGnB%(2` zwy9!AJJpJ!HELS0=pa*(TH-6b6q*XY0h3Z|#0FojRZ@E9-aB*e-Q^eOn={{>bLKl| z_EsN{s6HN1I&w&IT3Tw#_`@$&k23$ICE1#X-5+&-kO^?_TUvt_J0YPc(Tjh{DdQ&? zo2XyY@<`X>=Sknhoviz%zreAB?2M0c0I{hd6b3i(Cri(5-4I8XTpGjnB{yj1ZiQ7( zR2Z%L9P(Jtr0=AY4v?Nn&7?dfiX0jo&RVCOkpT$?b~?iiq;z}~xjZnrH6 z1vZ`Z74(ZLvPXrdfLvZ4Y2L%v*I_y-S>Y8AT)UDPzzxp(s{ZL#7F{T791?o3axpt5(8xK3T-f7?Y%xSy6aN6TG zIqmE%c00gox2kOMya1`)iY3PCocQLv%!*Z&VTs$mwMtx7W-oC8OWjjtORs>W?&;7; z;`U;R|J^T3ED|D>YqQz%1NL$l*rxBDSl7&1tfF$Sjn{*^n?))rTS(s%7u$TeQ3i;- zxvZYq_vey&W?b39YK&pyF&Tr=EOlnHB+VI2DxV2w-L*jtQ};j~Z1$&*dFu~`U`eM! zv5d2!n7=U;%V`P4R| z)h1z+$9J1_b#y*d5;KcDhCTSFL588QuqO&T+6@VCWI!nq?V&O+>i-b(`P?wDrlvqB zB8@a@7r5xT9Pl%LW*E?}k6{^o6an_Z%qP0Qltp}`i*Ag8N*?_*xPV5wz%C!*sN^9u z&EFpmFB{W$abyhtaRk&tOj2+yq-TT-*i6vJuerf-?f69ac<-|oD7Mm~88DjJ)eigM~$3lv9- zZsb{s5YnO)LA^(L;smfasfWKX89YEUrh<#7rG~Dl$HzQ$44*dz)a5HMkZyr`5wQO8 z{Daq_Q)Vhqjs;VM)LRJZHRr{d&@0;sUETD=0?6jS`e3-c8-do$hLK_B>mUg|!2NT< z{&KlFZk`Nu_InUT;$2Vi(zhYj7Kgr`W8?MkDT^T72Dtf>ccH`v1bAj1IL0zX;0n)J z3QGAL6B;7-2qOV>k@Ka?pjqZ7nl_)86@hwIb%Y{fv;<$X((>jg7}ZU}kd)g$0rlPr z4HfeC)s_r(gd%dr2;e|5$|^cVm%lX$46lLpa7O$};V0LDYJP(fmz1(O#+{%y6z|*s z>d6(b%318nr-@ro`Qm3!*|4GfzfGXVxW3GB**OjPYg>a5iilo}81C5yzd*F{4m%^y z=L>fP??a@K<6N<>B)Z%RkE0>$H-Dd1WFxLG_Xo2fVqQt!0Z~6=lv+^;0a9$AY<{o; z%5C~GP>QHNRr!W0+Xz_k6BO|JBd|+upaP+YoFzFOF21|Qij3ous;)5b280iq*O*m!Gx~qG1x=Y_NO`LT__0AtDChz_(J%=;?Us*0=)V|D zh=@U$c-3;QxejjGL->EXk?_(RmIqyN3kvDae?Yq~+jYNNYSfoFE>+6na&%UF!Y~Oh z-U%igci$wu*B4BPOBP}GLmMF)CgB^8EkgVqTEI*C;gF0%02F}^aeGJCXlfd8{Gze- zx2B;!{nKz1Zy%!B`diZiyltqa-fZz96rhMSnf)E1p+1v?`x{44fcFm5)N>$4Zh#`v zWSr6(YYU}(gl1_C4cRI;<18mJgZcUAw2JZaLkmCNG}}aW^IdbaVtIk$YwLn6f-oAj Qm`TPf>}(@``yE{SAF(vH;s5{u diff --git a/lib/lmemorymanager.ppu b/lib/lmemorymanager.ppu index c43c439de21322340cadc3d43dda3d4ca2a6ca67..40371b80e896eea538bce2ed77b2fe4d894b4aef 100644 GIT binary patch delta 19 bcmZ3buu5UVTn_%1j!%B~7TIlF+R6_ASWgKF delta 19 bcmZ3buu5UVTn_7g^R2hjpKsi_w3QzKS7`}E diff --git a/lib/tss.ppu b/lib/tss.ppu index 9916f0d02efca6e17fb9261cd7cf13fb8f0649ad..2f2fae2fd6310e848599cfb30581cc3e014b26f0 100644 GIT binary patch delta 19 bcmbO)IbU)@8wdYO$0xsgi|jV`3Gx5{Q)37~ delta 19 bcmbO)IbU)@8;5nj`PSR%&o^%D6XXE^Qhf+} diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index 932765557345e1500b0161095437c7764b816070..3eaa1c31385d588eaf7ec4f4f7619075ade36eef 100644 GIT binary patch delta 874 zcmZ8fO-vI}5Pq|}#s1h`x}^fa2!(1(OC_a31Vv~B)Yw8>6~TkG(n?4uG)rsrWQ>M* z!2~CIGx4b2w9$hc;NZc;pb{i8@uZR%6TR4j!G^@y?N5mB@a@}~Z{~a7y!X}p%4-jY z&-whF!YyDtTM0L_dwUp@egrlP3(7GsW9@I}&yr4@3t}4F`hwOmgFC z(Rieligv{l2_-o<$G|TY&j9RANn?$^#^U@LS5Q@9OHlEz4S!27;4?n1cEA^0t=n-hue5rm5BNnHtQ2GP9v^urgMpw^-shOz^19#Cly$TK=S(+RMBJI^k^@RFV zJRM8NCzA}?ir#=p9Bx`#I2(rs*~2w(*d^P+j$^VHoH#Fgz>Cl2?nZw_&84bc&CI6B zV!25-{*)uKNSSWcP-*oFIAT3&8luoi&1VljuwIs}lpfweiwd}AbeYB|bU~v9vA5>- z4L8xm=~OZ`t6WdTXXw-lgTp#)sOlNO<{_+c{C73QIrM(|F{LCYGNi#EShjP8im>0-{0{@Mp)LRb delta 562 zcmYjMO>7Kd82+C5W^{MPv^q1pgi@nLyW4HMX;v*#X>CH%gB2kTA}Oi~7U|8wiNrxv z))P)7t`0rOszW)f3l5q#8iGoyb!dbTkseBeZzdbrH~HS5=Xu`ud*AWYe8SJ?52d>@ z`eg_y%K1%VM@)#FH@e4Wh87+qgb@3S{%(19@kQ~(B({{gPzGIjjMrtKdT~z5cI5a+ zZZmr#5Nd`HdpV`A;bA>#Zm))7yr;X^$A@}OCLq{u_-NyLqmh@4NTwA6!U)=>ikga@ zVP%Kj`Oj1<(i~Sa?9vCLQQ`=fBSqZdNc1(XmQI>0fK#P2RxdEh(Ul+Zh$Hp{p7Chy zTV$E3yN@2u))j2^lfaT5_+K8|>c{Yy^YzVm${J@go-?KV1P?kL(P?#GVDEU%*=o*I zsyXn9)1Z9<-#Z(%&)~8O-@y%TleP%%ag*9_@Pg|Dyy>P;!?K%%&9812E_2?2b-@a+ zg1ajACdjpj5UZl>wHo-+TW!rMY%ajn?%%xQj-%3rs-7>BX|u)pp`f3kte>}HSDIRs ztoCeSuyB6(VqxIiz|i2ZK(}EiSOgqmt=tt~>tzu_5KF4LBP2R`I__KjW`+1Gc{|?x E4 0 then begin startLink(); end else if (Status AND $10) > 0 then begin @@ -392,8 +413,11 @@ begin end else if (Status AND $80) > 0 then begin handleReceive(); end; - outb($20, $20); + outb($A0, $20); + outb($20, $20); + + console.outputln('E1000 Driver', 'Interrupt End.'); end; procedure console_command_mac(params : PParamList); @@ -455,6 +479,9 @@ begin kpalloc(io_base); kpalloc(mem_base); + bus:= PCI_Info^.bus; + slot:= PCI_Info^.slot; + func:= PCI_Info^.func; setBusMaster(PCI_Info^.bus, PCI_Info^.slot, PCI_Info^.func, true); eeprom_exists:= false; @@ -475,7 +502,8 @@ begin end; IDT.set_gate(32 + PCI_Info^.interrupt_line, uint32(@fire), $08, ISR_RING_0); - enableInturrupt(); + + //enableInturrupt(); rxinit(); txinit(); @@ -544,7 +572,7 @@ var old_cur : uint8; begin - tx_descs[tx_curr]^.address:= uint32(uint32(p_data) - KERNEL_VIRTUAL_BASE); + tx_descs[tx_curr]^.address:= uint32(vtop(uint32(p_data))); tx_descs[tx_curr]^.length:= p_len; tx_descs[tx_curr]^.cmd:= CMD_EOP OR CMD_IFCS OR CMD_RS OR CMD_RPS; tx_descs[tx_curr]^.status:= 0; diff --git a/src/kernel.pas b/src/kernel.pas index 22ccdfa9..8257b191 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -36,8 +36,7 @@ uses testdriver, E1000, AHCI_OLD, - IDE, - storagemanagement; + IDE; procedure kmain(mbinfo: Pmultiboot_info_t; mbmagic: uint32); stdcall; @@ -95,7 +94,6 @@ begin terminal.registerCommand('BSOD', @terminal_command_bsod, 'Force a Panic Screen.'); drivermanagement.init(); - storagemanagement.init(); console.init(); @@ -142,7 +140,7 @@ begin testdriver.init(); E1000.init(); //AHCI_OLD.init(); - IDE.init(); + //IDE.init(); //Nothing beyond here USB.init(); pci.init(); diff --git a/src/vmemorymanager.pas b/src/vmemorymanager.pas index 42dbe03e..3e70dfdc 100644 --- a/src/vmemorymanager.pas +++ b/src/vmemorymanager.pas @@ -48,6 +48,7 @@ procedure free_page(page_number : uint16); procedure free_page_at_address(address : uint32); function new_page_directory : uint32; function new_kernel_mapped_page_directory : uint32; +function vtop(address : uint32) : uint32; implementation @@ -153,6 +154,19 @@ begin end; end; +function vtop(address : uint32) : uint32; +var + idx : uint32; + paddress : uint32; + loadd : uint32; + +begin + idx:= address SHR 22; + paddress:= uint32(KERNEL_PAGE_DIRECTORY^[idx].address) SHL 12; + loadd:= address AND $FFFFFF; + vtop:= paddress + loadd; +end; + function new_page(page_number : uint16) : boolean; var block : uint16;