From 56539db9e9a610b3ca223f56fc03036050564c39 Mon Sep 17 00:00:00 2001 From: 410 Date: Sun, 18 Jun 2017 17:33:51 -0500 Subject: [PATCH] Initial add of MP2 source --- MP2/MP2_Sources.zip | Bin 0 -> 136058 bytes MP2/MP2_Sources/.DS_Store | Bin 0 -> 8196 bytes MP2/MP2_Sources/BIOS-bochs-latest | Bin 0 -> 131072 bytes MP2/MP2_Sources/README.TXT | 82 ++++++ MP2/MP2_Sources/VGABIOS-lgpl-latest | Bin 0 -> 38400 bytes MP2/MP2_Sources/assert.C | 45 ++++ MP2/MP2_Sources/assert.H | 56 +++++ MP2/MP2_Sources/bochsout.txt | 236 ++++++++++++++++++ MP2/MP2_Sources/bochsrc.bxrc | 48 ++++ MP2/MP2_Sources/console.C | 213 ++++++++++++++++ MP2/MP2_Sources/console.H | 113 +++++++++ MP2/MP2_Sources/cont_frame_pool.C | 162 ++++++++++++ MP2/MP2_Sources/cont_frame_pool.H | 119 +++++++++ MP2/MP2_Sources/copykernel.sh | 5 + MP2/MP2_Sources/dev_kernel_grub.img | Bin 0 -> 1474560 bytes MP2/MP2_Sources/kernel.C | 133 ++++++++++ MP2/MP2_Sources/linker.ld | 36 +++ MP2/MP2_Sources/machine.C | 70 ++++++ MP2/MP2_Sources/machine.H | 123 +++++++++ MP2/MP2_Sources/machine_low.H | 31 +++ MP2/MP2_Sources/machine_low.asm | 18 ++ MP2/MP2_Sources/makefile | 47 ++++ MP2/MP2_Sources/simple_frame_pool.C | 127 ++++++++++ MP2/MP2_Sources/simple_frame_pool.H | 108 ++++++++ MP2/MP2_Sources/start.asm | 57 +++++ MP2/MP2_Sources/utils.C | 167 +++++++++++++ MP2/MP2_Sources/utils.H | 62 +++++ MP2/__MACOSX/._MP2_Sources | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._.DS_Store | Bin 0 -> 120 bytes MP2/__MACOSX/MP2_Sources/._BIOS-bochs-latest | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._README.TXT | Bin 0 -> 239 bytes .../MP2_Sources/._VGABIOS-lgpl-latest | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._assert.C | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._assert.H | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._bochsout.txt | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._bochsrc.bxrc | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._console.C | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._console.H | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._cont_frame_pool.C | Bin 0 -> 879 bytes MP2/__MACOSX/MP2_Sources/._cont_frame_pool.H | Bin 0 -> 463 bytes MP2/__MACOSX/MP2_Sources/._copykernel.sh | Bin 0 -> 239 bytes .../MP2_Sources/._dev_kernel_grub.img | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._kernel.C | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._linker.ld | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._machine.C | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._machine.H | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._machine_low.H | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._machine_low.asm | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._makefile | Bin 0 -> 239 bytes .../MP2_Sources/._simple_frame_pool.C | Bin 0 -> 239 bytes .../MP2_Sources/._simple_frame_pool.H | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._start.asm | Bin 0 -> 447 bytes MP2/__MACOSX/MP2_Sources/._utils.C | Bin 0 -> 239 bytes MP2/__MACOSX/MP2_Sources/._utils.H | Bin 0 -> 239 bytes MP2/handout_mp2.pdf | Bin 0 -> 143903 bytes 55 files changed, 2058 insertions(+) create mode 100644 MP2/MP2_Sources.zip create mode 100644 MP2/MP2_Sources/.DS_Store create mode 100755 MP2/MP2_Sources/BIOS-bochs-latest create mode 100755 MP2/MP2_Sources/README.TXT create mode 100755 MP2/MP2_Sources/VGABIOS-lgpl-latest create mode 100755 MP2/MP2_Sources/assert.C create mode 100755 MP2/MP2_Sources/assert.H create mode 100644 MP2/MP2_Sources/bochsout.txt create mode 100755 MP2/MP2_Sources/bochsrc.bxrc create mode 100755 MP2/MP2_Sources/console.C create mode 100755 MP2/MP2_Sources/console.H create mode 100644 MP2/MP2_Sources/cont_frame_pool.C create mode 100755 MP2/MP2_Sources/cont_frame_pool.H create mode 100755 MP2/MP2_Sources/copykernel.sh create mode 100755 MP2/MP2_Sources/dev_kernel_grub.img create mode 100755 MP2/MP2_Sources/kernel.C create mode 100755 MP2/MP2_Sources/linker.ld create mode 100755 MP2/MP2_Sources/machine.C create mode 100755 MP2/MP2_Sources/machine.H create mode 100755 MP2/MP2_Sources/machine_low.H create mode 100755 MP2/MP2_Sources/machine_low.asm create mode 100755 MP2/MP2_Sources/makefile create mode 100644 MP2/MP2_Sources/simple_frame_pool.C create mode 100755 MP2/MP2_Sources/simple_frame_pool.H create mode 100755 MP2/MP2_Sources/start.asm create mode 100755 MP2/MP2_Sources/utils.C create mode 100755 MP2/MP2_Sources/utils.H create mode 100644 MP2/__MACOSX/._MP2_Sources create mode 100644 MP2/__MACOSX/MP2_Sources/._.DS_Store create mode 100644 MP2/__MACOSX/MP2_Sources/._BIOS-bochs-latest create mode 100644 MP2/__MACOSX/MP2_Sources/._README.TXT create mode 100644 MP2/__MACOSX/MP2_Sources/._VGABIOS-lgpl-latest create mode 100644 MP2/__MACOSX/MP2_Sources/._assert.C create mode 100644 MP2/__MACOSX/MP2_Sources/._assert.H create mode 100644 MP2/__MACOSX/MP2_Sources/._bochsout.txt create mode 100644 MP2/__MACOSX/MP2_Sources/._bochsrc.bxrc create mode 100644 MP2/__MACOSX/MP2_Sources/._console.C create mode 100644 MP2/__MACOSX/MP2_Sources/._console.H create mode 100644 MP2/__MACOSX/MP2_Sources/._cont_frame_pool.C create mode 100644 MP2/__MACOSX/MP2_Sources/._cont_frame_pool.H create mode 100644 MP2/__MACOSX/MP2_Sources/._copykernel.sh create mode 100644 MP2/__MACOSX/MP2_Sources/._dev_kernel_grub.img create mode 100644 MP2/__MACOSX/MP2_Sources/._kernel.C create mode 100644 MP2/__MACOSX/MP2_Sources/._linker.ld create mode 100644 MP2/__MACOSX/MP2_Sources/._machine.C create mode 100644 MP2/__MACOSX/MP2_Sources/._machine.H create mode 100644 MP2/__MACOSX/MP2_Sources/._machine_low.H create mode 100644 MP2/__MACOSX/MP2_Sources/._machine_low.asm create mode 100644 MP2/__MACOSX/MP2_Sources/._makefile create mode 100644 MP2/__MACOSX/MP2_Sources/._simple_frame_pool.C create mode 100644 MP2/__MACOSX/MP2_Sources/._simple_frame_pool.H create mode 100644 MP2/__MACOSX/MP2_Sources/._start.asm create mode 100644 MP2/__MACOSX/MP2_Sources/._utils.C create mode 100644 MP2/__MACOSX/MP2_Sources/._utils.H create mode 100644 MP2/handout_mp2.pdf diff --git a/MP2/MP2_Sources.zip b/MP2/MP2_Sources.zip new file mode 100644 index 0000000000000000000000000000000000000000..161d942de75da97ee8872487ab01aa0e9976c3b2 GIT binary patch literal 136058 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�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 literal 0 HcmV?d00001 diff --git a/MP2/MP2_Sources/.DS_Store b/MP2/MP2_Sources/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4b840fb2f2abc7f4887fa64c438788ee6a94031d GIT binary patch literal 8196 zcmeHM%Wl&^6g`uqkN{PwvZ>hM1sfKzgoJ?ZLXrx)KuDxQY*1((eTbxv5(mlxDLX!a zHJ`wD@CmH>1lHx;nSqRByXgv{GE>c5$G+#Ddrv%eW(q(xX8n7>7JxFl*qhfmWHh-h zJ=F^K%q?0)JTO6w5Y63T)Ju8$6J7zYfLFjP;1%!+{0j>3oh_}L^WHaC{pc0&3jCJ} z$nzm!7hAV>ZmfQEaL`Kt+7eIe#$&DnG$ydNZtdJy4P{KTdQcXs>=Hv6IIjodPFuHj zZmfYr890<>R(6G=G&^yDc897P>qoDES0Jr`tli7l$CQ5qcm3WSMqOT$>GX>I_L*)x zO8Y;R_5Q+N&rsKY6AkR*Iohb9iwHd&k*$Uyd1JCp5ho*P#_tZ}4F?xtrgs@)oG#-u za~^I&-jH!lS!FNHr?wrw3VkD-FtdnR4u0=xBx_uOSW-o5QlA};P0JCZg9GNYj}e(V z7?V?2?LNv9=T9fXoz)Q-Wy+dsjQofU_wfLIJmjYu$0k`O*v2HS20l7Gt2520wa|7V ztm{n2_<*19=u5gN@G@k{`vor;)Ee#zY9;WGa z+uCin&ECGf?02)aZAU3ZWx>kImr_$RQgokjP)QMpxA}d}z0Wftd3W1~tTw4GFJhZv%Q;7N`vtE#>8Css zukF!Yu)NDymUKGPnHA++XqxU!H%s3+nti$9(@S*8DC9LtM;0vH?fRJE$Mwne^ac94 zyg{C6x^&5zVWtM=Qr-0A5`8MQsh8>&WG~$PjO(Le0s1_XGt2DEh>|W%JhX1$G{?`r z+-SkJG-O%|wfx!NQun!QKq4o(;L2yyZ<|&c0&Iz1<*YCc$m7g1N&5t&PrAq}r54F6otMD_+3+31C zds~;=GZpIPpmGJ2cW&aP{2QeoMl?=ZU$H^&Twh_IHy8ZuvbWvmL&2F>F``}9B;{2| z=_cufqav!b8yFT2Ko>U4_TE+LpO8AL(#yq{I~L!L<^)S&DKFe$DSQD1SIRy|Q@G`c zS5SV&l{<_%Gs|#TC_GYhZx6697|~7Txco;l(%?#yEBxY)&REjFHkw z4(h+K09Z%!%G|$oR^GZb0wTv##G2e!A3sFW5~IMXYN$}LZC6soIa z%$fDq5&J;wT2{Xxd(pz()MG}BV<+!113l6Zyf63#sY?GS3f#CjuB<)Ij4e{u+pdNG z)_q=?{%D`JOFVE}W8O#7&eBcQ7-5NC+T+anWV)2~3BHOBJbt|B zv%DjY^;>k7!W%JLD1}%GN2BCSe|y9cDgABd`nMfbgD?|CpFN%vnEy;TO{VN^g@Q6* z-xa!_M>I! z+t-gOTLQAJDfp0%)=Ik^C!?gSIusq%Q4`baat+g@^g5{hoNZ$JV@Kw59hOq@QE;$wQV)WpWpTnzH7OW zB6bAYZ#>z`3Fc->UpY-qt6^ugsjSJ&*v=oL!gq%6myT}y3`JLzNyxpG({>f6u zm-%Z3caD|=5!hAz(t5zhrM8z2U43w8LR`P+LpwLrhj2iO>MYNH$4@W#iFqS-YP=ud zS}#|n*I;H?VuLr_hFF8*<0;Pcn#2QAn6%CyHOaTaez%c>NV`!>L@g&33qg(*5i6V) zf<3UUdA=+YoK@klVY@S{CPm7s0V6o&>uSUbTJLVZy()A$tc#U1wz&j_s?e2GWvp&8 zx_Els$g0rQ0`Ls@FOTX2yG;Y8$`EJmiSh)LVZ(gceVr)%R0D&kqB)h*gb`CHFkxm8 z?@+@`O1n!#3d?iNInShEDW`H?gVYU^_l!!vv)QD!>M)-j@q#KqoAXRo;%78N(m`mk za^lhT=EU++Lt?US*TnB0tG9f-i{?Oa&>b{nS6YZKtMTY{`=rxA z6C9MPf?`$}=Goe!V~(u1ImlNN$LejA6B^tGl| zvM6xaf?uZm8o_P-j7qiubq9XC;Wrh(c5B1#y1dsbS(Y`3)rNmKcHLaky!}AK%$zESWOQHRXB_*(>Y^ z_PMdv0C&I^!BHLNXbQ`n>`ITaI~STWU4L#u_+HL{&6HCbe7@2m0>JxV%+Xsz0Jm%} zPnAADU#f>mUve&N{cQI(9l(j@=e=9G{cod>4DcS4&yPE3JcAWs0tEPE`s*LS>3USD6y3L(RzK$`n&bWlA`6l#iIb!n6Vw zR#6Z8TX-BsR+$=Ms!WY$m8m`P8>6dC?S=2&zRJ`-u+ZuiMo0P0%b(>oxC4#Q0#HZ! zot2t*z(u-+;qQ0${avSOs{q2Uu&gV zN=L^51-hPR*aB7>dx}9s>ZC?63Sm8|UsBCn6Y6G&z$JI(cP%;euLBFeG@?t+DaP7~ zRS$q8Sxri! z7_ro7^Bw4mtk^rqE+77h_QWtcb7gYqpvq)pNM&*u z_{o*Y5iCbaHc5LN<=s|k#MC z>m20?j>_vwXg!O9=5ciDU}esQby8!hw6G2f(xhI(c@`t0dbY#(g4d%C@lQm%hnt|{ zTC-H?vc~b4$9E;Jml7D7B4^<9jk*?#m7}^GojS_VwH&$xM+AgRyWIb0nu!`$T2vUe z;+y#*mr>{VvB_ol*90UOyJQE&%iXQ{xexM=>ciE@$&&nET4qaX(e2 z-c*+(rHu!M-Xr;X^8??_eBA|_3W>>zo8*5Y^1y&I=Ps`WN4Qu6 zbh8azV$S4kpv7n$?Z(`=hV)up?m)*LowSp76ipj{q+?7Iv3@1`gc5vQ37?V@9G}tf(ZQ#PW1{ptgexk~y;a)1 zeL0lwI91np>}_3M^!C-LZA8fN>DPsBr-OnsQaYmhPHJvEGVQvZU?N4z#n@swjk+U} zaf-ud-0<|a$>@ame+jPAE+i5PdqEz`LnIp#Kik=)$G*FLTM~&ottf%MDwLdp0V3BUN^M0KY+HfA$!oxC ztL_6po>8d_h#C;NlBmOp`hY^625K%3iO~mAZ<`Oy>*R$5$s;}Oeg`1rUT8mF6}kl| z>QJ>kOaiPkHy7Wq2}@BCbb_(mA4T&(*#^H-+{BEOQbftQtB$uQinggr#%U{hss`ye zgltRE2(-h>0>RAKDSF=oA_o2B{mHSu)+RJZh6&Au??cPN0-O~KykFvc)1kMh)trWM zik6}p^stpSKZ5b!5x2M2!>qQ^AgQa(1X)c3fl+bD(*(&S8rn&DRzhC)Oe{O2uEWQ? zjb8v5VqZ>`<*Y!@my*HxxpWUloWE7LC_0f0klG5LVB3+I=USjcKi_H&KwY|*>sExXkbI$1oSBi-*%&r)n)aywI zI@`W{Kr9cHU%*!|q1*0I)OQTx@e0?###3LDGQM+sks$wg&gZi)XK)&PSm*;LF+=9f zVGk;UZ6KSclIaDlJQQRUJ#^07X#?^)nSs>nVSM@rC(;BszuE0oeD_Xv+Ynj=nvlG{ zcD^&PFYhk`XD>+2({P*XutXK?)xA#NIaQ&ojs$!JIQ!iRl1eR6r^zx*3XkWi+t zZfEIcga9fM1s-+)~WA5!2Qv;BCmTKDd=?O?Q)M=iZSk+ zh*K!a;k$E_IaY22Ulrp;87aQ--8)Z3xg4O?ye-v zNF>(p1{g#TgDBP&1B$1d!Ik+hzP`pR|BdMB3lPfV;rVhR7|V~rE#wz5g?wuV4HT8< z`P1fn@0WN?eu8XdHrjKe!b+W9=Sr`WtI;g+0F@e0;;SlEw)(;E6L=ol5%@!@ELJLS z`e}~&OCO-*JkjP=$<>D#xipdmE|@B8C)7sj>?gp$)gc z^f!O$4S(s6C`m`D#WPgm{S~XQRQXX99W9m(|AP(Fh^CS$hMi5Ok}0856Siq1n&rJf z^J!^3QZgmXnODc>4VQ}Q0 zqIA(;lKrI<{?a%8(&s3VY)6sT8Vx?!212&f2-;Woq7%`GBf4D@FU_5oxjZeFhoLlz ziWRZ)lL!>@i>Pd-^_kY#YayW}oQD^&dQ8MBBqG#K4siTvaeNjfr(orn=e&t}n7jND z3>*8v^O%s$6z^cj6GI7QDZUXaZf554$Ee>hc`qn{^jrfd#aA&_BgP=+q?I~TXZ`|J zXnu>1<%X)7OO=lREZTiV1V%-PJN@8)`b+;y1UeWb>3^ReTvV%O?%x(NAozrRE3EEm7O zmi|uAP7I>|vWvc`|5STcY%F9+nUy*yx2Lkq%(OWyWz{{)*Fx+Y@qbK0!p$sg zT1G}}B3qQ1v4|~7%b2!^WoD#Io0S=xyX5Yb%VL)-UAks+!ox!oCaioog3ZoMi?z?0 z9ZQ8d%$A&Lr;kjQY@e3O)-1dCzEuy#4qbXnEN=jM`?P8E$Hw0G;C;Eb#4cNT&zi|Y z6UICoOCJ%;wkq$zrJ#BMF(O~Yhp_0Lyfuqx7>Zal4hG4mi4m^7 zB^HCRcNl0aN2evvN$v<%r6Udul1#fL_U^p3lQD*+%kpy`b7n+`8)Ktp8SY{W3Q{vN7wIBaM}#cc7{$x@m}bI9nkgnGHDh*~ZuN2k zttQaoHx@4_NK2WrNY^cGON3#;#%@&6<6}l_)XbraGE){U*kl`u6h(q*(bQ>a=Hz`5 zdefrhwAswGC~I1p&a}urdrtI}UVWpx8M+~rHDl&&X-t%LC?~UMGr=Q5P)SiMdQ?(b zba#W<=femDol>J#AdD0^-VUT{m0E&7r$stW&?+@*sgi~;-V&s|C92dC(r{Yj0tKy7 zqn0YEUbF-$Z;2|kghZScnN~ro)RZxDQiEuz3Xf{=I72&(Gn567GgP!xg-2D4GiFBj zMX9qhnJFVZ!`>q$EaJhE?koiN0ONr8;_%#`9}jX*b<{q^oVy?E(~ zK8y)GJqzOV;U*vc6T%2%A~WJYKHrXZwfqPxrG6vsvS&=2DT<5j8OifSak+g)`ph+C zPZ8rD;a@jJnAqY+7Dq%aUbC2F)Gb~O`e`$BsSy>ZMIL>;L42cBHLQ9DP;(< zZi~2Op{)*fY#*198WOP>M!9L!>^Z5x3H$2?%Y#yS^o{5>MYo!*W>F!7NfB$<8Wv)F zge};VX1FaS%}=k_$AmA+oRiGnh_J+r5c-^h)Sh6lm@Q^Hv|h@V;(KridxX6~*ae%$ zX3Wa+GqLmxVscFo6H`R!U>4O(9Jo=))A~!x~DO5H zE!Z?O0-+#T9irJ12#A?I!Xu1Bng;fLgvIm|^A^!<@vGe*jVK^iOIAmOBk;!bSd=y` zldUI^K*ZcC=FUEQb^>P+!ob2wRUH}SY9d|ys`-V*5e1Lv787W5*lI@KZxB&T|3#Uz zGj-18oO%<%7w3}~qS=B?vq;{QPVz>CPz3*FffKJ3IFSpS_-h1C{J#mDs0f_eSzs(b z|4HC6R|-6a3q0o62t4NhCh!l(Os$vRT@-f5{Dr#} znt^kjGtHpt6QFY1Oivwg+9IUN)=O_>59*Sclzmzj{Y$nV~HWxg#i9AV`KDIJ=3#C z7#nLCVgT&7jExJ83q|Qs#%?kWHKOzwW8=fJ!v==2^^DzY8fF4)17j1yZwN=}amFS_ z439vmfU$&bBf6oqk+D(cMdm?fwu!OH-A8r@%)yu`(iHi4B+4w@!YuU7*h5jbNA-we zQC7CD$GjeWdaxc=wk$e5Iy9O^TiKePvwKGOWIe4cH)c*uObm;$vPXK|(d(LCte2JL z_0HtkiB`p)WW>C5_B+3IWT*F;^zuCcNO{T}VtzaRCsu>bo0 z*Y>AU_W|7pL=2!(;AhFedL9lOrT z?j1a3aM)lr*vgg6>-z!BH~z_mEAw|wxQjIvY}SCa@dSv=3#7@l})<- zmg_}7*AE{&T$C1%*f1i{w7@5ctt?Yp@8DqMSVPmW;er(cM!Flw! z-;5Kb8*jSxCQ%A}-f;5`HwS8>6gyG;>j0m`=CEwG9Izyo#TK#qP@2rO1HB4>~6LaB`dpw-NPP0DVg2Lma+#?N?{AwGPVk(RCX83VXIL}V++~6>>-r8 z`k8X`6t<4BSjMJKm`VgFO`AB46;f%`^ik6ZhM(KU-Nx2(?2Mac5FnPZjPV&Pmr5gN zj+{v_{LD(6#qv1TKE_UfSjKK2dppbLrP&Fy6(Vi2-eOl(RT#21GSKL%)#18AT;mIwV_phuPM0C7n*>}w7U}&S(=>L&8`jg z@*==ZnOyfjwK*z`e$9D%m)d+V2tG}~(5zT7E53aEH_Gz~RATeNk`McbTKA_G>=Y7@ ziLtp?8tjSXcKMS==^%(DTfLOsP_IJYQlWKH_C=?y-kIIt+E6DSZd^OeX{&Q)UnJ>% zXq0SCQg*XY6Y1_tKuB@k*g%`t8}p-8iaPl{g+g!bP4dgFlC1%bZEK|u?n7ZoVR`+b2Dc6lw5bJ(DEr{MOo|-xZZcKReR?Q5X=q*~ z?^QJPWau%VqH;^&O&puBW;hW|Tz4Ixl+b-Xm{V=Q3-mTQEe#!d40>mFQ)((?@#W)x zgS?x1gc7Lv!@1$~HQ!Q{&(It($LKa-q>vNHJd=9~Drdb$cQSp00(REyO?KLv$=f8v zs(R_WgL0fDp+>S{&Mr<4XX{M(hVOa9>AS(Fx1HrC^9J>cmc#;IMdj<=p1VV+qrALc zP=_zS)|X#T3ZB~v3-s7HZl$HjrNcfG12B@6O>MEu=bOO^mey%tX9+CX>WJmiytSC^ zp{xMjFd1qjc!VjWS`CWDY0g0#PL?G9g8TcZ86vikYEpRG*dx zAGatze#V(C(=gWpZ~Bijc9Eh|hZ%d)vxQ5%G;ablBGlW@uinJ+k+yn1*F7*5CU10y zS#1M1llLLg(b~LdOtt*j&zyKORAKbaCq!o6Xz;}xcA8p?h>x%i{I8?gS;-p>p+@)Q zMJk4qOl023vfsg-!r)H1m=^PXly%eSYX~YsvOJKLa;{BbQ#S-~QmHZ_?`NKp`{4MUq zXnh~5f;iCnbN9R0ND%KOyjiENXZU%=chxocz?DttSvDEKT(qWeA|&tbZ+@;ph>{m1 zISz=_Jey-BI_}fd=9@E{Wj(ef~Qfg0FmkKX#{~)=-1fdk^tkHG4M!jE z5;t|`l9l%F``bTF?XNcS5oo`H+SACFfs&8>6l9#EK!yEtZfYNPrH|YEeT@7i8OMON zk+>~UM%=RlH}uRsx$TlV;_om0!ibZ=&CS5AUg7pH-cFTmwZiRvKewlUiJOhaPu$e@ z4=L?e`P@VN+Lj zmjbt{@Uq|OGRtoKF0*WcvN;(BOj)>6xrUP|=PP{KR<2sT8aWFb2A8bC0sX$U_p{Wr zQL|UkDU;1ymb-4%8ajkxH|3}}PcixYj2ZI!OW13;eT;U66esKcVwVS;!#V+_*xiK~ z0zr~61S6sm)&**KkrwN~E>7$R1&sEAZbTqgc3md+6HeRt4-5yZ1sAy%D=r{bbdAl{ z{~xoLgPH07Kbg%8V&=;~PbSI7opzDNO`6!GK*kWnzsGEqCtt+I(ogUCiKd!1qlQVg z_BF-?ex4+K0OD5!c2U0kR{1+G)Uie9XSPSK`$@9xnK6S@T;vhzp8 z?sO;*7om`aqV5@TCHZrZSPDPT$zRu(*!Gs%_R?nZH67Y-ub2NKh2#_9o-}$ z?fHcA65AJ^Rz`A`+P+Ar@k=UZagRKjMCB-}z3iaE>?JTWVvpy+o+-OdI=cVV{!_Yx z`%i7${Zw>j+1Coy8lv*N#L7MfaIXSfNI)_eIu40r&n|hj*OgP5n@q<}sGN3#P4Wz{ zLhyXzG1%0Xu&F)rt7jn%34Kn1lvOHxL&4WnR-x1y$??1cy#q$+n5FPeAOFe}Uo(88 z)&scQhf!HEd_K5Iw)2)vO_)7yqTXrpW0w?_>T<)lX0ahBFR1j6LN%cV4b}}25MG}u z$mz_kx{j`nYpD|3;4Njl)bR&}1V_bDx$%NzJL=3fI0y0bXZz#=rkn%lT!W_A(YH@F zu>8of55aUe-Gs!m4^VumEY#d=8&>KDLs~;M^o90O6|9(sZkHc zFUDY)tY`V%%brliF!v(j*`rE>X{dk@qg;zkr4e>-DO;xCMgiyTUS?CO1F2oAQt5#T zPsdPf9Ri>c+G+hs0hU<+A$^_oLz)i@$Pqt;;%oz;2GH$Np*V6rhkC}jv@|;D@FB!t z4{Hvg=_S-u#7ToU8nC!F6*i7w1flJga*)N*Oh`!kIrs5)>UnoT4`tEXJYdumOn**cIldPs~E(S-Tg1tU`h@)QEBkTDpUCXkg~ zBGU!(oi33!fqb${|7S!xT`;Cz7(JpaPPLNg({i)z8vCUrU0%0RTSHtyiS4rIcQ_Fn zl0x!&aR>s3;&+65nB(+$*Q&VgRG{Q)fXF+C+8eH<31Z|;AezulG}exM%%DN{p`_W% zrMAn!LLH<4kqSc`rA6(Dnp|Y9D9H$b*gTO?bRG>u2p056wdNx0W)f>85tme#94~1Z z?%Sbf@@qAenEOqQE2lm`#H;sw)m|nm0Za!!?zLOKkU@=Yr_HY2sk?!#V@J|jvM&CU_0G?7=+#>25IKgtTND_b|4pv^XbYv~DUzV2;K=P~i#KG;t5`ssV8YQC;LZkj7By&U zvs&%)2@XI)f|KaMVQ(;mNXmlSgc8X+!4M*ODYy+MDJF>8$vtPV(iLB9^Y<~E1AfB5 zF196QS&C-qN{fGLOM2H*l&+(tjBBRzGVn84B0@lCI8B?=(yl(r@ZiqRobJ^5w;Z5! zuCo*!V7zmb_Ao9XE!JB&QJoMO+hX}I9B@GZD55;Y0p~G>y0)a4yy2zA7uu4%d9iM2 zs7v`LlKkFfL=RU^AbNbG-Fcdf!@Vh}uLpSH`FYfzrk`5jq%o z3`hfzy@A|INU8V)K&=o-571TtssV_Bstz{umH?du$OzE)06i~2)d0N;(B}XZ5NIf) zZRI%EE4u*w2+%Vp#8r*rvu)BVwIHtq;$vAjcdjP*DsAJC(ohMi4zLiPE)ou9V%QEcDNp`mVP@A0fy`-2OdUZ2gal_d* zm|z^#2J=6O*mSZD2fX}n*ca8klQ{(UFN7nJz#$_!B$gmn0l9`lq6iWzAYnMJtL(1m ztm-)LtftMg1JM%wMX|g!&f=OjqICN%hz5rs{t<|OpiRDX%=OmMwtVbAE=VB5N-cOR zEuxeG2etU&7z`zFWurIdp;^|@cBGKqmJR`}!sJ|N`+t=GW z9tZM2w8!f#g}=vV?k*}N`xFw0#-P3$SX{vJ%5s&tGs7bz$R0boqq3i0U(LO(v&SeK z`b7fU*<+L)eKKJ=S6CkGFKCw>DNy{7eusKO@DJsx8Dw^F`j5>;<1ni?ffZf#s z_NRmt!S?hIzYwrD`vZ2CQ4QGBpb1*=Lg3*D*e!^#n}4v&X<%uH8&pz!4&jhif+qpI zkpnwKaf+4{#UB7ViqOGP+}q}6m`@olc&Qn5a66CiMIv}NJ?A?*S7FQI z55!8SdqL2C5PGnhu2yb$x5>uuxM!&=%pak%i6`vxaq@1v>y?*LAA$N_swdQxR3wx~ z6mM(8m0+lEi>0Labenf@DL%=PD0B4P!RjGEVId3g_8qR~uTX zbK;N`W7+hm4`%Cnr3OS(LDYkYwp`D}vx#1WaMbaL(6VH?A4bg9L`kNo8Q3lu`82J za7UA(uwJFb|0X*t8>JwGPTY@&|zap``OvhZ?&$h|m zAIk5~S4uu%_Ok8@w?BiM$s4c6cfT!#Fxhk%qowJ!mz_H#1Y1Sao;qw`l@S~}gb{pm z$UlOU3Zab%JC9($f*f)65x9@p~zFt}i=kR%p@;NHTI4W=^Zb90i1z(hQc;{1km9rhEp zpYe^Oo2{wT_VX17wk1?gTMtqG#jsba(o^H0D3q>cO=g-q*_E16O7zG3h2CU)$UYL``D3 zdXJo%i0sKjUa(#p6}>hz#63qOnBG7etfqWZGgp9`4+tN^-Am9Mt%%OUq)5ug@PkVj zMP1}Zf+udnVXpT`+}%@juMSz4$xOG#pS}HqbWk2}FmH_07URtBE%!K>cRf$cxHd$| ze?LH{sWKKtS2E7yI*4n-S^2F4uAGaOO`kA`3Mnv|*NP5ICDjQvuxkPW8YZAo&g|&t z3Bz|~%6xkd(WLpX?{aO3k<-u(jfW1s`w1gtQ3H=a()52MkVZ2c0Yp4~#JL2^*RUTq zjX_OFHkJ7pVMqkmhV$}qV4|e#XsAQ!J4)UISfn5c^v5q11oM1tKN#X3I6>$ij{n9N zRX4vSInf=OPklBEH*c7e&^ewNVOJVsxQoYm`A@s&o@D+h@XC5hy>xG8CRnRpA zJS)OxR`8T``GepKtq8l2sIIyNB~0d1a#O`-ee1UxO3a1R1xr|sH;U{C`NO<0q!0+w zf(xq74L3M#!<{ot8-1)PKWyU#W(qA}crakDxim*#(5lNdTzbH(zm)TUwBd#)ZNnFq z+UgM$k!GrgfT}egfj{qhzk??azFJfs4GPxV27o^czSc9RlbtI(iH7K|;4HNB=?Kx^nan z2=!k&dKubua`YZwcXssG4*I8z_O@L)`U?lqx6}3ujz0ElzoQTTI>^yK|Edc||MaWQ zjy_Iw(8$cS6${+ zs;dq~j=l=%S3h>;e!tcH3P;aZ9lf19`uQsyJ#^TmRbIoeOF65g{HwdV7a~Cd?&_+T zr}lOBY!CNrV;7zsrh4{@4xat-K8&<0&$g2axM!ci(o0*TpOhuMuGAJy*G|f2VRJ=R zx0BpcStCnr<~VU#Ladpkwx6z8?k`iHJPHKil;!?Af$J&?yho@K8*W6QYalgJ_8Gc) z-Mlt*i@C&x9U;p3p}K%C}#4QQcifK~y;BZ5)6MApyuCZy`XbtuC|bPEnQq$X9;pg-wd3h8CX-%Hkv9JzN7fYsh*$Q((i`BgB2c5qwR` zAMUgbbIy#TWvCyl5{phW)~z9`C(zQeEV$RZMX#PmL&QBOCuhuX+D>Ab8LX}xRzab1 zAi0MShmQNrD8ck37WtFvh>W5osGwXLgip!*Tfo5ECA@0UU0fDz%-*jVpA$PY+AsmkLp9>QJliP;2697>MRj zC`M6_TmcNBUT6n(>=&?;IEVc*390Otowf#1!U>{Ylgsl>ffhF5g`VK3nwIS#62Nsn3;t68ZnVxX&NQ$Y`FzRH=&qMPs^=`I}}W@1WB# zWs8Ryg6AsFRNSx^<_%NikO;c}y)QxhG1gIW$bZ9zm&B87hk_3``~-MN{*+Kj`rKY+ zBa}1jog#kltG&U)sQm)>LjQ|~F%-jam-HkHtCq4)ia>c>%07V%f$clbd(4$xn<;h$R2kmopZW0ekQQSe7aASSbY&mQlpSC2(f-FIz{+De}&<=6Y^Bqw&0BY9c~sCwtw82eZsZjfc)aWBpb;K zTBohrnSGKRqV!*uC(?cXUM`7KPpR!96-s_6IYlWmO2=U};m-(AxsD@&;Li+vE^mZ_ z46Y4d$q$Rd0eKY_B%3T{pGB@x$RRtk&ypN{{^iO!lsgs&%Z_kg1;P9K^3VG6<+9V? zifqkJ+P5h32~_ZW@?_*8`F9l{;$}fCxy5vp{#=mswVkBjjmBL1ZK7~M{(uU?F|LsQ z4w5nt57X2*v(M~6hN+@LPzH;|bDM|c)4O?YlN@buMQ)sEqwXE)zJV1Lnf9`;m60BX zCF8*%a>OopeXtu?znurASqz_XVUdAa4EQAdW!D%o9v+d!2pH7y|_k)_Xw zoil6pv^le4GwtcA(`?gHljlsEHIr_g4eF~EL5rl?SaGJ2l6I#Xz5S6xL(&83-}baL ze@eFzImgqDgo3`lS4noZa1wu(K`K7eh$hjv?$%iL4@?oQYU2<$ki+FI)%fI(78f(+ z?NxU9ft{GBEyGLTLI?~$lP@+?sh&PA(?`RW9woL$*DDtrk^ip}@j^HW4~O8B4=Cb= zU$)DL8HzyaITv>UH1boGh|92yV!6>f$@z-hxN-OQlQZ3{&Mtq80Bpc@FS*f53D(jl zE;im$e6rE?R!yV-JSwmtp~B=)w&oLs*JQ!#l)_8$^FkV@3vOax+>u)!wq{#t@x&(b zIQV7pEhueex<-$vPErs&!;59Q_(-Gkm7|TW?cX%Y7E&X%NeU1#9T9y4qC+6s*C?MY z2a#+0kw$qNN(R^V18|8b- zm6QqQ4NxEQ&wyqi;2pyxx*6S=Nsvk9syky^MT&;NahPRgg5UdBR}=gKpg|K{eJOZ? z#c6^jI0-kpV#TFY0xrOc`3_gAQB8RIBn&%ff$h;$FaTG(AJJPk`-c^FlFAJ;azb4065YDHo!74=lX<(dGO zzJkkHG&|eqUM|Q62(o^P<&+lpR~rbs8=xS%vbz_zD|UBnfanUlTSG+L?ov<^b~izk zV0WXbq}rYD<2uN8zR|r{$maPJO@ocGbhlleNI)Jla1EnzD(w%gh!jYtQPSKGLL>>8 zX!)mIndrNpb~e$MKJC&(H+~8eg=)FFu_2>gNIUAXTznL6b{uYYs8M#1c>FdMS2m*4 zkzE~(cgRn{#%tylr<&TFT~LK5R>yBOdr)X#17JqC9cH&u03P4~oPXRa1mG?LctUj8 zB--6dtErt^-Q2m=Fy3k}bH@c*MR#tc>)fgiamMKRJ#$y!7BrZiycqyP+^uB0O4nZ! ziThs)ek0-Se)2U`rE7uvt3wc4`RT^$AKG)g>29T|P0#|Z40J7_z5Tp>>Du~Hew`-5 zN99}iC$b5O%bKYr!u@R3AzLW6@#7<&65!WlJOnW(liVt(6(FN`pn5-O6;UMApnK&8 z(c^?yyLgAN=%NSTo-6A*g;k^4=M$nm58xDZu>LwKn(#bxBpx#7GCWKaSc3ryeN2(- zc7pM1KaseZ+~SB2;rGy63Wwl%)}9_cRr#5I&5pD*a{=U60qYQ=afFXfD2G@B-F@hM z&@L|_D6PgI!`XEku5F5Y2&(ES2L&-PBT zwdQumH_yxbjK>miB~0|N9xUS)CoQH28h*xn?&M$es)1-l@P{axsN^$+K!O%K-k#~4gm=0s z>}G*bwfCH8s0xeg?zVnr?2gF%ajQvV8yWupawnJo^UrmAPk1pzL8I7P(0

    M$_)7 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 Y92H(6x>>(9bkByy4dUk?6XfmtKgu1I8~^|S literal 0 HcmV?d00001 diff --git a/MP2/MP2_Sources/assert.C b/MP2/MP2_Sources/assert.C new file mode 100755 index 0000000..e85ae1d --- /dev/null +++ b/MP2/MP2_Sources/assert.C @@ -0,0 +1,45 @@ +/* + File: assert.C + + Author: R. Bettati + Department of Computer Science + Texas A&M University + + Date : 05/01/23 + + Implementation of the assert() function. + +*/ + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "assert.H" + +#include "utils.H" +#include "console.H" + +/*--------------------------------------------------------------------------*/ +/* _assert() FUNCTION: gets called when assert() macro fails. */ +/*--------------------------------------------------------------------------*/ + +void _assert (const char* _file, const int _line, const char* _message ) { + /* Prints current file, line number, and failed assertion. */ + char temp[15]; + Console::puts("Assertion failed at file: "); + Console::puts(_file); + Console::puts(" line: "); + int2str(_line, temp); + Console::puts(temp); + Console::puts(" assertion: "); + Console::puts(_message); + Console::puts("\n"); + abort(); +}/* end _assert */ diff --git a/MP2/MP2_Sources/assert.H b/MP2/MP2_Sources/assert.H new file mode 100755 index 0000000..33c7a16 --- /dev/null +++ b/MP2/MP2_Sources/assert.H @@ -0,0 +1,56 @@ +/* + File: assert.H + + Author: R. Bettati + Department of Computer Science + Texas A&M University + + Date : 05/01/23 + + Header file for the "assert" macro. + + +*/ + +#ifndef __assert_H__ +#define __assert_H__ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "utils.H" + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* CONSTANTS */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* "ASSERT" MACRO */ +/*--------------------------------------------------------------------------*/ + +/* NOTE: The "assert" macros can be turned off by giving the -DNDEBUG + argument when compiling. */ + +#ifdef assert +# undef assert +#endif + +void _assert ( const char* _file, const int _line, const char* _message ); + +#ifdef NDEBUG +# define assert( m ) ( ( void ) 0 ) +#else +# define assert( m ) \ + if ( !(m) ) _assert( __FILE__, __LINE__, #m ); +#endif + +#endif diff --git a/MP2/MP2_Sources/bochsout.txt b/MP2/MP2_Sources/bochsout.txt new file mode 100644 index 0000000..2086560 --- /dev/null +++ b/MP2/MP2_Sources/bochsout.txt @@ -0,0 +1,236 @@ +00000000000i[ ] Bochs x86 Emulator 2.4.6 +00000000000i[ ] Build from CVS snapshot, on February 22, 2011 +00000000000i[ ] Compiled at Nov 11 2011, 09:31:18 +00000000000i[ ] System configuration +00000000000i[ ] processors: 1 (cores=1, HT threads=1) +00000000000i[ ] A20 line support: yes +00000000000i[ ] CPU configuration +00000000000i[ ] level: 6 +00000000000i[ ] SMP support: no +00000000000i[ ] APIC support: yes +00000000000i[ ] FPU support: yes +00000000000i[ ] MMX support: yes +00000000000i[ ] 3dnow! support: no +00000000000i[ ] SEP support: yes +00000000000i[ ] SSE support: sse2 +00000000000i[ ] XSAVE support: no +00000000000i[ ] AES support: no +00000000000i[ ] MOVBE support: no +00000000000i[ ] x86-64 support: yes +00000000000i[ ] 1G paging support: no +00000000000i[ ] VMX support: no +00000000000i[ ] Optimization configuration +00000000000i[ ] RepeatSpeedups support: yes +00000000000i[ ] Trace cache support: yes +00000000000i[ ] Fast function calls: yes +00000000000i[ ] Devices configuration +00000000000i[ ] ACPI support: yes +00000000000i[ ] NE2000 support: yes +00000000000i[ ] PCI support: yes, enabled=yes +00000000000i[ ] SB16 support: yes +00000000000i[ ] USB support: yes +00000000000i[ ] VGA extension support: vbe +00000000000i[MEM0 ] allocated memory at 0x7f3ed8511010. after alignment, vector=0x7f3ed8512000 +00000000000i[MEM0 ] 32.00MB +00000000000i[MEM0 ] mem block size = 0x00100000, blocks=32 +00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('BIOS-bochs-latest') +00000000000i[MEM0 ] rom at 0xc0000/38400 ('VGABIOS-lgpl-latest') +00000000000i[VTIME] using 'realtime pit' synchronization method +00000000000i[ ] lt_dlhandle is 0x3837560 +00000000000i[PLGIN] loaded plugin libbx_cmos.so +00000000000i[ ] lt_dlhandle is 0x3837f80 +00000000000i[PLGIN] loaded plugin libbx_dma.so +00000000000i[ ] lt_dlhandle is 0x38389e0 +00000000000i[PLGIN] loaded plugin libbx_pic.so +00000000000i[ ] lt_dlhandle is 0x3839220 +00000000000i[PLGIN] loaded plugin libbx_pit.so +00000000000i[ ] lt_dlhandle is 0x3839b90 +00000000000i[PLGIN] loaded plugin libbx_vga.so +00000000000i[ ] lt_dlhandle is 0x383a2c0 +00000000000i[PLGIN] loaded plugin libbx_hdimage.so +00000000000i[ ] lt_dlhandle is 0x383ab80 +00000000000i[PLGIN] loaded plugin libbx_floppy.so +00000000000i[ ] lt_dlhandle is 0x383b770 +00000000000i[PLGIN] loaded plugin libbx_soundmod.so +00000000000i[ ] lt_dlhandle is 0x383cdc0 +00000000000i[PLGIN] loaded plugin libbx_pci.so +00000000000i[ ] lt_dlhandle is 0x383d9f0 +00000000000i[PLGIN] loaded plugin libbx_pci2isa.so +00000000000i[ ] lt_dlhandle is 0x383e2d0 +00000000000i[PLGIN] loaded plugin libbx_usb_common.so +00000000000i[ ] lt_dlhandle is 0x383eb30 +00000000000i[PLGIN] loaded plugin libbx_unmapped.so +00000000000i[ ] lt_dlhandle is 0x383f3a0 +00000000000i[PLGIN] loaded plugin libbx_biosdev.so +00000000000i[ ] lt_dlhandle is 0x383fcd0 +00000000000i[PLGIN] loaded plugin libbx_speaker.so +00000000000i[ ] lt_dlhandle is 0x3840500 +00000000000i[PLGIN] loaded plugin libbx_extfpuirq.so +00000000000i[ ] lt_dlhandle is 0x3840d70 +00000000000i[PLGIN] loaded plugin libbx_gameport.so +00000000000i[ ] lt_dlhandle is 0x38416e0 +00000000000i[PLGIN] loaded plugin libbx_pci_ide.so +00000000000i[ ] lt_dlhandle is 0x38420b0 +00000000000i[PLGIN] loaded plugin libbx_acpi.so +00000000000i[ ] lt_dlhandle is 0x38429f0 +00000000000i[PLGIN] loaded plugin libbx_ioapic.so +00000000000i[ ] lt_dlhandle is 0x38433a0 +00000000000i[PLGIN] loaded plugin libbx_keyboard.so +00000000000i[ ] lt_dlhandle is 0x3843ba0 +00000000000i[PLGIN] loaded plugin libbx_harddrv.so +00000000000i[ ] lt_dlhandle is 0x3855c70 +00000000000i[PLGIN] loaded plugin libbx_serial.so +00000000000i[ ] lt_dlhandle is 0x3856ae0 +00000000000i[PLGIN] loaded plugin libbx_parallel.so +00000000000i[CMOS ] Using specified time for initial clock +00000000000i[CMOS ] Setting initial clock to: Fri Dec 31 17:00:00 1999 (time0=946681200) +00000000000i[DMA ] channel 4 used by cascade +00000000000i[DMA ] channel 2 used by Floppy Drive +00000000000i[FDD ] fd0: 'dev_kernel_grub.img' ro=0, h=2,t=80,spt=18 +00000000000i[PCI ] 440FX Host bridge present at device 0, function 0 +00000000000i[PCI ] PIIX3 PCI-to-ISA bridge present at device 1, function 0 +00000000000i[VGA ] interval=50000 +00000000000i[MEM0 ] Register memory access handlers: 0x00000000000a0000 - 0x00000000000bffff +00000000000i[XGUI ] test_alloc_colors: 16 colors available out of 16 colors tried +00000000000i[XGUI ] font 8 wide x 16 high, display depth = 24 +00000000000i[MEM0 ] Register memory access handlers: 0x00000000e0000000 - 0x00000000e0ffffff +00000000000i[VGA ] VBE Bochs Display Extension Enabled +00000000000i[PLGIN] init_dev of 'unmapped' plugin device by virtual method +00000000000i[PLGIN] init_dev of 'biosdev' plugin device by virtual method +00000000000i[PLGIN] init_dev of 'speaker' plugin device by virtual method +00000000000i[SPEAK] Failed to open /dev/console: Resource temporarily unavailable +00000000000i[SPEAK] Deactivating beep on console +00000000000i[PLGIN] init_dev of 'extfpuirq' plugin device by virtual method +00000000000i[PLGIN] init_dev of 'gameport' plugin device by virtual method +00000000000i[PLGIN] init_dev of 'pci_ide' plugin device by virtual method +00000000000i[PCI ] PIIX3 PCI IDE controller present at device 1, function 1 +00000000000i[PLGIN] init_dev of 'acpi' plugin device by virtual method +00000000000i[PCI ] ACPI Controller present at device 1, function 3 +00000000000i[PLGIN] init_dev of 'ioapic' plugin device by virtual method +00000000000i[IOAP ] initializing I/O APIC +00000000000i[MEM0 ] Register memory access handlers: 0x00000000fec00000 - 0x00000000fec00fff +00000000000i[PLGIN] init_dev of 'keyboard' plugin device by virtual method +00000000000i[KBD ] will paste characters every 1000 keyboard ticks +00000000000i[PLGIN] init_dev of 'harddrv' plugin device by virtual method +00000000000i[HD ] Using boot sequence floppy, none, none +00000000000i[HD ] Floppy boot signature check is enabled +00000000000i[PLGIN] init_dev of 'serial' plugin device by virtual method +00000000000i[SER ] com1 at 0x03f8 irq 4 +00000000000i[PLGIN] init_dev of 'parallel' plugin device by virtual method +00000000000i[PAR ] parallel port 1 at 0x0378 irq 7 +00000000000i[PLGIN] register state of 'unmapped' plugin device by virtual method +00000000000i[PLGIN] register state of 'biosdev' plugin device by virtual method +00000000000i[PLGIN] register state of 'speaker' plugin device by virtual method +00000000000i[PLGIN] register state of 'extfpuirq' plugin device by virtual method +00000000000i[PLGIN] register state of 'gameport' plugin device by virtual method +00000000000i[PLGIN] register state of 'pci_ide' plugin device by virtual method +00000000000i[PLGIN] register state of 'acpi' plugin device by virtual method +00000000000i[PLGIN] register state of 'ioapic' plugin device by virtual method +00000000000i[PLGIN] register state of 'keyboard' plugin device by virtual method +00000000000i[PLGIN] register state of 'harddrv' plugin device by virtual method +00000000000i[PLGIN] register state of 'serial' plugin device by virtual method +00000000000i[PLGIN] register state of 'parallel' plugin device by virtual method +00000000000i[SYS ] bx_pc_system_c::Reset(HARDWARE) called +00000000000i[CPU0 ] cpu hardware reset +00000000000i[APIC0] allocate APIC id=0 (MMIO enabled) to 0x00000000fee00000 +00000000000i[CPU0 ] CPUID[0x00000000]: 00000003 756e6547 6c65746e 49656e69 +00000000000i[CPU0 ] CPUID[0x00000001]: 00000f23 00000800 00002000 07cbfbff +00000000000i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000003]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000004]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x00000007]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000001 2a100800 +00000000000i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020 +00000000000i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75 +00000000000i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020 +00000000000i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000 +00000000000i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000 +00000000000i[CPU0 ] CPUID[0x80000008]: 00003028 00000000 00000000 00000000 +00000000000i[PLGIN] reset of 'unmapped' plugin device by virtual method +00000000000i[PLGIN] reset of 'biosdev' plugin device by virtual method +00000000000i[PLGIN] reset of 'speaker' plugin device by virtual method +00000000000i[PLGIN] reset of 'extfpuirq' plugin device by virtual method +00000000000i[PLGIN] reset of 'gameport' plugin device by virtual method +00000000000i[PLGIN] reset of 'pci_ide' plugin device by virtual method +00000000000i[PLGIN] reset of 'acpi' plugin device by virtual method +00000000000i[PLGIN] reset of 'ioapic' plugin device by virtual method +00000000000i[PLGIN] reset of 'keyboard' plugin device by virtual method +00000000000i[PLGIN] reset of 'harddrv' plugin device by virtual method +00000000000i[PLGIN] reset of 'serial' plugin device by virtual method +00000000000i[PLGIN] reset of 'parallel' plugin device by virtual method +00000000000i[XGUI ] [x] Mouse off +00000003302i[BIOS ] $Revision: 1.209 $ $Date: 2008/06/02 20:08:10 $ +00000318057i[KBD ] reset-disable command received +00000438667i[VBIOS] VGABios $Id: vgabios.c,v 1.67 2008/01/27 09:44:12 vruppert Exp $ +00000438738i[VGA ] VBE known Display Interface b0c0 +00000438770i[VGA ] VBE known Display Interface b0c4 +00000441695i[VBIOS] VBE Bios $Id: vbe.c,v 1.60 2008/03/02 07:47:21 vruppert Exp $ +00000600000i[XGUI ] charmap update. Font Height is 16 +00000764696i[BIOS ] Starting rombios32 +00000765523i[BIOS ] ram_size=0x02000000 +00000776678i[BIOS ] Found 1 cpu(s) +00000792979i[BIOS ] bios_table_addr: 0x000fb778 end=0x000fcc00 +00000793046i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush) +00001251853i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush) +00001711340i[P2I ] PCI IRQ routing: PIRQA# set to 0x0b +00001711387i[P2I ] PCI IRQ routing: PIRQB# set to 0x09 +00001711434i[P2I ] PCI IRQ routing: PIRQC# set to 0x0b +00001711481i[P2I ] PCI IRQ routing: PIRQD# set to 0x09 +00001711497i[P2I ] write: ELCR2 = 0x0a +00001712434i[BIOS ] PIIX3 init: elcr=00 0a +00001732689i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 +00001735926i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 +00001738659i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 +00001739120i[PIDE ] new BM-DMA address: 0xc000 +00001740003i[BIOS ] region 4: 0x0000c000 +00001742579i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 +00001743079i[ACPI ] new irq line = 11 +00001743116i[ACPI ] new PM base address: 0xb000 +00001743178i[ACPI ] new SM base address: 0xb100 +00001743646i[CPU0 ] Enter to System Management Mode +00001743656i[CPU0 ] RSM: Resuming from System Management Mode +00001743690i[PCI ] setting SMRAM control register to 0x4a +00001743972i[PCI ] setting SMRAM control register to 0x0a +00001767253i[BIOS ] MP table addr=0x000fb850 MPC table addr=0x000fb780 size=0xd0 +00001769456i[BIOS ] SMBIOS table addr=0x000fb860 +00001772500i[BIOS ] ACPI tables: RSDP addr=0x000fb970 ACPI DATA addr=0x01ff0000 size=0x9d8 +00001792033i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush) +00001793045i[BIOS ] bios_table_cur_addr: 0x000fb994 +00374348939i[BIOS ] Booting from 0000:7c00 +00384200000i[XGUI ] charmap update. Font Height is 16 +00423200000i[XGUI ] charmap update. Font Height is 16 +00430800000i[XGUI ] charmap update. Font Height is 16 +00431000000i[XGUI ] charmap update. Font Height is 16 +00794756000p[XGUI ] >>PANIC<< POWER button turned off. +00794756000i[CPU0 ] CPU is in protected mode (active) +00794756000i[CPU0 ] CS.d_b = 32 bit +00794756000i[CPU0 ] SS.d_b = 32 bit +00794756000i[CPU0 ] EFER = 0x00000000 +00794756000i[CPU0 ] | RAX=0000000000000000 RBX=0000000000026260 +00794756000i[CPU0 ] | RCX=00000000000b8000 RDX=00000000000003d4 +00794756000i[CPU0 ] | RSP=0000000000102f68 RBP=0000000000102f68 +00794756000i[CPU0 ] | RSI=00000000000263d3 RDI=00000000000263df +00794756000i[CPU0 ] | R8=0000000000000000 R9=0000000000000000 +00794756000i[CPU0 ] | R10=0000000000000000 R11=0000000000000000 +00794756000i[CPU0 ] | R12=0000000000000000 R13=0000000000000000 +00794756000i[CPU0 ] | R14=0000000000000000 R15=0000000000000000 +00794756000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df if tf sf ZF af PF cf +00794756000i[CPU0 ] | SEG selector base limit G D +00794756000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D +00794756000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1 +00794756000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00794756000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00794756000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00794756000i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00794756000i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1 +00794756000i[CPU0 ] | MSR_FS_BASE:0000000000000000 +00794756000i[CPU0 ] | MSR_GS_BASE:0000000000000000 +00794756000i[CPU0 ] | RIP=0000000000100033 (0000000000100033) +00794756000i[CPU0 ] | CR0=0x60000011 CR2=0x0000000000000000 +00794756000i[CPU0 ] | CR3=0x00000000 CR4=0x00000000 +00794756000i[CPU0 ] 0x0000000000100033>> jmp .-2 (0x00100033) : EBFE +00794756000i[CMOS ] Last time is 946681398 (Fri Dec 31 17:03:18 1999) +00794756000i[XGUI ] Exit +00794756000i[ ] restoring default signal behavior +00794756000i[CTRL ] quit_sim called with exit code 1 diff --git a/MP2/MP2_Sources/bochsrc.bxrc b/MP2/MP2_Sources/bochsrc.bxrc new file mode 100755 index 0000000..310979c --- /dev/null +++ b/MP2/MP2_Sources/bochsrc.bxrc @@ -0,0 +1,48 @@ +############################################################### +# bochsrc.txt file for DLX Linux disk image. +############################################################### + +# how much memory the emulated machine will have +megs: 32 + +# filename of ROM images +romimage: file=BIOS-bochs-latest +vgaromimage: file=VGABIOS-lgpl-latest + +# what disk images will be used +floppya: 1_44=dev_kernel_grub.img, status=inserted +#floppyb: 1_44=floppyb.img, status=inserted + +# hard disk +#ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 +#ata0-master: type=disk, path="c.img", cylinders=306, heads=4, spt=17 +# choose the boot disk. +boot: floppy + +# default config interface is textconfig. +#config_interface: textconfig +#config_interface: wx + +#display_library: x +# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga + +# where do we send log messages? +log: bochsout.txt + +# disable the mouse +mouse: enabled=0 + +# enable key mapping, using US layout as default. +# +# NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows. +# However, the key mapping tables are used in the paste function, so +# in the DLX Linux example I'm enabling keyboard_mapping so that paste +# will work. Cut&Paste is currently implemented on win32 and X windows only. + +#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map +#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-fr.map +#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-de.map +#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-es.map + + +clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000 \ No newline at end of file diff --git a/MP2/MP2_Sources/console.C b/MP2/MP2_Sources/console.C new file mode 100755 index 0000000..2fc0899 --- /dev/null +++ b/MP2/MP2_Sources/console.C @@ -0,0 +1,213 @@ +/* + File: Console.C + + Author: R. Bettati + Department of Computer Science + Texas A&M University + Date : 09/02/2009 + +*/ + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + +#define CONSOLE_START_ADDRESS (unsigned short *)0xB8000 + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "console.H" + +#include "utils.H" +#include "machine.H" + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* CONSTANTS */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* FORWARDS */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* METHODS FOR CLASS C o n s o l e */ +/*--------------------------------------------------------------------------*/ + +/* -- GLOBAL VARIABLES -- */ + + int Console::attrib; /* background and foreground color */ + int Console::csr_x; /* position of cursor */ + int Console::csr_y; + unsigned short * Console::textmemptr; /* text pointer */ + +/* -- CONSTRUCTOR -- */ + +void Console::init(unsigned char _fore_color, + unsigned char _back_color) { + set_TextColor(_fore_color, _back_color); + csr_x = 0; + csr_y = 0; + textmemptr = CONSOLE_START_ADDRESS; + cls(); +} + + +void Console::scroll() { + + /* A blank is defined as a space... we need to give it + * backcolor too */ + unsigned blank = 0x20 | (attrib << 8); + + /* Row 25 is the end, this means we need to scroll up */ + if(csr_y >= 25) + { + /* Move the current text chunk that makes up the screen + * back in the buffer by a line */ + unsigned temp = csr_y - 25 + 1; + memcpy ((char*)textmemptr, (char*)(textmemptr + temp * 80), (25 - temp) * 80 * 2); + + /* Finally, we set the chunk of memory that occupies + * the last line of text to our 'blank' character */ + memsetw (textmemptr + (25 - temp) * 80, blank, 80); + csr_y = 25 - 1; + } +} + + +void Console::move_cursor() { + + /* The equation for finding the index in a linear + * chunk of memory can be represented by: + * Index = [(y * width) + x] */ + unsigned temp = csr_y * 80 + csr_x; + + /* This sends a command to indicies 14 and 15 in the + * Console Control Register of the VGA controller. These + * are the high and low bytes of the index that show + * where the hardware cursor is to be 'blinking'. To + * learn more, you should look up some VGA specific + * programming documents. A great start to graphics: + * http://www.brackeen.com/home/vga */ + Machine::outportb(0x3D4, (char)14); + //outportb(0x3D5, temp >> 8); + Machine::outportb(0x3D4, 15); + //outportb(0x3D5, (char)temp); +} + +/* Clear the screen */ +void Console::cls() { + + /* Again, we need the 'short' that will be used to + * represent a space with color */ + unsigned blank = 0x20 | (attrib << 8); + + /* Sets the entire screen to spaces in our current + * color */ + for(int i = 0; i < 25; i++) + memsetw (textmemptr + i * 80, blank, 80); + + /* Update out virtual cursor, and then move the + * hardware cursor */ + csr_x = 0; + csr_y = 0; + move_cursor(); +} + +/* Puts a single character on the screen */ +void Console::putch(const char _c){ + + + /* Handle a backspace, by moving the cursor back one space */ + if(_c == 0x08) + { + if(csr_x != 0) csr_x--; + } + /* Handles a tab by incrementing the cursor's x, but only + * to a point that will make it divisible by 8 */ + else if(_c == 0x09) + { + csr_x = (csr_x + 8) & ~(8 - 1); + } + /* Handles a 'Carriage Return', which simply brings the + * cursor back to the margin */ + else if(_c == '\r') + { + csr_x = 0; + } + /* We handle our newlines the way DOS and the BIOS do: we + * treat it as if a 'CR' was also there, so we bring the + * cursor to the margin and we increment the 'y' value */ + else if(_c == '\n') + { + csr_x = 0; + csr_y++; + } + /* Any character greater than and including a space, is a + * printable character. The equation for finding the index + * in a linear chunk of memory can be represented by: + * Index = [(y * width) + x] */ + else if(_c >= ' ') + { + unsigned short * where = textmemptr + (csr_y * 80 + csr_x); + *where = _c | (attrib << 8); /* Character AND attributes: color */ + csr_x++; + } + + /* If the cursor has reached the edge of the screen's width, we + * insert a new line in there */ + if(csr_x >= 80) + { + csr_x = 0; + csr_y++; + } + + /* Scroll the screen if needed, and finally move the cursor */ + scroll(); + move_cursor(); +} + +/* Uses the above routine to output a string... */ +void Console::puts(const char * _s) { + + for (int i = 0; i < strlen(_s); i++) { + putch(_s[i]); + } +} + +void Console::puti(const int _n) { + char foostr[15]; + + int2str(_n, foostr); + puts(foostr); +} + +void Console::putui(const unsigned int _n) { + char foostr[15]; + + uint2str(_n, foostr); + putch('<'); + puts(foostr); + putch('>'); +} + + +/* -- COLOR CONTROL -- */ +void Console::set_TextColor(const unsigned char _forecolor, + const unsigned char _backcolor) { + /* Top 4 bytes are the background, bottom 4 bytes + * are the foreground color */ + attrib = (_backcolor << 4) | (_forecolor & 0x0F); +} + diff --git a/MP2/MP2_Sources/console.H b/MP2/MP2_Sources/console.H new file mode 100755 index 0000000..aa24fda --- /dev/null +++ b/MP2/MP2_Sources/console.H @@ -0,0 +1,113 @@ +/* + File: Console.H + + Author : R. Bettati + Department of Computer Science + Texas A&M University + Date : 09/02/12 + + The class Console encapsulates the output operations ot the console + screen. Since the console is initialized at the very beginning of the + boot-up of the operating system, when no memory management is available + yet, all functions and storage for the console are static. + + The console is initialized with an "init" function instead of a + constructor. (We don't want to deal with constructors that are called + before the "main()" function.) + + By making all functions static, we can access them across all object + files without having to declare a global Console object or pass pointers + to a locally declared object. + +*/ + +#ifndef _Console_H_ // include file only once +#define _Console_H_ + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none -- */ + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + +typedef enum { + BLACK = 0, + BLUE = 1, + GREEN = 2, + CYAN = 3, + RED = 4, + MAGENTA = 5, + BROWN = 6, + LIGHT_GREY = 7, + DARK_GREY = 8, + LIGHT_BLUE = 9, + LIGHT_GREEN = 10, + LIGHT_CYAN = 11, + LIGHT_RED = 12, + LIGHT_MAGENTA = 13, + LIGHT_BROWN = 14, + WHITE = 15 +} COLOR_CODE; + + +/*--------------------------------------------------------------------------*/ +/* FORWARDS */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* CLASS C o n s o l e */ +/*--------------------------------------------------------------------------*/ + +class Console { +private: + static int attrib; /* background and foreground color */ + static int csr_x; /* position of cursor */ + static int csr_y; + static unsigned short * textmemptr; /* text pointer */ +public: + + /* -- INITIALIZER (we have no constructor, there is no memory mgmt yet.) */ + static void init(unsigned char _fore_color = WHITE, + unsigned char _back_color = BLACK); + + static void scroll(); + + static void move_cursor(); + /* Update the hardware cursor. */ + + static void cls(); + /* Clear the screen. */ + + static void putch(const char _c); + /* Put a single character on the screen. */ + + static void puts(const char * _s); + /* Display a NULL-terminated string on the screen.*/ + + static void puti(const int _i); + /* Display a integer on the screen.*/ + + static void putui(const unsigned int _u); + /* Display a unsigned integer on the screen.*/ + + static void set_TextColor(unsigned char _fore_color, unsigned char _back_color); + /* Set the color of the foreground and background. */ + +}; + + +#endif + + diff --git a/MP2/MP2_Sources/cont_frame_pool.C b/MP2/MP2_Sources/cont_frame_pool.C new file mode 100644 index 0000000..6ded45a --- /dev/null +++ b/MP2/MP2_Sources/cont_frame_pool.C @@ -0,0 +1,162 @@ +/* + File: ContFramePool.C + + Author: + Date : + + */ + +/*--------------------------------------------------------------------------*/ +/* + POSSIBLE IMPLEMENTATION + ----------------------- + + The class SimpleFramePool in file "simple_frame_pool.H/C" describes an + incomplete vanilla implementation of a frame pool that allocates + *single* frames at a time. Because it does allocate one frame at a time, + it does not guarantee that a sequence of frames is allocated contiguously. + This can cause problems. + + The class ContFramePool has the ability to allocate either single frames, + or sequences of contiguous frames. This affects how we manage the + free frames. In SimpleFramePool it is sufficient to maintain the free + frames. + In ContFramePool we need to maintain free *sequences* of frames. + + This can be done in many ways, ranging from extensions to bitmaps to + free-lists of frames etc. + + IMPLEMENTATION: + + One simple way to manage sequences of free frames is to add a minor + extension to the bitmap idea of SimpleFramePool: Instead of maintaining + whether a frame is FREE or ALLOCATED, which requires one bit per frame, + we maintain whether the frame is FREE, or ALLOCATED, or HEAD-OF-SEQUENCE. + The meaning of FREE is the same as in SimpleFramePool. + If a frame is marked as HEAD-OF-SEQUENCE, this means that it is allocated + and that it is the first such frame in a sequence of frames. Allocated + frames that are not first in a sequence are marked as ALLOCATED. + + NOTE: If we use this scheme to allocate only single frames, then all + frames are marked as either FREE or HEAD-OF-SEQUENCE. + + NOTE: In SimpleFramePool we needed only one bit to store the state of + each frame. Now we need two bits. In a first implementation you can choose + to use one char per frame. This will allow you to check for a given status + without having to do bit manipulations. Once you get this to work, + revisit the implementation and change it to using two bits. You will get + an efficiency penalty if you use one char (i.e., 8 bits) per frame when + two bits do the trick. + + DETAILED IMPLEMENTATION: + + How can we use the HEAD-OF-SEQUENCE state to implement a contiguous + allocator? Let's look a the individual functions: + + Constructor: Initialize all frames to FREE, except for any frames that you + need for the management of the frame pool, if any. + + get_frames(_n_frames): Traverse the "bitmap" of states and look for a + sequence of at least _n_frames entries that are FREE. If you find one, + mark the first one as HEAD-OF-SEQUENCE and the remaining _n_frames-1 as + ALLOCATED. + + release_frames(_first_frame_no): Check whether the first frame is marked as + HEAD-OF-SEQUENCE. If not, something went wrong. If it is, mark it as FREE. + Traverse the subsequent frames until you reach one that is FREE or + HEAD-OF-SEQUENCE. Until then, mark the frames that you traverse as FREE. + + mark_inaccessible(_base_frame_no, _n_frames): This is no different than + get_frames, without having to search for the free sequence. You tell the + allocator exactly which frame to mark as HEAD-OF-SEQUENCE and how many + frames after that to mark as ALLOCATED. + + needed_info_frames(_n_frames): This depends on how many bits you need + to store the state of each frame. If you use a char to represent the state + of a frame, then you need one info frame for each FRAME_SIZE frames. + + A WORD ABOUT RELEASE_FRAMES(): + + When we releae a frame, we only know its frame number. At the time + of a frame's release, we don't know necessarily which pool it came + from. Therefore, the function "release_frame" is static, i.e., + not associated with a particular frame pool. + + This problem is related to the lack of a so-called "placement delete" in + C++. For a discussion of this see Stroustrup's FAQ: + http://www.stroustrup.com/bs_faq2.html#placement-delete + + */ +/*--------------------------------------------------------------------------*/ + + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "cont_frame_pool.H" +#include "console.H" +#include "utils.H" +#include "assert.H" + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* CONSTANTS */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* FORWARDS */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* METHODS FOR CLASS C o n t F r a m e P o o l */ +/*--------------------------------------------------------------------------*/ + +ContFramePool::ContFramePool(unsigned long _base_frame_no, + unsigned long _n_frames, + unsigned long _info_frame_no, + unsigned long _n_info_frames) +{ + // TODO: IMPLEMENTATION NEEEDED! + assert(false); +} + +unsigned long ContFramePool::get_frames(unsigned int _n_frames) +{ + // TODO: IMPLEMENTATION NEEEDED! + assert(false); +} + +void ContFramePool::mark_inaccessible(unsigned long _base_frame_no, + unsigned long _n_frames) +{ + // TODO: IMPLEMENTATION NEEEDED! + assert(false); +} + +void ContFramePool::release_frames(unsigned long _first_frame_no) +{ + // TODO: IMPLEMENTATION NEEEDED! + assert(false); +} + +unsigned long ContFramePool::needed_info_frames(unsigned long _n_frames) +{ + // TODO: IMPLEMENTATION NEEEDED! + assert(false); +} diff --git a/MP2/MP2_Sources/cont_frame_pool.H b/MP2/MP2_Sources/cont_frame_pool.H new file mode 100755 index 0000000..115964c --- /dev/null +++ b/MP2/MP2_Sources/cont_frame_pool.H @@ -0,0 +1,119 @@ +/* + File: cont_frame_pool.H + + Author: R. Bettati + Department of Computer Science + Texas A&M University + Date : 17/02/04 + + Description: Management of the CONTIGUOUS Free-Frame Pool. + + As opposed to a non-contiguous free-frame pool, here we can allocate + a sequence of CONTIGUOUS frames. + + */ + +#ifndef _CONT_FRAME_POOL_H_ // include file only once +#define _CONT_FRAME_POOL_H_ + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "machine.H" + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* C o n t F r a m e P o o l */ +/*--------------------------------------------------------------------------*/ + +class ContFramePool { + +private: + /* -- DEFINE YOUR CONT FRAME POOL DATA STRUCTURE(s) HERE. */ + +public: + + // The frame size is the same as the page size, duh... + static const unsigned int FRAME_SIZE = Machine::PAGE_SIZE; + + ContFramePool(unsigned long _base_frame_no, + unsigned long _n_frames, + unsigned long _info_frame_no, + unsigned long _n_info_frames); + /* + Initializes the data structures needed for the management of this + frame pool. + _base_frame_no: Number of first frame managed by this frame pool. + _n_frames: Size, in frames, of this frame pool. + EXAMPLE: If _base_frame_no is 16 and _n_frames is 4, this frame pool manages + physical frames numbered 16, 17, 18 and 19. + _info_frame_no: Number of the first frame that should be used to store the + management information for the frame pool. + NOTE: If _info_frame_no is 0, the frame pool is free to + choose any frames from the pool to store management information. + _n_info_frames: If _info_frame_no is 0, this argument specifies the + number of consecutive frames needed to store the management information + for the frame pool. + EXAMPLE: If _info_frame_no is 699 and _n_info_frames is 3, + then Frames 699, 700, and 701 are used to store the management information + for the frame pool. + NOTE: This function must be called before the paging system + is initialized. + */ + + unsigned long get_frames(unsigned int _n_frames); + /* + Allocates a number of contiguous frames from the frame pool. + _n_frames: Size of contiguous physical memory to allocate, + in number of frames. + If successful, returns the frame number of the first frame. + If fails, returns 0. + */ + + void mark_inaccessible(unsigned long _base_frame_no, + unsigned long _n_frames); + /* + Marks a contiguous area of physical memory, i.e., a contiguous + sequence of frames, as inaccessible. + _base_frame_no: Number of first frame to mark as inaccessible. + _n_frames: Number of contiguous frames to mark as inaccessible. + */ + + static void release_frames(unsigned long _first_frame_no); + /* + Releases a previously allocated contiguous sequence of frames + back to its frame pool. + The frame sequence is identified by the number of the first frame. + NOTE: This function is static because there may be more than one frame pool + defined in the system, and it is unclear which one this frame belongs to. + This function must first identify the correct frame pool and then call the frame + pool's release_frame function. + */ + + static unsigned long needed_info_frames(unsigned long _n_frames); + /* + Returns the number of frames needed to manage a frame pool of size _n_frames. + The number returned here depends on the implementation of the frame pool and + on the frame size. + EXAMPLE: For FRAME_SIZE = 4096 and a bitmap with a single bit per frame + (not appropriate for contiguous allocation) one would need one frame to manage a + frame pool with up to 8 * 4096 = 32k frames = 128MB of memory! + This function would therefore return the following value: + _n_frames / 32k + (_n_frames % 32k > 0 ? 1 : 0) (always round up!) + Other implementations need a different number of info frames. + The exact number is computed in this function.. + */ +}; +#endif diff --git a/MP2/MP2_Sources/copykernel.sh b/MP2/MP2_Sources/copykernel.sh new file mode 100755 index 0000000..afd49c3 --- /dev/null +++ b/MP2/MP2_Sources/copykernel.sh @@ -0,0 +1,5 @@ +# Replace "/mnt/floppy" with the whatever directory is appropriate. +sudo mount -o loop dev_kernel_grub.img /mnt/floppy +sudo cp kernel.bin /mnt/floppy +sleep 1s +sudo umount /mnt/floppy diff --git a/MP2/MP2_Sources/dev_kernel_grub.img b/MP2/MP2_Sources/dev_kernel_grub.img new file mode 100755 index 0000000000000000000000000000000000000000..e548c4de2d149b0bfc09b3a0213e11cd93c9de83 GIT binary patch literal 1474560 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 z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ n009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0Rja6)(iX}=Hh`v literal 0 HcmV?d00001 diff --git a/MP2/MP2_Sources/kernel.C b/MP2/MP2_Sources/kernel.C new file mode 100755 index 0000000..6b4e301 --- /dev/null +++ b/MP2/MP2_Sources/kernel.C @@ -0,0 +1,133 @@ +/* + File: kernel.C + + Author: R. Bettati + Department of Computer Science + Texas A&M University + Date : 02/02/17 + + + This file has the main entry point to the operating system. + +*/ + + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + +#define MB * (0x1 << 20) +#define KB * (0x1 << 10) +/* Makes things easy to read */ + +#define KERNEL_POOL_START_FRAME ((2 MB) / (4 KB)) +#define KERNEL_POOL_SIZE ((2 MB) / (4 KB)) +#define PROCESS_POOL_START_FRAME ((4 MB) / (4 KB)) +#define PROCESS_POOL_SIZE ((28 MB) / (4 KB)) +/* Definition of the kernel and process memory pools */ + +#define MEM_HOLE_START_FRAME ((15 MB) / (4 KB)) +#define MEM_HOLE_SIZE ((1 MB) / (4 KB)) +/* We have a 1 MB hole in physical memory starting at address 15 MB */ + +#define TEST_START_ADDR_PROC (4 MB) +#define TEST_START_ADDR_KERNEL (2 MB) +/* Used in the memory test below to generate sequences of memory references. */ +/* One is for a sequence of memory references in the kernel space, and the */ +/* other for memory references in the process space. */ + +#define N_TEST_ALLOCATIONS +/* Number of recursive allocations that we use to test. */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "machine.H" /* LOW-LEVEL STUFF */ +#include "console.H" + +#include "assert.H" +#include "cont_frame_pool.H" /* The physical memory manager */ + +/*--------------------------------------------------------------------------*/ +/* FORWARDS */ +/*--------------------------------------------------------------------------*/ + +void test_memory(ContFramePool * _pool, unsigned int _allocs_to_go); + +/*--------------------------------------------------------------------------*/ +/* MAIN ENTRY INTO THE OS */ +/*--------------------------------------------------------------------------*/ + +int main() { + + Console::init(); + + /* -- INITIALIZE FRAME POOLS -- */ + + /* ---- KERNEL POOL -- */ + + ContFramePool kernel_mem_pool(KERNEL_POOL_START_FRAME, + KERNEL_POOL_SIZE, + 0, + 0); + + + /* ---- PROCESS POOL -- */ + +/* + unsigned long n_info_frames = ContFramePool::needed_info_frames(PROCESS_POOL_SIZE); + + unsigned long process_mem_pool_info_frame = kernel_mem_pool.get_frames(n_info_frames); + + ContFramePool process_mem_pool(PROCESS_POOL_START_FRAME, + PROCESS_POOL_SIZE, + process_mem_pool_info_frame, + n_info_frames); + + process_mem_pool.mark_inaccessible(MEM_HOLE_START_FRAME, MEM_HOLE_SIZE); +*/ + /* -- MOST OF WHAT WE NEED IS SETUP. THE KERNEL CAN START. */ + + Console::puts("Hello World!\n"); + + /* -- TEST MEMORY ALLOCATOR */ + + test_memory(&kernel_mem_pool, 32); + + /* ---- Add code here to test the frame pool implementation. */ + + /* -- NOW LOOP FOREVER */ + Console::puts("Testing is DONE. We will do nothing forever\n"); + Console::puts("Feel free to turn off the machine now.\n"); + + for(;;); + + /* -- WE DO THE FOLLOWING TO KEEP THE COMPILER HAPPY. */ + return 1; +} + +void test_memory(ContFramePool * _pool, unsigned int _allocs_to_go) { + Console::puts("alloc_to_go = "); Console::puti(_allocs_to_go); Console::puts("\n"); + if (_allocs_to_go > 0) { + int n_frames = _allocs_to_go % 4 + 1; + unsigned long frame = _pool->get_frames(n_frames); + int * value_array = (int*)(frame * (4 KB)); + for (int i = 0; i < (1 KB) * n_frames; i++) { + value_array[i] = _allocs_to_go; + } + test_memory(_pool, _allocs_to_go - 1); + for (int i = 0; i < (1 KB) * n_frames; i++) { + if(value_array[i] != _allocs_to_go){ + Console::puts("MEMORY TEST FAILED. ERROR IN FRAME POOL\n"); + Console::puts("i ="); Console::puti(i); + Console::puts(" v = "); Console::puti(value_array[i]); + Console::puts(" n ="); Console::puti(_allocs_to_go); + Console::puts("\n"); + for(;;); + } + } + ContFramePool::release_frames(frame); + } +} + diff --git a/MP2/MP2_Sources/linker.ld b/MP2/MP2_Sources/linker.ld new file mode 100755 index 0000000..fbb9a12 --- /dev/null +++ b/MP2/MP2_Sources/linker.ld @@ -0,0 +1,36 @@ +OUTPUT_FORMAT("binary") +ENTRY(start) +phys = 0x00100000; +SECTIONS +{ + .text phys : AT(phys) { + code = .; + *(.text) + *(.gnu.linkonce.t.*) + *(.gnu.linkonce.r.*) + *(.rodata) + . = ALIGN(4096); + } + .data : AT(phys + (data - code)) + { + data = .; + *(.data) + start_ctors = .; + *(.ctor*) + end_ctors = .; + start_dtors = .; + *(.dtor*) + end_dtors = .; + *(.gnu.linkonce.d.*) + . = ALIGN(4096); + } + .bss : AT(phys + (bss - code)) + { + bss = .; + *(.bss) + *(.gnu.linkonce.b.*) + . = ALIGN(4096); + } + end = .; +} + diff --git a/MP2/MP2_Sources/machine.C b/MP2/MP2_Sources/machine.C new file mode 100755 index 0000000..2d756a7 --- /dev/null +++ b/MP2/MP2_Sources/machine.C @@ -0,0 +1,70 @@ +/* + File: machine.C + + Author: R. Bettati + Department of Computer Science + Texas A&M University + Date : 12/09/04 + + LOW-LEVEL MACHINE FUNCTIONS. + +*/ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "machine.H" +#include "machine_low.H" + +#include "assert.H" + +/*--------------------------------------------------------------------------*/ +/* INTERRUPTS */ +/*--------------------------------------------------------------------------*/ + +bool Machine::interrupts_enabled() { + /* We check the IF flag (INTERRUPT ENABLE) in the EFLAGS status register. */ + return get_EFLAGS() & (1 << 9); +} + +void Machine::enable_interrupts() { + assert(!interrupts_enabled()); + __asm__ __volatile__ ("sti"); +} + +void Machine::disable_interrupts() { + assert(interrupts_enabled()); + __asm__ __volatile__ ("cli"); +} + +/*--------------------------------------------------------------------------*/ +/* PORT I/O OPERATIONS */ +/*--------------------------------------------------------------------------*/ + +/* We will use this later on for reading from the I/O ports to get data +* from devices such as the keyboard. We are using what is called +* 'inline assembly' in these routines to actually do the work */ +char Machine::inportb (unsigned short _port) { + unsigned char rv; + __asm__ __volatile__ ("inb %1, %0" : "=a" (rv) : "dN" (_port)); + return rv; +} + +unsigned short Machine::inportw (unsigned short _port) { + unsigned short rv; + __asm__ __volatile__ ("inw %1, %0" : "=a" (rv) : "dN" (_port)); + return rv; +} + +/* We will use this to write to I/O ports to send bytes to devices. This +* will be used in the next tutorial for changing the textmode cursor +* position. Again, we use some inline assembly for the stuff that simply +* cannot be done in C */ +void Machine::outportb (unsigned short _port, char _data) { + __asm__ __volatile__ ("outb %1, %0" : : "dN" (_port), "a" (_data)); +} + +void Machine::outportw (unsigned short _port, unsigned short _data) { + __asm__ __volatile__ ("outw %1, %0" : : "dN" (_port), "a" (_data)); +} diff --git a/MP2/MP2_Sources/machine.H b/MP2/MP2_Sources/machine.H new file mode 100755 index 0000000..68eb6df --- /dev/null +++ b/MP2/MP2_Sources/machine.H @@ -0,0 +1,123 @@ +/* + File: machine.H + + Author: R. Bettati + Department of Computer Science + Texas A&M University + Date : 12/09/05 + + Description: Low-level definitions for x86 architecture. + + - Register context + - Data and code segment for kernel. + - Interrupt enable/disable. + +*/ + +#ifndef _machine_H_ // include file only once +#define _machine_H_ + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + +/* REGISTER CONTEXT ON THE STACK WHEN EXCEPTION/INTERRUPT REACHES EXCEPTION + DISPATCHER OR INTERRUPT DISPATCHER. + THIS IS ALSO USED IN THREAD SCHEDULING (for context switching) */ +typedef struct regs { + + /* segment descriptors */ + unsigned int gs; + unsigned int fs; + unsigned int es; + unsigned int ds; + + /* General purpose registers, managed by pusha/popa in x86. */ + unsigned int edi; + unsigned int esi; + unsigned int ebp; + unsigned int esp; + unsigned int ebx; + unsigned int edx; + unsigned int ecx; + unsigned int eax; + + /* In the low-level handlers (i.e. before we call the + exception or interrupt dispatcher) we push number + of the interrupt and error code onto the stack. */ + unsigned int int_no; + unsigned int err_code; + + /* These registers are pushed on the stack when + the exception occurs. */ + unsigned int eip; + unsigned int cs; + unsigned int eflags; + + /* These registers are pushed on the stack only when + the exception occured in user mode. + As long as you are in kernel mode, the register context + is 68 bytes long, and not 76! */ + unsigned int useresp; + unsigned int ss; +} REGS; + + +/*--------------------------------------------------------------------------*/ +/* CLASS M a c h i n e */ +/*--------------------------------------------------------------------------*/ + +class Machine { + +public: + +/*---------------------------------------------------------------*/ +/* MEMORY MANAGEMENT */ +/*---------------------------------------------------------------*/ + + static const unsigned int PAGE_SIZE = 4096; + static const unsigned int PT_ENTRIES_PER_PAGE = 1024; + +/*---------------------------------------------------------------*/ +/* INTERRUPTS */ +/*---------------------------------------------------------------*/ + + /* + This is done by checking the Interrupt Enabled flag in the + EFLAG status register and by issuing STI/CLI instructions. + (NOTE: If we have multiple threads, each has its own status register.) + */ + + static bool interrupts_enabled(); + /* Returns whether interrupts are enabled. */ + + static void enable_interrupts(); + static void disable_interrupts(); + /* Issue CLI/STI instructions. */ + +/*---------------------------------------------------------------*/ +/* PORT I/O OPERATIONS */ +/*---------------------------------------------------------------*/ + + static char inportb (unsigned short _port); + static unsigned short inportw (unsigned short _port); + /* Read data from input port _port.*/ + + static void outportb (unsigned short _port, char _data); + static void outportw (unsigned short _port, unsigned short _data); + /* Write _data to output port _port.*/ + +}; +#endif diff --git a/MP2/MP2_Sources/machine_low.H b/MP2/MP2_Sources/machine_low.H new file mode 100755 index 0000000..ff58008 --- /dev/null +++ b/MP2/MP2_Sources/machine_low.H @@ -0,0 +1,31 @@ +/* + File: machine_low.H + + Author: R. Bettati + Department of Computer Science + Texas A&M University + Date : 12/09/03 + + + Low-level CPU operations. + +*/ + +#ifndef _machine_low_H_ // include file only once +#define _machine_low_H_ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + + /* (none) */ + +/*--------------------------------------------------------------------------*/ +/* LOW-LEVER CPU OPERATIONS */ +/*--------------------------------------------------------------------------*/ + +extern "C" unsigned long get_EFLAGS(); +/* Return value of the EFLAGS status register. */ + +#endif + diff --git a/MP2/MP2_Sources/machine_low.asm b/MP2/MP2_Sources/machine_low.asm new file mode 100755 index 0000000..1d0998e --- /dev/null +++ b/MP2/MP2_Sources/machine_low.asm @@ -0,0 +1,18 @@ +; File: machine_low.asm +; +; Low level CPU handling functions. +; +; September 3, 2012 + +; ---------------------------------------------------------------------- +; get_EFLAGS() +; +; Returns value of the EFLAGS status register. +; +; ---------------------------------------------------------------------- +global _get_EFLAGS +; this function is exported. +_get_EFLAGS: + pushfd ; push eflags + pop eax ; pop contents into eax + ret \ No newline at end of file diff --git a/MP2/MP2_Sources/makefile b/MP2/MP2_Sources/makefile new file mode 100755 index 0000000..de8f872 --- /dev/null +++ b/MP2/MP2_Sources/makefile @@ -0,0 +1,47 @@ +CPP = gcc +CPP_OPTIONS = -m32 -nostdlib -fno-builtin -nostartfiles -nodefaultlibs -fno-exceptions -fno-rtti -fno-stack-protector -fleading-underscore -fno-asynchronous-unwind-tables + +all: kernel.bin + +clean: + rm -f *.o *.bin + +start.o: start.asm + nasm -f aout -o start.o start.asm + +utils.o: utils.C utils.H + $(CPP) $(CPP_OPTIONS) -c -o utils.o utils.C + +assert.o: assert.C assert.H + $(CPP) $(CPP_OPTIONS) -c -o assert.o assert.C + + +# ==== VARIOUS LOW-LEVEL STUFF ===== + +machine.o: machine.C machine.H + $(CPP) $(CPP_OPTIONS) -c -o machine.o machine.C + +machine_low.o: machine_low.asm machine_low.H + nasm -f aout -o machine_low.o machine_low.asm + +# ==== DEVICES ===== + +console.o: console.C console.H + $(CPP) $(CPP_OPTIONS) -c -o console.o console.C + +# ==== MEMORY ===== + +cont_frame_pool.o: cont_frame_pool.C cont_frame_pool.H + $(CPP) $(CPP_OPTIONS) -c -o cont_frame_pool.o cont_frame_pool.C + +# ==== KERNEL MAIN FILE ===== + +kernel.o: kernel.C console.H + $(CPP) $(CPP_OPTIONS) -c -o kernel.o kernel.C + + +kernel.bin: start.o utils.o kernel.o assert.o console.o \ + cont_frame_pool.o machine.o machine_low.o + ld -melf_i386 -T linker.ld -o kernel.bin start.o utils.o \ + kernel.o assert.o console.o \ + cont_frame_pool.o machine.o machine_low.o diff --git a/MP2/MP2_Sources/simple_frame_pool.C b/MP2/MP2_Sources/simple_frame_pool.C new file mode 100644 index 0000000..711aa34 --- /dev/null +++ b/MP2/MP2_Sources/simple_frame_pool.C @@ -0,0 +1,127 @@ +#include "simple_frame_pool.H" +#include "console.H" +#include "utils.H" +#include "assert.H" + +SimpleFramePool::SimpleFramePool(unsigned long _base_frame_no, + unsigned long _nframes, + unsigned long _info_frame_no) +{ + // Bitmap must fit in a single frame! + assert(_nframes <= FRAME_SIZE * 8); + + base_frame_no = _base_frame_no; + nframes = _nframes; + nFreeFrames = _nframes; + info_frame_no = _info_frame_no; + + // If _info_frame_no is zero then we keep management info in the first + //frame, else we use the provided frame to keep management info + if(info_frame_no == 0) { + bitmap = (unsigned char *) (base_frame_no * FRAME_SIZE); + } else { + bitmap = (unsigned char *) (info_frame_no * FRAME_SIZE); + } + + // Number of frames must be "fill" the bitmap! + assert ((nframes % 8 ) == 0); + + + // Everything ok. Proceed to mark all bits in the bitmap + for(int i=0; i*8 < _nframes; i++) { + bitmap[i] = 0xFF; + } + + // Mark the first frame as being used if it is being used + if(_info_frame_no == 0) { + bitmap[0] = 0x7F; + nFreeFrames--; + } + + Console::puts("Frame Pool initialized\n"); +} + +unsigned long SimpleFramePool::get_frame() +{ + + // Any frames left to allocate? + assert(nFreeFrames > 0); + + // Find a frame that is not being used and return its frame index. + // Mark that frame as being used in the bitmap. + unsigned int frame_no = base_frame_no; + + unsigned int i = 0; + while (bitmap[i] == 0x0) { + i++; + } + + frame_no += i * 8; + + unsigned char mask = 0x80; + while ((mask & bitmap[i]) == 0) { + mask = mask >> 1; + frame_no++; + } + nFreeFrames--; + + // Update bitmap + bitmap[i] = bitmap[i] ^ mask; + + return (frame_no); +} + +void SimpleFramePool::mark_inaccessible(unsigned long _base_frame_no, + unsigned long _nframes) +{ + // Mark all frames in the range as being used. + int i ; + for(i = _base_frame_no; i < _base_frame_no + _nframes; i++){ + mark_inaccessible(i); + } + nFreeFrames -= _nframes; +} + +void SimpleFramePool::mark_inaccessible(unsigned long _frame_no) +{ + // Let's first do a range check. + assert ((_frame_no >= base_frame_no) && (_frame_no < base_frame_no + nframes)); + + unsigned int bitmap_index = (_frame_no - base_frame_no) / 8; + unsigned char mask = 0x80 >> ((_frame_no - base_frame_no) % 8); + + // Is the frame being used already? + assert((bitmap[bitmap_index] & mask) != 0); + + // Update bitmap + bitmap[bitmap_index] ^= mask; + nFreeFrames--; +} + +void SimpleFramePool::release_frame(unsigned long _frame_no) +{ + // -- WE LEAVE THE IMPLEMENTATION OF THIS FUNCTION TO YOU. + // NOTE: Keep in mind that you first need to identify the correct frame pool. + // The function is static, and you are only given a frame number. You do have + // to figure out which frame pool this frame belongs to before you can call the + // frame-pool-specific release_frame function. + + +#ifdef JUST_AS_EXAMPLE + // Inside the frame-pool specific release_frame function we mark the frame + // as released as follows: + + unsigned int bitmap_index = (_frame_no - base_frame_no) / 8; + unsigned char mask = 0x80 >> ((_frame_no - base_frame_no) % 8); + + if((bitmap[bitmap_index] & mask) != 0) { + Console::puts("Error, Frame being released is not being used\n"); + assert(false); + } + + bitmap[bitmap_index] ^= mask; + + nFreeFrames++; +#endif +} + diff --git a/MP2/MP2_Sources/simple_frame_pool.H b/MP2/MP2_Sources/simple_frame_pool.H new file mode 100755 index 0000000..8c95908 --- /dev/null +++ b/MP2/MP2_Sources/simple_frame_pool.H @@ -0,0 +1,108 @@ +/* + File: simple_frame_pool.H + + Author: R. Bettati + Department of Computer Science + Texas A&M University + Date : 12/09/03 + + Description: Management of the non-contiguous Free-Frame Pool. + + +*/ + +#ifndef _FRAME_POOL_H_ // include file only once +#define _FRAME_POOL_H_ + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "machine.H" + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + +/* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* S i m p l e F r a m e P o o l */ +/*--------------------------------------------------------------------------*/ + +class SimpleFramePool { + +private: + /* -- DEFINE YOUR FRAME POOL DATA STRUCTURE(s) HERE. */ + + + unsigned char * bitmap; // We implement the simple frame pool with a bitmap + unsigned int nFreeFrames; // + unsigned long base_frame_no; // Where does the frame pool start in phys mem? + unsigned long nframes; // Size of the frame pool + unsigned long info_frame_no; // Where do we store the management information? + + void mark_inaccessible(unsigned long _frame_no); + +public: + + static const unsigned int FRAME_SIZE = Machine::PAGE_SIZE; + + SimpleFramePool(unsigned long _base_frame_no, + unsigned long _nframes, + unsigned long _info_frame_no); + /* Initializes the data structures needed for the management of this + frame pool. This function must be called before the paging system + is initialized. + _base_frame_no is the frame number at the start of the physical memory + region that this frame pool manages. + _nframes is the number of frames in the physical memory region that this + frame pool manages. + e.g. If _base_frame_no is 16 and _nframes is 4, this frame pool manages + physical frames numbered 16, 17, 18 and 19 + _info_frame_no is the frame number (within the directly mapped region) of + the frame that should be used to store the management information of the + frame pool. However, if _info_frame_no is 0, the frame pool is free to + choose any frame from the pool to store management information. + */ + + unsigned long get_frame(); + /* Allocates a frame from the frame pool. If successful, returns the frame + * number of the frame. If fails, returns 0. */ + + void mark_inaccessible(unsigned long _base_frame_no, + unsigned long _nframes); + /* Mark the area of physical memory as inaccessible. The arguments have the + * same semanticas as in the constructor. + */ + + static void release_frame(unsigned long _frame_no); + /* Releases frame back to the given frame pool. + The frame is identified by the frame number. + NOTE: This function is static because there may be more than one frame pool + defined in the system, and it is unclear which one this frame belongs to. + This function must first identify the correct frame pool and then call the frame + pool's release_frame function. */ + + static unsigned long needed_info_frames(unsigned long _n_frames); + /* + Returns the number of frames needed to manage a frame pool of size _n_frames. + The number returned here depends on the implementation of the frame pool and + on the frame size. + EXAMPLE: For FRAME_SIZE = 4096 and a bitmap with a single bit per frame + (not appropriate for contiguous allocation) one would need one frame to manage a + frame pool with up to 8 * 4096 = 32k frames = 128MB of memory! + This function would therefore return the following value: + _n_frames / 32k + (_n_frames % 32k > 0 ? 1 : 0) (always round up!) + Other implementations need a different number of info frames. + The exact number is computed in this function. + */ + +}; +#endif diff --git a/MP2/MP2_Sources/start.asm b/MP2/MP2_Sources/start.asm new file mode 100755 index 0000000..513fda5 --- /dev/null +++ b/MP2/MP2_Sources/start.asm @@ -0,0 +1,57 @@ +; bkerndev - Bran's Kernel Development Tutorial +; By: Brandon F. (friesenb@gmail.com) +; Desc: Kernel entry point, stack, and Interrupt Service Routines. +; +; Notes: No warranty expressed or implied. Use at own risk. +; +; This is the kernel's entry point. We could either call main here, +; or we can use this to setup the stack or other nice stuff, like +; perhaps setting up the GDT and segments. Please note that interrupts +; are disabled at this point: More on interrupts later! +[BITS 32] +global start +start: + mov esp, _sys_stack ; This points the stack to our new stack area + jmp stublet + +; This part MUST be 4byte aligned, so we solve that issue using 'ALIGN 4' +ALIGN 4 +mboot: + ; Multiboot macros to make a few lines later more readable + MULTIBOOT_PAGE_ALIGN equ 1<<0 + MULTIBOOT_MEMORY_INFO equ 1<<1 + MULTIBOOT_AOUT_KLUDGE equ 1<<16 + MULTIBOOT_HEADER_MAGIC equ 0x1BADB002 + MULTIBOOT_HEADER_FLAGS equ MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO | MULTIBOOT_AOUT_KLUDGE + MULTIBOOT_CHECKSUM equ -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) + EXTERN code, bss, end + + ; This is the GRUB Multiboot header. A boot signature + dd MULTIBOOT_HEADER_MAGIC + dd MULTIBOOT_HEADER_FLAGS + dd MULTIBOOT_CHECKSUM + + ; AOUT kludge - must be physical addresses. Make a note of these: + ; The linker script fills in the data for these ones! + dd mboot + dd code + dd bss + dd end + dd start + +; This is an endless loop here. Make a note of this: Later on, we +; will insert an 'extern _main', followed by 'call _main', right +; before the 'jmp $'. +stublet: + extern _main + call _main + jmp $ + +; Here is the definition of our BSS section. Right now, we'll use +; it just to store the stack. Remember that a stack actually grows +; downwards, so we declare the size of the data before declaring +; the identifier '_sys_stack' +SECTION .bss + resb 8192 ; This reserves 8KBytes of memory here +_sys_stack: + diff --git a/MP2/MP2_Sources/utils.C b/MP2/MP2_Sources/utils.C new file mode 100755 index 0000000..15fd38a --- /dev/null +++ b/MP2/MP2_Sources/utils.C @@ -0,0 +1,167 @@ +/* + File: utils.C + + Author: R. Bettati + Department of Computer Science + Texas A&M University + + Date : 09/02/12 + +*/ + +/* Some of the code comes from Brandon Friesens OS Tutorial: +* bkerndev - Bran's Kernel Development Tutorial +* By: Brandon F. (friesenb@gmail.com) +* Desc: Interrupt Descriptor Table management +* +* Notes: No warranty expressed or implied. Use at own risk. */ + + +/*--------------------------------------------------------------------------*/ +/* DEFINES */ +/*--------------------------------------------------------------------------*/ + + /* -- (none ) -- */ + +/*--------------------------------------------------------------------------*/ +/* INCLUDES */ +/*--------------------------------------------------------------------------*/ + +#include "utils.H" + +/*--------------------------------------------------------------------------*/ +/* DATA STRUCTURES */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* CONSTANTS */ +/*--------------------------------------------------------------------------*/ + + /* -- (none) -- */ + +/*--------------------------------------------------------------------------*/ +/* ABORT (USED e.g. IN _ASSERT() */ +/*--------------------------------------------------------------------------*/ + +void abort() { + for(;;); +} + +/*--------------------------------------------------------------------------*/ +/* MEMORY OPERATIONS */ +/*--------------------------------------------------------------------------*/ + +void *memcpy(void *dest, const void *src, int count) +{ + const char *sp = (const char *)src; + char *dp = (char *)dest; + for(; count != 0; count--) *dp++ = *sp++; + return dest; +} + +void *memset(void *dest, char val, int count) +{ + char *temp = (char *)dest; + for( ; count != 0; count--) *temp++ = val; + return dest; +} + +unsigned short *memsetw(unsigned short *dest, unsigned short val, int count) +{ + unsigned short *temp = (unsigned short *)dest; + for( ; count != 0; count--) *temp++ = val; + return dest; +} + +/*--------------------------------------------------------------------------*/ +/* STRING OPERATIONS */ +/*--------------------------------------------------------------------------*/ + + +int strlen(const char *_str) { + /* This loops through character array 'str', returning how + * many characters it needs to check before it finds a 0. + * In simple words, it returns the length in bytes of a string */ + int len = 0; + while (*_str != 0) { + _str++; + len++; + } + return len; +} +void strcpy(char* _dst, char* _src) { + while (*_src != 0) { + *_dst = *_src; + _dst++; + _src++; + } + *_dst = 0; // put terminating 0 at end. +} + +void int2str(int _num, char * _str) { + /* -- THIS IMPLEMENTATION IS ONE PRETTY BAD HACK. */ + int i; + char temp[11]; + + temp[0] = '\0'; + for(i = 1; i <= 10; i++) { + temp[i] = _num % 10 + '0'; + _num /= 10; + } + for(i = 10; temp[i] == '0'; i--); + if( i == 0 ) + i++; + while( i >= 0 ) + *_str++ = temp[i--]; +} + + +void uint2str(unsigned int _num, char * _str) { + /* -- THIS IS A BAD HACK AS WELL. */ + int i; + char temp[11]; + + temp[0] = '\0'; + for(i = 1; i <= 10; i++) { + temp[i] = _num % 10 + '0'; + _num /= 10; + } + for(i = 10; temp[i] == '0'; i--); + if( i == 0 ) + i++; + while( i >= 0 ) + *_str++ = temp[i--]; +} + +/*--------------------------------------------------------------------------*/ +/* POERT I/O OPERATIONS */ +/*--------------------------------------------------------------------------*/ + +/* We will use this later on for reading from the I/O ports to get data +* from devices such as the keyboard. We are using what is called +* 'inline assembly' in these routines to actually do the work */ +char inportb (unsigned short _port) { + unsigned char rv; + __asm__ __volatile__ ("inb %1, %0" : "=a" (rv) : "dN" (_port)); + return rv; +} + +unsigned short inportw (unsigned short _port) { + unsigned short rv; + __asm__ __volatile__ ("inw %1, %0" : "=a" (rv) : "dN" (_port)); + return rv; +} + +/* We will use this to write to I/O ports to send bytes to devices. This +* will be used in the next tutorial for changing the textmode cursor +* position. Again, we use some inline assembly for the stuff that simply +* cannot be done in C */ +void outportb (unsigned short _port, char _data) { + __asm__ __volatile__ ("outb %1, %0" : : "dN" (_port), "a" (_data)); +} + +void outportw (unsigned short _port, unsigned short _data) { + __asm__ __volatile__ ("outw %1, %0" : : "dN" (_port), "a" (_data)); +} diff --git a/MP2/MP2_Sources/utils.H b/MP2/MP2_Sources/utils.H new file mode 100755 index 0000000..71c6c4c --- /dev/null +++ b/MP2/MP2_Sources/utils.H @@ -0,0 +1,62 @@ +/* + File : utils.H + + Author : Riccardo Bettati + Modified : 2017/05/02 + + Description : Various definitions (NULL) and + utility functions (e.g. abort, memory and + string functions). +*/ + +#ifndef _utils_h_ +#define _utils_h_ + +/*---------------------------------------------------------------*/ +/* GENERAL CONSTANTS */ +/*---------------------------------------------------------------*/ + +#ifndef NULL +# define NULL 0 +#endif + +/*---------------------------------------------------------------*/ +/* ABORT */ +/*---------------------------------------------------------------*/ + +void abort(); +/* Stop execution. */ + +/*---------------------------------------------------------------*/ +/* SIMPLE MEMORY OPERATIONS */ +/*---------------------------------------------------------------*/ + +void *memcpy(void *dest, const void *src, int count); +/* Copy _count bytes from _src to _dest. (No check for uverlapping) */ + +void *memset(void *dest, char val, int count); +/* Set _count bytes to value _val, starting from location _dest. */ + +unsigned short *memsetw(unsigned short *dest, unsigned short val, int count); +/* Same as above, but operations are 16-bit wide. */ + +/*---------------------------------------------------------------*/ +/* SIMPLE STRING OPERATIONS (STRINGS ARE NULL-TERMINATED) */ +/*---------------------------------------------------------------*/ + +int strlen(const char * _str); +/* Determine the length of null-terminated string. */ + +void strcpy(char * _dst, char * _src); +/* Copy null-terminated string from _src to _dst. */ + +void int2str(int _num, char * _str); +/* Convert int to null-terminated string. */ + +void uint2str(unsigned int _num, char * _str); +/* Convert unsigned int to null-terminated string. */ + +#endif + + + diff --git a/MP2/__MACOSX/._MP2_Sources b/MP2/__MACOSX/._MP2_Sources new file mode 100644 index 0000000000000000000000000000000000000000..8d5c554603869f6e1c04aec544fadc9521b63af7 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}u^SMB_!U6R09PRZ;$Z`hAt6CfagYwM HE_8JOM2!ci literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._BIOS-bochs-latest b/MP2/__MACOSX/MP2_Sources/._BIOS-bochs-latest new file mode 100644 index 0000000000000000000000000000000000000000..c8e0fc7df1127359fc6c55c2c19ecda4aff72d82 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<P5NXL=f6SzZw0oW5vtvOXw#`l8$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<sRB9s literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._bochsout.txt b/MP2/__MACOSX/MP2_Sources/._bochsout.txt new file mode 100644 index 0000000000000000000000000000000000000000..86ffe4c162f798f95bbf4c343bc63002604dea50 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<&iS4@LWfUmP;vkN;gA>i_D?RSySUt= PqnF;g6~%BaN#+&++Cn=z literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._bochsrc.bxrc b/MP2/__MACOSX/MP2_Sources/._bochsrc.bxrc new file mode 100644 index 0000000000000000000000000000000000000000..9b7e9b12c1f010c0ad58dce13e802f55ac13cd56 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<%tD@d*ym P(MxaLieflqDiZ|&-&8we literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._console.C b/MP2/__MACOSX/MP2_Sources/._console.C new file mode 100644 index 0000000000000000000000000000000000000000..97342089c8d7043e9cacacedb5a725de707616c9 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<!tqCYmK^d)w@+rizGYR)=_@hsYsB57 PqnF;g6~%C}U8WHL)~h=0 literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._console.H b/MP2/__MACOSX/MP2_Sources/._console.H new file mode 100644 index 0000000000000000000000000000000000000000..6d694378741bc5f2600c69e08d966bb948e774f2 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDJkFfiK!X&|3DA4n4c9795aAj&{G7+HXt zv(dCML&O>Q85qQq^KNG&KVttv1n$SBS)&C4||1)ISv1EhkX_M{Z$7bN9Z z=p~kv6lErrmZTN~B}+@vbS+93YHHEY;pUUNF6v|8rmhE@B-q`kW+wAsgSEl@g z2nqGW9u-UVKJNK`y8G*qxMH{7o4MzX%U4Tb^&89THz;n45ZJd^?d8|gX1RYG_mv&jXuUQyJNr?LjPsGz>ajESu!pYH zZ!cY_wvy*$>c7jgCAHUb-{d*y+kD^Z>BJ?T;$lzb)b7kziLs2c&Iow=BYIvy?B1Px zDSj1xd6Somv+em&vpQw*rZasFQ`dao!uRL&q$RS+^WsFKR^)GqJ|etu`-*MaQP-U} zml_G@y7yThYZAD+#nLRtOU`|=4C}NjPAST2+nsz za&N9>hnd@6mJfV|E0cx7mwNBm_5R-B?U&Q+jxM>?sW^d)>+&k*Zr}1ZtJ7|5U&d+W zws3jHrCNPy-P?g@-t4%o;rdrnR<2NTc3Zfty2Lxv%G${n3kpEzGBYmFfYwh`W~m&cle(^<9XJn^ZZGFzcYcGf>wl`^7T1);tX@A>a-~$jjcgK s-a?H$s>`<&J?_!UJ-tY%zWYl}_~S_@xc>6EM@KKcbt{VDM6paY0P8eVyZ`_I literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._cont_frame_pool.H b/MP2/__MACOSX/MP2_Sources/._cont_frame_pool.H new file mode 100644 index 0000000000000000000000000000000000000000..3994a1caaf3f862e36293930e846480ac7bd41d4 GIT binary patch literal 463 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFfh&q(m+1rc_2*$a103vf+z#&U}OQZ zPorsLhKlnuFo-AT=jtUE6y&7pg``%LxaKA2r)1`(gEcS;1F1{~26Kd(+|-i9l*E!m zt88BvpTwlpoOqK0GxPkM(t^Z_)Plm&ssfXOjN<&#yjP46QhtSA zVo6C+W>RTMYB5l zr|06oT*h|WPfvE0*|_nG;Dvp`F{ihkc=P^Tw(Hc3yUpBPAHC&S!eQ(gc5|cbltmBn z>@&RfESb{M6Dz6B#(nW(*tIp&GQZ?qw zPv`lQ{(ffyHwCQ-JLT(h?!+19PSt5sL>gOzguI0sd6sfLKT^_tB1JykTUo#U`X#Q@ VM(Xc3IYdV%;!;qYr2F96uRk3IkZ literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._copykernel.sh b/MP2/__MACOSX/MP2_Sources/._copykernel.sh new file mode 100644 index 0000000000000000000000000000000000000000..fc8dae3e09349a6ac567939b4ce90c6fc4a7e1e6 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx< literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._dev_kernel_grub.img b/MP2/__MACOSX/MP2_Sources/._dev_kernel_grub.img new file mode 100644 index 0000000000000000000000000000000000000000..9e7abc1dc375bc5c759e539cb2a4e97e189d7b42 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<N%H4UKGQeM`NFjP(x#pO`^|HfEZ9;K P9li9{ttf_b9x|T+=&?K} literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._linker.ld b/MP2/__MACOSX/MP2_Sources/._linker.ld new file mode 100644 index 0000000000000000000000000000000000000000..31adeb30ec09ce05d500275a3280ffb04a20f33c GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<B PM=!l~D~jRNADPtv+H*V( literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._machine_low.H b/MP2/__MACOSX/MP2_Sources/._machine_low.H new file mode 100644 index 0000000000000000000000000000000000000000..ba6c265f8a6f512843b401ef260201fc531ecb77 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<4G~f literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._makefile b/MP2/__MACOSX/MP2_Sources/._makefile new file mode 100644 index 0000000000000000000000000000000000000000..96c21299dacce137ba95193158165ea6a3b10c72 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<S)q=7j1 literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._simple_frame_pool.C b/MP2/__MACOSX/MP2_Sources/._simple_frame_pool.C new file mode 100644 index 0000000000000000000000000000000000000000..ef14f1803f06d97f731f008b786c41168744aa07 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<K>GGS1-ahu8}2Nbv}n$on!}H@PM<1@ Pj$V4}Rusd@(=zV?@%TMX literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._simple_frame_pool.H b/MP2/__MACOSX/MP2_Sources/._simple_frame_pool.H new file mode 100644 index 0000000000000000000000000000000000000000..f6017f9111b202766c4b0c0fc4e7b03a1d645dc6 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDJkFfjH4X&|3*KaeH@IEI7-L6m`XFtPyI zyV0~UL&f|gE>M?ZfZ$lN@7W( zRkp8-PhwJPPP|EhnR$LrX+dH|YC&OXRe?!CMsa>=UaoN|#Ecvu6%4f}r6|83DZfH5 zv81FZGpV#BwHPQ_T9T$~VQpw^Vq|D;X<_oIsrG4IjaG#7_d^_$VmB>2oaC=*8lHV+ zY5JsxT0+$_Zfusv)BIH{gJwo*PXBsu@yCdT8y(J03O_40U++~RfpJTzF#6 z-P+?k^-zXizCd34s?0C9E9R^Y^U^$}?{R8FBdiy{Ou_6?%ohofBMN3f%N-D(a}q9-HKv3*(%cw E0AjX?t^fc4 literal 0 HcmV?d00001 diff --git a/MP2/__MACOSX/MP2_Sources/._utils.C b/MP2/__MACOSX/MP2_Sources/._utils.C new file mode 100644 index 0000000000000000000000000000000000000000..4508bd0946c130a805e10a306d616bcdbad53dd3 GIT binary patch literal 239 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<$Vqox1Ojhs@R)|o50+1L3ClDI}@m?SX@!tb65x_AdBnYYuq+<>c2cv0Y zM2L$g=jZCB6y+BrmXs7_CY6??76TPj%vl}grFlx<*7px99%xKo@o0igv&Z%iU6YbNUs_cZ P9li9{ttf``Ewb_e`{F!q literal 0 HcmV?d00001 diff --git a/MP2/handout_mp2.pdf b/MP2/handout_mp2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bbc6747b78c1d17d27d2ead97da71fd37a91b9a0 GIT binary patch literal 143903 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 id(Qii{y5O|<8Fq!rl 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