From b15760b7f6bd9374a0b756a825d986f9214e95b5 Mon Sep 17 00:00:00 2001 From: kieron Date: Mon, 22 May 2017 20:14:50 +0000 Subject: [PATCH] d git-svn-id: https://spexeah.com:8443/svn/Asuro@199 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c --- Asuro.iso | Bin 5091328 -> 5095424 bytes bin/kernel.bin | Bin 37092 -> 41188 bytes iso/boot/asuro.bin | Bin 37092 -> 41188 bytes lib/PCI.ppu | Bin 13075 -> 15063 bytes lib/isr0.ppu | Bin 1981 -> 1981 bytes lib/isr1.ppu | Bin 1981 -> 1981 bytes lib/isr10.ppu | Bin 1994 -> 1994 bytes lib/isr11.ppu | Bin 1994 -> 1994 bytes lib/isr12.ppu | Bin 1994 -> 1994 bytes lib/isr13.ppu | Bin 2005 -> 2093 bytes lib/isr14.ppu | Bin 1994 -> 1994 bytes lib/isr15.ppu | Bin 1994 -> 1994 bytes lib/isr16.ppu | Bin 1994 -> 1994 bytes lib/isr17.ppu | Bin 1994 -> 1994 bytes lib/isr18.ppu | Bin 1994 -> 1994 bytes lib/isr2.ppu | Bin 1981 -> 1981 bytes lib/isr3.ppu | Bin 1981 -> 1981 bytes lib/isr32.ppu | Bin 1972 -> 1972 bytes lib/isr33.ppu | Bin 1983 -> 1983 bytes lib/isr4.ppu | Bin 1981 -> 1981 bytes lib/isr40.ppu | Bin 1972 -> 1972 bytes lib/isr5.ppu | Bin 1981 -> 1981 bytes lib/isr6.ppu | Bin 1981 -> 1981 bytes lib/isr7.ppu | Bin 1981 -> 1981 bytes lib/isr8.ppu | Bin 1981 -> 1981 bytes lib/isr9.ppu | Bin 1981 -> 1981 bytes lib/isr_types.ppu | Bin 1423 -> 1864 bytes lib/kernel.ppu | Bin 2344 -> 2344 bytes lib/libpconsole.a | Bin 64564 -> 64564 bytes lib/libpmultiboot.a | Bin 29040 -> 29040 bytes lib/libpsystem.a | Bin 140320 -> 140320 bytes lib/scheduler.ppu | Bin 2718 -> 2700 bytes lib/tss.ppu | Bin 3187 -> 3187 bytes lib/util.ppu | Bin 6729 -> 6729 bytes src/isr/isr13.pas | 27 ++++++---- src/isr/isr_types.pas | 8 +-- src/kernel.pas | 4 +- src/scheduler.pas | 5 +- src/tss.pas | 111 +----------------------------------------- 39 files changed, 28 insertions(+), 127 deletions(-) diff --git a/Asuro.iso b/Asuro.iso index f046ba0b41cde4e332937ee0b14c24ca268b347b..ffb95c25f1028d9fbf2ae089e1272e0af2731784 100644 GIT binary patch delta 22316 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

iZG0o9y;hyyK}6`pd~HTdi< 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

GZbZ0HF1C{ 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

CN{p!EG}d`E?~QSGq53Sao( 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 literal 37092 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 diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index 6a953ae6b3a727fade04a5af9e3da69e3fac68d9..fdf09053ab2cb0a9ddf0f3df3898709a6f583995 100755 GIT binary patch literal 41188 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

CN{p!EG}d`E?~QSGq53Sao( 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 literal 37092 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 diff --git a/lib/PCI.ppu b/lib/PCI.ppu index da2b293c55f2fd48fe84a3e71f62f7130e963d2c..881df335d5f9ef514dfdfff5cb99b70792f9bfff 100644 GIT binary patch literal 15063 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 OAbBShL@?w~`~L@i_U>r_ delta 4225 zcmZ9PdvFui6^HL#ODo#~;|CZ6HW>K3R*)s3l`#&b zA|atkcr^XPO`Oe)vXU|<--Rh)P-?C-P>l&I|TRF>O*OvL%-Fn7$zE58julQ+JHDl~kw%a#Z zE6{c?J))(uFMR%-=5e_-I9lnl%j71l=SB2_yAWp)h27o!8M^Jhk8h(1dJW%BOZ5Br zF4_)BbVL6Z-w(@d`q1O0e2<48rm*Ke{RC&6xvAV!M<07e@Kf}qr;GBrPVL$I$(!@d z+$-6f;qe&L>6ku>k~u|X?>VM7-7Z_sMuXYVy6MpO4}jxBe9f`>`bHr;fNVr8#Nd|s6zJ1 z5OMpdR!9VLL~GDY1=iND4Hz*y;$;LM?3C548m|x16T#$Y%CI*?;VRQt#f)SO+Q5EoO8Q^7UCn7E)%!Cn& z1fzjacPMI@j2}}GzmpNefK9S)k$}uy+i3zO zJ#>TCuE@+X^Wwt;egp~iq{cG3a3<%R|bhb$AU-D2AW+tuI#iTMoL0F zkWF;adJu0YqD&G(*~CUV1>%e%swLq9QDfbuoBmW;RCZPoGbABey2&D*pn|IL>2r#h zB?-}!_Bz>wQNC*WP%vS4{dpDAB11%L+V%cEMnhKNn+jbb(M&sT23k-XYHoh8{fR&* z-jN8VBGx**pn@KjL82e+9{vH{t{T1Wq9RsH!VAKFXf&c++}7$gQ^8axI`EPTF=UA7 zKzr?N!D#5(`-x&>S@c--*upLu0*-CM_{l8VQGI{m^Fz$LFy5O*cdGBtJ2b?6EQ@L< zP4=FK>5MS*n-rQfw?wot_lvf^I0Sy%hVR1kxds1$?oN6n{X<|`SRjmFEf%j2q3o&* zdmkFr$+D{Ndlo*I8I7laRygRdB>G$EkqUiIpsk&;5YRdY{Yav>p~nNY7U&}1^I-LO zYpZF9iRU@=9Z7!%jZdC+r45P|$Ngdj{!98XWdF|EQ#09HjQ%VUJ<7kJIa5}ocVK8| zc5SpXD-(VkInW|A>lu7IVbR0JhKN}4*D4*@E8&sQA~zAJ4T`?yezCI0OTV!D#5h~D zsyM|#`86fp6)>;F>Edo`sCg{?BRK45>M3z<D#&`Tw~96D3&F2LNM4;het3|Yt}s=XhUgE(D0m$v&? zr}x5RXVzQf%o>$ZozR)gUIZyK>n(TCE{Se|&SdtIK<&(Wr#t9V65S3xB(r^BRc5_& z9eSsvUxLnLwh=J*7eF4Behk?OE3?1C@+nRiA4#7~U6VclkDXaxzBB7t8TB@FCbNSe zWoCV44tiOl??GoWds(1%W_^AK?Um>aXq8#o_X=2*S>J4jzA5Qj&?2)cV4Clcm>56b zSWJD39rX7S{WCPa@v@VUphHNwaZ^{(!JFr~A>EhMYR2MBf4Ue7Kb=B5eWz-IObaF}hdX0U_ z*)D0{2c1dd3}%pNT$hFA?0`g%L#s4=XMw6Lt}n6~&Q3`9EVRhN+Ohf00rpfTOAWI# zn!@AqTnp1&?7SGXF!q+4*4G~?zlzIJSa^xpL+eWyKF~6MCF7&)ALBkZ)i%^=AGj&h zFjf1Fn|4Fpa?{m@8QLG+bg#j${l!gXjgz#`+_b2%R{O$D8ylxyepa%(p-Tii>KRB^Bo@J(zwlbm${E3nc7k^sWNtJb49}0p zS|e@PUO3DFFy##YEBL7GfQE(IjnKM)+5*^J#Mu#G6RoLsK@M*-Qh^OdEF4b;7B67D z$H86$W;NF+0+t;y7s$OtuS2{6VvIG>en@xH2!?0j1D$sK7vLXj`42R2{inp63IG`f5^ diff --git a/lib/isr0.ppu b/lib/isr0.ppu index e634af4795b5deaf4b91d0cb571821cb155cd670..1f6a494a9c994524853de1184a7a2b52d3959f92 100644 GIT binary patch delta 19 bcmdnXzn6c)3=Th?rHjwoB{OeaAj=K_PWA_L delta 19 bcmdnXzn6c)433Qs^Q>U z#pmsknI|r4WNg~3!YIk;#K^$Nz`@7>)X2af0%LHJB05=}Nsh+|YziaD6o$!xOlgc3 WlXo!nFxpLaWj@U4x0#dW3^M>#ogBgd delta 107 zcmZ20aFt&+ARyGx*p#K2k%5`vK!6g%T6PA89oCa)|GK3APk5rNA#;JM(!@Ydj*SlU ztZxL12u@to$f&hhg;A1GgoBX*sEL7rlaT?&G@87UDUH!^vH)`rqxs~y%!e7>Hz%^3 GVFmy%;~Q@P diff --git a/lib/isr14.ppu b/lib/isr14.ppu index 7f45aeaa71e20009e38a088665838f1a7bf49a8b..e09c196ea211c4e9edca1594e7126febce754406 100644 GIT binary patch delta 19 bcmX@be~N#?EDk@NrHjwoB{Oeaq`?jVQ33~? delta 19 bcmX@be~N#?ERKy1^Q>Fg25!|>ymK^|w5D9?* diff --git a/lib/isr_types.ppu b/lib/isr_types.ppu index 515543dd028b6bae73923f45f31df677fc36fa4c..949f9b432a501490bb73c5a396c126a428b621cf 100644 GIT binary patch literal 1864 zcmc&!&ref95Z>9>779Z7jhKf#`C&Ao5z)kWz!=g*qCi6-kzlNaKA{n8)7KbDj0Zh> z@!(BwhO6;vVuBY>9*hUC>dBLT0D=a;Z`*xU4tR8unVt8|x3jam^EQ>58yP(pc_hkF zZ&Urst5a%fc;m%~u_Y&>l2Qg@I^eZ9+i<=^z?QtmYSswMdrBPy}Vc)*Bl)mK7<<8QW;= z3cySQVWu^JXN1>3S&t2T%h zRU>g<++UXok)-6Oxt#_2#@iy?#mI4DR^Gs=oG4*A$%AXI1{rIZo$;6RxV}Sr?4O^9vtn)U>!dotI4wZsuX7Q zpxR|CIR0W0tX9i928_b(cu?)qLoTv9Eo%fAWnBeEISBQj+U44gpCxO^vdn)3+=U)BtR~oavQ#RR z#tS)LNoRO!HxQwCRn;y}+41w(X;;Wv21Xf#@&vV;pj`?;3Xir3h{D4gfNGapj`_D% zv&$s5*!tE1Q--0;sNGiBy1BqFCDSP|yDjq}aLQ?DWnDfGI$*j!OL|NO71PJE z&5q+kD7{2$kD!ufFbdbv*Zy$d5;SGt)qK6&X{=JNFPm9&yX)J&6CjPlSaynX55 zuiB8R{dm&WX1K3I2Dkg?uPN;n#wKtNDjj@!n~TNFN}+H&v*wpq3OQ`J%j9{7SdU?K z!q$Oxw~$BpP{M@Y1Ek0fcO$$#3@l2?FRm=%LCY2?_lcb#;Um<_CpsEe*J2)P3-2A9 zC(<*S+4)p5oyp(Hmv?vNGbmq4lf%qT(TRzviP^zS$lWvRU)NvBviDAzolP&De1{T) aVRlmqmpA7j>RWZb?C_!_UH$xPklo*UX0USr literal 1423 zcma)6TWeE65Z>A3q&cm*wP{l|#gJA+ynvK~Al{Imq11++6bx04(ZnX$HV01-Dk6fu zioW<%@IUx2=+E#?e@1MSINzKb1W^Zec6PpRX6MZAo?315!tzS|6{(o|QY))%L#dC~ zK3w{0<#TbRRGJ55k_VC5b)VS%eW&dLqfH>wuyiU!&O1%F`n}Ycfj^dT_uYPb_r=|V ztDnE!e}{l90Anf&=xO%k;Z0@&qBk(n46#mF4Xa*R zJAfl+Ab*Thl93p||1l)UBxN8%$!ao65ergWiF}4nMF5GdJxwYiaT$^;C6MH%pVG`N z>?76y?o-He4!%G>v5~A=8}>%!rX^0T?;W|vD2SKR*fyDZd4_BRlRg`tt z;dYsDLZrE#>63uyhc1&+0V(Gbuwxl;F~Qn+wA0)MFBkBR`8@37?T8c9E_R#`NQ*uR zDLfKt&@M6+1JYTa6qKijbL^qhIOY`}Lu)R>ri)O^sO|>VEWlR93NpyzPfANy{?b3} zd6I`N#1M_5lV>uImc@O(z#XY7Q~5T8Q$NAQG- z6#YV%DeN*0KzR<|84zCb2;?;k&F7YtHy^mi=QKW|-l$b9ySvxzk4E%{DQ`ieBCv_fb?0CR_>^2T5%Mu{zgiEOI6{82j*H{I}ndpPSb*RDBW?~f delta 44 zcmZ1>v_fb?0P{mDrH#Q(j1mcgUmniBV5!Xj1k3@>p1mg~e-#Vg#k_efV>LSfVwDfl diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 65ce64a563fbf126e3ebfbfbe212b1a0c83896ba..2aeb8cc2a45049e3182a95addd6b4956f1d62a1e 100644 GIT binary patch delta 787 zcmdn;gL%sj<_WSa7UpI~8x`d^z>LX-mnAkwb9`e4^EQ8+c$#Ul0zWrG&Yk}SL~ioK zKJm?7!l5h>xs8h@Ht!an0+j=qk}bUjiML;in{l(7!bT>9QNqeQ&=q`AM^><3YY$vO z=;Q$9bDJ0G??f`7+~@#8e)9ygb|??zG9#-d z=g;?C05t%_i}sxZH(X+JxsmtgxWG~*3*LqBLM;G!Ry^_pn(Dk*nCimIlA98bqe<(f zB1vyPkO7l_*e9`hagH96MQ`$Dkt|XzIfF21Gj9b8lALbMA0&M)4WdXPP|^|$m8eLN5ofH8j!s^VdvncZh`pbBddH7 z?w|ZF#AmWY56kA7^?RXy1VvKlW(ftblQtJ#z5_KX@VbW#L=0@HsR5d$5K(jo2L61^ F1OP!v6Mp~z delta 787 zcmdn;gL%sj<_WSa<_0DP8x`d^z>LX-mnAkwb9`e4^EQ8+c$#Ul0zWrG&Yk}SL~ioK zKJm?7!l5h>xs8h@Ht!an0+j=qk}bUjiML;in{l(7!bT>9QNqeQ&=q`AM^><3YY$vO z=;Q$9bDJ0G??f`7+~@#8e)9ygb|??zG9#-d z=g;?C05t%_i}sxZH(X+JxsmtgxWG~*3*LqBLM;G!Ry^_pn(Dk*nCimIlA98bqe<(f zB1vyPkO7l_*e9`hagH96MQ`$Dkt|XzIfF21Gj9b8lALbMA0&M)4WdXPP|^|$m8eLN5ofH8j!s^VdvncZh`pbBddH7 z?w|ZF#AmWY56kA7^?RXy1VvKlW(ftblQtJ#z5_KX@VbW#L=0@HsR5d$5K(jo2L61^ F1ORps5f1*eb!7@Am`nt+r} z{-`Ihxt8Y*6GT0T*UJ9`!UL+m0Tn-JBe}Uu^fz1_XpRMnIhzBeVQRr9Drzxq&X@nh zh%mNRQ3m1+u$5a?w4gkY6Mv~6g*x%0o)hEbe0hP%vMhp|)pUDe{MPCMRO3M#AtYPh+jBs9hN%*pg`F2bZN2CT(Kz`o6YpjP z?|qECMnK=e18MU`PcbA@n0*eb!7@Am`nt+r} z{-`Ihxt8Y*6GT0T*UJ9`!UL+m0Tn-JBe}Uu^fz1_XpRMnIhzBeVQRr9Drzxq&X@nh zh%mNRQ3m1+u$5a?w4gkY6Mv~6g*x%0o)hEbe0hP%vMhp|)pUDe{MPCMRO3M#AtYPh+jBs9hN%*pg`F2bZN2CT(Kz`o6YpjP z?|qECMnK=e18MU`PcbA@n08~#{AnEY@}eMaSP_ZXXw=9KmxE=?@wC`wIhbFsM@ zaGh6LZ-S96%LneNSB*{3G=9U&FsBX0HAjok{$Oj`X6N2}?&CdP-@oqX+;h+8{JQ6U zYg%G!T4F0^jLpr-UUW9KZJJ)N=6O>@%=FESpCvCtxFoiL?3j=koQ4%2C$yoI5GM4c4L+W-9E8; z@r@f3euI{yga*Vq4bV(K@efxCRrJn8?BcLz~qF;Wn!a+L@=* zCH8J=BVJ`QP#A7AP-tu(eG_fIJlbZzf4dmkdN$<4b~d#2miA%D+f6BIE}m-3RJ_~- zx?l%wviwr7DB5WW5wW73zi9)jN}8jC5c#Fcbp;OYu@%TKO`-}k7kfodnIvZrv7Rzx z>*9ykfK`8N>cCgHAem*?trPJFNO?q*{%MqG!=WhAuJS0+k;74K2$ zSEWhoxhhO+W^`JMh4Xm0zVrAUU8;mHyC|*wew)^QKc#ieNlL4ZM`YKHF_|%N<2MAc zyS$?5^jD$o^0KDW9V+Q;*ZmFRabQ1D>~63WyBmX!(owMzy`~8yccQGJuQUe+3 zurV!yjd4`^{wsF%_f@-s8+Mi0YFDWpc9q#ZfzD=j)BQMjvzKUsjb72%`>l-tQO9jU z{F9ZCEUNB$DRvE?zekW&4it;N2R3#@tnWdaZn&n0wxucu=u(Ty0iwP=NSkK53=YwB z(U1)e4Qdm=Kl;CFs)-Ui96nK!{vl+K&lYQ*er=)&iP)N_#LKOW1&Cpu>Y1!) z&QV$MI{anYR$?!fne3_uOio%0GsfzAnT(+&ow4^k)*sc(K0a$B{3(wVzM;P~$Aif|dBcG)GLmD|wN zE!-xv4qHWyIpS86gyhey?`CJ~QQXl{&8>>qk+?(oF*Zwh1m=jzX5MkQ1_@dEF^F{d zGrv8f{O1VC;dg2y9Om_>tQ#NHMY@4I1L>+OKjuop|a|( z)+0`yYJjVdV15L`ozyC6a_~Hyh&-0YQFcR(N7;4>Xo_lzz8@ke5E_bGjfx_=a6~cv zYBUAP48@b{5ft$)5flgwMNF%r7}cA~DRq6*mHs;rh&(ozqpVk-{h}{|B5*%~0->R}(61=WkKRZv)MUB*5LPcV sFM)zHCpm)QvtfLaW1qqL*EumWYg9qCn5U;Y%wIERCP{8eb+kJE1K42Y1ONa4 delta 2959 zcmZuze@xX?6yJF&u_q5Coq|6>8~#{=lz^_O&&d4k9%IwdoYLOIrHSPnMX70RE;cs< zuJelPO)#=$`M_QEs<8>0#&38T=Cq->=4cVxA8bwA?A&|LeZ0r(``7)Pd+zz1U-#T^ zb#rWWb8Pvv(K!niE;yIkIz=y7)0{~nX6n!=jYQL&76)sd>C%V;K(3fN>nBIpX8jzq ziK@5516cQ>I5BZWn=#9RZl74a z@|1PL?PIG~wrQPtYpqV7zesFZe}Qxmu`TQGYMnPWT!(RsO=Mw#q0OrNaGO>6ZOqf* z5_>nb60fouCPcgkj%1c*NON8q&zH2|13(h;ZT%lS6P(k$l)ka;0TGBN^56@jZ&4W zv%;kHd?lteGditB!g)Mg-+BD5E>*&pos`x-zfEhOpVGSK6s1+iBeH8pnamit@f(8J zU0%_6=BrS5d0FF`c9nFt>%j)`B(R?-cGp{q-StS}=@=(^&)fFX{eD^ZyXcpL~PA7<5>E0DyziF<}_icWd`u- z55UDAuL6%q$sP^-WDI;9nl*Bj6U;dJ>U*csR?-7gzHi>mcC}8x<|RPY$@EQQmHs)*K!*VPWW6NsDqSa7a@jus;0BT zSx0603i!*kt;Aj|HQ7}Un4GW{rj6G1G8sclI%Ds9tUs!meSF47_){Lqhq*+ngc5}l zsKwPllb!;2fiUhT$vvClAaUWqk(&!4Y@Tq0dH~5nAJ|!Jy_d(f0X1VNB95|l-EMO4 z4rmYEcAu=<3AJ<&YjS)XVVly6mu1D!2nlAkg9if|dBcG)GLm)X$N zE!-xv4qHWyIpP+Rgyb)*?`CJ~QQXl{&902tk+?(oF*b{N1m=jzX6|vg4hdQMF^F{d zbH6>K{O1VC;dg5y9OiYWts5WKM!JDJ1L>+OKjsCp|a|( z)+0`yu7_)oV15L`ozyC6a^M1-j69acQFc>}N7;HAXo_lz-X9_;5E_cx4T>VVa6~cn zS~La948_wM5ft&w5flgwMNEsL7}1-`DRq6*ktR|_{ArxM{l?mYO-8;1gqzp smq5Yk6CAztUGHKL$e%+pgH=C2tulO#8#I$9k60aPd5zyJUM diff --git a/lib/scheduler.ppu b/lib/scheduler.ppu index b95ada6e27f80e5052bb12c9d746b39317e467a2..ef1c385f8d364c78e932a61ade94f31f96879632 100644 GIT binary patch delta 228 zcmbOy+9N6x5D;o;Y|7Hi$iU2SAV7&Bg^PhVjQb-KzMBU70eH7D<9 z66NL!2}vx@4lYS7NuB(HX&a;TB*GfMXh?=VW%yU?3UI=?xTL&MC{NJ^3i7HlxnukDPjpx|0>S P41g*Fx#WOq3b^zDm;^gC delta 270 zcmeAXohK?25D;o;Y|7Hi$iU2SAV7(sjEjLGLGa7N*%vIeC(2kc|Jbj%F*22j(P;91 zCQ%XLkdVaU?D*i4#FEtb;MDZo)Vz|(_nEda%1oZdti>oh`5?18quk_|%xaAClLc5B z8G|QJV(DQtoh;89#i%~HiuI|IDgy%pqX-+2#AX-+qqy|s3N|%H>B;li)EN~gA7_(g zRGIt~D55r*hg}h9h#vbSM(xQ5+2=4COpfE2#^^QqD@QPp^yKuG*Jfk|8qC1R5X8v9 upa^1#2?0r#kj&(421cF9n>n=^btm8F)MM0}%*SN_G{K%r4yZSdOAi3FNk&fq diff --git a/lib/tss.ppu b/lib/tss.ppu index 70b74ce191e48c2684af19f9a60898350e22e559..4b1285311de59bf6b8e696880c9467728708ac19 100644 GIT binary patch delta 290 zcmWN{yGz4R9K~@CH%)I6K@gSr#A@zMv>2Z?zLi2%tlgZuy0rg*i-?XQ!U4fSa26c| zM<<7_4lWK(ZX)PV5ZwGNAHEz;J8Xv+yXwdvd#F_vdU&N0^zvC*g#1(nee85%^fPlT z23dCuhIlH=Fz;j;;j1hK{>d`RLe3!KwrJSQC9u4dPWU8_^Fy4Vb`6S5#YygqDG$Xd z-iXs|xe;dg9rvb?FjMq!)NAo$*C_k-ySQ9MBfaEb9m>Jdj@Hxi(ni zqmHr8cUd;5ycnA-ddJw~z4wD|Ui%5kZ22)N{Ps)OViZ{Huo|4n=PhW6m5%fu=O9UL delta 290 zcmWN{FGxdC9K~^t_wDVz_XNQ-Fe&fe_dr;aHG?36!)9Jlnc{|uiaPu^xA}KY<$z!i z%%Z`6K`~TPc*k@k) zfDLU>=e>?_$ah&9R9=K5_IhPJ^4j~s7|;C}Cv5r=Zu#x^;f`To@xW|Qm(N>J5C_}S E|7d7f3IG5A diff --git a/lib/util.ppu b/lib/util.ppu index b04c434b12943acd4ae208c036b384db4d76ee91..6a1298a25e2885ecd2f7c543c7e99ce57f5b2b0b 100644 GIT binary patch delta 14 VcmX?Ua?)gi4>JRY@<#t(k^m@K1sDJT delta 14 VcmX?Ua?)gi4|7nP;zs{pk^n7%1?B(% diff --git a/src/isr/isr13.pas b/src/isr/isr13.pas index bdbca9c1..65973e81 100644 --- a/src/isr/isr13.pas +++ b/src/isr/isr13.pas @@ -28,22 +28,29 @@ var procedure Main(); interrupt; var - i : integer; - ec : uint32; + i : uint32; + Regs : PRegisters; begin - asm - MOV EAX, [ESP-4] - MOV ec, EAX - end; CLI; + asm + MOV EAX, EBP + MOV Regs, EAX + end; for i:=0 to MAX_HOOKS-1 do begin if uint32(Hooks[i]) <> 0 then Hooks[i](void(13)); end; - console.writestring('General Protection Fault. ['); - console.writehex(ec); - console.writestringln(']'); - util.halt_and_catch_fire; + console.writestringln('General Protection Fault.'); + console.writestring('Flags: '); + console.writehexln(Regs^.EFlags); + console.writestring('EIP: '); + console.writehexln(Regs^.EIP); + console.writestring('CS: '); + console.writehexln(Regs^.CS); + console.writestring('Error Code: '); + console.writehexln(Regs^.ErrorCode); + Regs^.EIP:= Regs^.EIP - 2; + //util.halt_and_catch_fire; end; procedure register(); diff --git a/src/isr/isr_types.pas b/src/isr/isr_types.pas index f87ea073..30a2b201 100644 --- a/src/isr/isr_types.pas +++ b/src/isr/isr_types.pas @@ -15,10 +15,12 @@ const MAX_HOOKS = 16; type - ISR_REGS = record - ip, cs, flags, sp, ss : uint16; + PRegisters = ^TRegisters; + TRegisters = record + edi,esi,ebp,esp,ebx,edx,ecx,eax: uint32; + ErrorCode : uint32; + eip,cs,eflags,UserESP,ss: uint32; end; - PISR_REGS = ^ISR_REGS; pp_hook_method = procedure(data : void); pp_void = pp_hook_method; diff --git a/src/kernel.pas b/src/kernel.pas index aacc4c72..0c734bc6 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -77,7 +77,9 @@ begin lmemorymanager.init(); tss.init(); scheduler.init(); - + + asm INT 13 end; + STI; isr32.hook(uint32(@bios_data_area.tick_update)); diff --git a/src/scheduler.pas b/src/scheduler.pas index 06dbf971..4739ad82 100644 --- a/src/scheduler.pas +++ b/src/scheduler.pas @@ -20,10 +20,9 @@ const Quantum = 64; type - TTask_State_Segment = packed record - + TTaskState = packed record + //EAX, EDX, end; - TScheduler_Entry = packed record ThreadID : uint32; Priority : uint8; diff --git a/src/tss.pas b/src/tss.pas index 18cab7b2..35d7e818 100644 --- a/src/tss.pas +++ b/src/tss.pas @@ -17,85 +17,6 @@ uses console; type - {TTaskStateSegment = packed record - Res1 : uint16; - IOMap : uint16; - LDTR : uint16; - Res2 : uint16; - GS : uint16; - Res3 : uint16; - FS : uint16; - Res4 : uint16; - DS : uint16; - Res5 : uint16; - SS : uint16; - Res6 : uint16; - CS : uint16; - Res7 : uint16; - ES : uint16; - Res8 : uint16; - EDI : uint32; - ESI : uint32; - EBP : uint32; - ESP : uint32; - EBX : uint32; - EDX : uint32; - ECX : uint32; - EAX : uint32; - EFLAGS : uint32; - EIP : uint32; - CR3 : uint32; - SS2 : uint16; - Res9 : uint16; - SS1 : uint16; - Res10 : uint16; - SS0 : uint16; - Res11 : uint16; - ESP0 : uint32; - LINK : uint16; - Res12 : uint16; - end; - PTaskStateSegment = ^TTaskStateSegment;} - - { - Res12 : uint16; - LINK : uint16; - ESP0 : uint32; - Res11 : uint16; - SS0 : uint16; - Res10 : uint16; - SS1 : uint16; - Res9 : uint16; - SS2 : uint16; - CR3 : uint32; - EIP : uint32; - EFLAGS : uint32; - EAX : uint32; - ECX : uint32; - EDX : uint32; - EBX : uint32; - ESP : uint32; - EBP : uint32; - ESI : uint32; - EDI : uint32; - Res8 : uint16; - ES : uint16; - Res7 : uint16; - CS : uint16; - Res6 : uint16; - SS : uint16; - Res5 : uint16; - DS : uint16; - Res4 : uint16; - FS : uint16; - Res3 : uint16; - GS : uint16; - Res2 : uint16; - LDTR : uint16; - IOPBOffset : uint16; - Res1 : uint16; - } - TTaskStateSegment = packed record link : uint16; link_h : uint16; @@ -144,36 +65,6 @@ type end; PTaskStateSegment = ^TTaskStateSegment; - {TTaskStateSegment = packed record - link : uint32; - esp0 : uint32; - ss0 : uint32; - esp1 : uint32; - ss1 : uint32; - esp2 : uint32; - ss2 : uint32; - cr3 : uint32; - eip : uint32; - eflags : uint32; - eax : uint32; - ecx : uint32; - edx : uint32; - ebx : uint32; - esp : uint32; - ebp : uint32; - esi : uint32; - edi : uint32; - es : uint32; - cs : uint32; - ss : uint32; - ds : uint32; - fs : uint32; - gs : uint32; - ldt : uint32; - iomap : uint32; - end; - PTaskStateSegment = ^TTaskStateSegment;} - var TaskStateSegment : TTaskStateSegment; ptrTaskStateSegment : PTaskStateSegment = @TaskStateSegment; @@ -198,7 +89,7 @@ begin end; ptrTaskStateSegment^.esp0:= cESP; ptrTaskStateSegment^.CR3:= cCR3; - gdt.set_gate($05, uint32(ptrTaskStateSegment)-KERNEL_VIRTUAL_BASE, sizeof(TTaskStateSegment)-1, $89, $40); //OFFSET: 40 + gdt.set_gate($05, uint32(ptrTaskStateSegment) - KERNEL_VIRTUAL_BASE, sizeof(TTaskStateSegment) - 1, $89, $40); //OFFSET: 40 gdt.reload; asm mov AX, 40