From c65e98fd86e29b7a642be5ef802bbbbbd37b97b3 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Sun, 14 Feb 2016 17:53:23 +0100 Subject: [PATCH] Add images again --- static/images/X86_Paging_64bit.svg | 929 +++++++++++++ .../images/cyclic_mapping_inactive_tables.svg | 404 ++++++ static/images/gdb-tui-screenshot.png | Bin 0 -> 70036 bytes .../qemu-memory-areas-and-kernel-sections.png | Bin 0 -> 18558 bytes static/images/qemu-ok.png | Bin 0 -> 11549 bytes static/images/recursive_mapping_access_p1.svg | 1011 ++++++++++++++ ...ive_mapping_access_p1_invalid_chaining.svg | 1170 +++++++++++++++++ static/images/recursive_mapping_access_p3.svg | 819 ++++++++++++ ...rsive_mapping_access_p3_inactive_table.svg | 936 +++++++++++++ static/images/recursive_mapping_access_p4.svg | 765 +++++++++++ ...ecursive_mapping_inactive_table_scheme.svg | 403 ++++++ static/images/x86_address_structure.svg | 917 +++++++++++++ 12 files changed, 7354 insertions(+) create mode 100644 static/images/X86_Paging_64bit.svg create mode 100644 static/images/cyclic_mapping_inactive_tables.svg create mode 100644 static/images/gdb-tui-screenshot.png create mode 100644 static/images/qemu-memory-areas-and-kernel-sections.png create mode 100644 static/images/qemu-ok.png create mode 100644 static/images/recursive_mapping_access_p1.svg create mode 100644 static/images/recursive_mapping_access_p1_invalid_chaining.svg create mode 100644 static/images/recursive_mapping_access_p3.svg create mode 100644 static/images/recursive_mapping_access_p3_inactive_table.svg create mode 100644 static/images/recursive_mapping_access_p4.svg create mode 100644 static/images/recursive_mapping_inactive_table_scheme.svg create mode 100644 static/images/x86_address_structure.svg diff --git a/static/images/X86_Paging_64bit.svg b/static/images/X86_Paging_64bit.svg new file mode 100644 index 00000000..1a8ba15d --- /dev/null +++ b/static/images/X86_Paging_64bit.svg @@ -0,0 +1,929 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CR3 register + 32 + 39 + 40 + 47 + + + + + 0 + 8 + 16 + 24 + 31 + 15 + 7 + 23 + + ... + + + ... + + + 4K memory page + + + P2 entry + + ... + + + ... + + P2 table + + ... + + + ... + + P3 entry + + P3 table + P1 entry + + ... + + + ... + + P1 table + + ... + + + ... + + + P4 entry + + + + P4 table + + 9 + 9 + + 9 + 9 + 12 + + + + diff --git a/static/images/cyclic_mapping_inactive_tables.svg b/static/images/cyclic_mapping_inactive_tables.svg new file mode 100644 index 00000000..51d065ec --- /dev/null +++ b/static/images/cyclic_mapping_inactive_tables.svg @@ -0,0 +1,404 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + 0 + + ... + + P4 table + + P4 entry + + 511 + + active + + 0 + + ... + + P4 table + + P4 entry + 511 + + + inactive + + CR3 register + + + + + + + + diff --git a/static/images/gdb-tui-screenshot.png b/static/images/gdb-tui-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1f36112984fdcbee72659805803f5db1a1a40691 GIT binary patch literal 70036 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 literal 0 HcmV?d00001 diff --git a/static/images/qemu-memory-areas-and-kernel-sections.png b/static/images/qemu-memory-areas-and-kernel-sections.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c5a51f35db6aecb3887a5d00b535dd7205e787 GIT binary patch literal 18558 zcmeAS@N?(olHy`uVBq!ia0y~yV7kP>z_^x!je&u|`rBk>1_lO}VkgfK4h{~E8jh3> z1_lO+64!{5;QX|b^2DN4hTO!GRNdm_qSVy9;*9)~6VpC;F)%1Fc)B=-RLpsMH+O@o zXYKu;@pIdMU$MPxd*%QSZ<;$#ROJC1&NGM4NVo|-XpOx#t?KQzjD>eOSf%e>jp|BR z`(fQ5fo<30);pPP?Aze9`{CAWmtJ}8GYX%!Vd8|8BgRe%Oe`E6Ce0Hho-Ld?uWq0J z^Es<(3*YUGjomJ1w0YC3l)0b(y2QNLsqUW^mO5|p|JhSRB{h#b^Y1e|`P-I(fnh_B z-M`NJ{hRjhek#71;n$hs_b2xh#T-2y6f$qor@z}(tmfT%_xE_bK~=q{Two~E?q2K}BEecYTfDR=MPV=FHO@zl-n5nBZRe zYLZB2?%B!7|6kfoE~$8y<>z|0W`DHX%y$WM!~gw0`^kINt5d2%zZ!Yqo;9>|M&0GPm(6MXRa@*tG9Bj>{|8R{@;(ulk#|1^#A*Kp?SUU zyB&{9LPZ%E7#fzAzP$8wae~#PWsYB7US9qzTAP7^VF9yV{Jur~^^d+UzPCr4iGhKk zB=8GJpWobFwfDX#XJi0_&H~+3(wD^nbPZiIi zFZaDB9iH8C=Ch`->%^)qk*~`tZ|;kqv@T}ns)K>7j0_A6?4FY}JcWE8MSM(IbTMO1 zg^?xCD&en-Jod)<@2!hJoEYC#b@}VjnFdS8_zV@zPwqF;`D|N6fuuWuOU^oycVB2RZC7bd8fy4KE)$8Yd z-($S%^SRw6$7Pq7zPywgyXVK2eP7oe|EhlfM_X7}n27}6GUHRbEH|&on03Fx=Gwo1 zjpycAE*9VW!fx)q$9#9oJ}p@nzkl87>FZxybeF%nU9MWkeEyb?6>I+Pt^K=HeD1~U zdEa&JR{t`)TU!+CAAA3*xnBI`<@>+()V-Z}eCxJts~#4th&!)0qff5t!`73z+vlz+ zWm2Eq`R&`ct(!Nm*67-@Z{M=3S3`N({zm=0r_@=xVfSk3>f~Ov%b9--Q0%@j;vFWBuc0wI$cRK6m-@{ktOB?@xus+IDOy`u)~w zuaxJ>i0k^X*UzOa2ri#{<<&(?zb*AYyVmt6t-W99wf*CAP6mbuA$P|wDU1F#Pi#B9 zP_FK=^w%}%bFZZcWgB&h9#8&S#r*ZR?bqM7wx7?W*8WhIznEci=~TgtnG^j?q94WpBPTz~u6pA= z|6=~W@7KRRJf3uS-^J-B7vF6a{hJb1`Tt?^|L$$`BCmTkWil{qP&wA_ZQ0hm z@ZP6s=Bw>HOspg{0~e|6+gW4r%C$=*bBEEDlsPZ9*S+3uIg6HaM*LKG*5qmW* zMc@0Bwss9)|EIvBV$C9}`5!f|vD;L|( zt^NJ7d)Mo8>6y8?SNBdxStPyt{KeaKpYmU`?=M#9op)_<{I6Yne*e>V{ZGBWx_s}O z-KGES|F{3Tsoz)fJL*^O@2W4C=U+`;`Pr=MRbg-VZ?8w4es^lUY(0N%zQ2C+_u8oc z?;m&ONxOL+`z>YvfB&VQ)A?0Bm%qCeAQE4`-kyQsK$F)bmy;?NUp#QguQ}}OHECm6 z`7w9ntDEQF%qbLcmFjnw;tT(BfO-8zcKaWRyj7RCo-34jolqZt|MOn{)z>GNm6vIM zlFYV{d9|=Tu6&CBmDm2$+j{uEe2@FC#G7Zc`0wAlpPF|Rh92I^`}c3So&Wn^N3NT` z_3_T4Nnk$QP*YW8J?s$Adq703Bsh3ePORC!rk|AF=IBmKXVCRtp3dOE!1 z`P}nGanB6*6)xDl|9|}j{<`N5?D0QE|K6SdFSj;X#dY#Lzx}`F{yP5tA9vM@_5aI% zo$3GIv(F&X^R3tCDRtk)|4p^4*t-5-PV@eM0n*vEN3Ct|)_u>hJpK09y#3##_I{WD zJMY+be$!i)3$Ooq@%_cQ!{Pq-YMm}Vx%IJ2_2d`*wQtnCPJX=4$iSep=%mWU45Le* z=asuZ`ET9yRPmGc zf5+av%tt*JZQWY>cl-OA<#9Ft%U>PqeR<}scYM+Qdq17+m(2hFzb=q{@x-$7?@zYW zs7Pj;@A9|*v+TLYui(Fz{(rUpb*;d8`E@1Fjo<9HFP;DQ$?7lVauqZGeR`dDeYyR% z)l<*>TlBbj;cNrhhr|*xzIIM7PJC_kO%7?ahw~wUP6jH1F2z7q;{NF8lX9+$LPV?poWv zvdVD#zdMhAwXgloU2^`G$=M&rLT&%NDgFCw@@^@1-hRiO%eRiL z**7sP?EBXj%l9q((J21RvtI36~ zcNV5oN`S%n*Gv3| z{lq2CcFn)nQ1SZY<_Rj73Y@hkZ7C0}{`kf5&gL~jo{Q&ZTTR%qZR4^!q3oiPy6<03 zEVo;1KX>iKc`?_gulIIVo%Q8fNmcBn7rWNk{gnKB`@Z$+{huG){%Wglw={fzp7Ztk z_t(FkR9_n2r?PhbH8&CM-7dB>b>E&?X>5FnfgwRsWzwU=$FH58mf#Y&#J}#-ckcV2 z4=}H{owYVD_O-U(q{TJMPTRS;|Mb{?Y~{;(|Ma!X|L@&pbvk|4dp9F1t~aWh`~KwC zUe8tjYrej6<-f1T?bpj!JxHzc{L^zReE!bJjT)DtY^=;C#~rK8JYHaNCB^7sh0R6r ze;>4etrOoH@cZ}gcJ|H7&ewnRmg-f1_4St&4_n{CRR53fRNs1B>a;H1H2pb>q*G*7PX2e13hCad~tW~-j_#mRK70qsILCqwdm!k=9|J6U1fSbk0T0gVih;+-(NrDe96xfTkqDc z^;Cm)HMYo?iOCeD0;c%k%7F^TRl50kg7X8wAm`qANETh|}!x>nt_|CjWyx5tIQnqIo+ap~6EsMnr5E9*;hXEZNZv99}e@|g9+I`omIB6 zyGkM_d#?FdvF2pTnz?gj-@bd7RbC!mU0v<||K81=3s0u3Ia#shq{_9Yr^7|Q{+^`d zx_92Xn4MKq&R5vPCKY~Oc67G6p;zaz$0rjjH-g&UE3OBNcPto~l}bko0M-~U$b{X1`A-J|^#d;gtZA9roK{#%))o|7W_>IztrnW9zFPbCrT6Xsf&P0wt*v_avwq3^+85ft9=}%qBCB87 z=;vAW$Nc_s{eE^SzKC0l3=GqpMLe4iI{4fF&7Etpaox$3MH*dKUmtz-z1rPe;@+Jd zs&;cc`%EQxN**3!<^9e4^@{bh^IvXWy0qNx>&!cwjz6CG$inhex`Bk2m(p6E_Fp%S zN>`oSy!1)I&XdP}wbi}xtq=PyA9LZwZSm6kxy!$r|9|v)OVz{vsXgV(B)^4!S-AXo zlw_XC{w#}PeExD$e`K2^>|MUAVR!?3S#@?ys{yyev z?fOcG?{_ENe*A0l_r3A)b8<5FE`QlmawqtTyhha<^DoB#bprEKT~{}I{9erbwom2j zwbCTlE_H1wn{TUs?f(B^R^1QT{7c#KCHvzPGvD9tf1xa2vA*tM`M#z9ZaH|R)h}jX zV9?oS;b$VV?#0Y>y_e^9zq|D6R6wDO_AA#{{=eEAznEO}ndCCLVv&m9mDgXtoLPE$ zSIx^wW@dg~6HO%U%sO8&>4oU}ik-jy-g{`&|8j3pq0QW>_io+|)$b}vPInjAkGt~g zSDTP$^TPo7UAL~^&Xa%nGtmFz4~O(?>X*(vcF$gUnie&NBY&a$;?mfH4QHQ`)d34sO{SMF;`FJ2%bq< zv-fcBDPiC1mwCe2qT*kQ>uWPIFhm6Gjf!ZW$JZDzFgSEiQVFz~nNgbR+O@>{e9WbP{~AS9 zUwy6iGO2a@eC}MIUR;eED3zTm2-RM_+PyJf#CQH&8P|&!&(@u{DbD=mvDf3(*Q%~$ zO~0hKZ{NTCwDfeYOpww1p)zvo5V zUE#l-`#zi~mCWnrV_;zDPcuH>{Lo?IFR5O4ss3YK{OOI$Z#RE8mEhZABq3*;=xp_` zW6#U~-kwGm4`$TNIR7QEEbvP3`sx2c5wirX0`moiL(Wc)>rcUJAq ztZh5IknQloM<-n#pS_f|CwKcUDPITye#}iZF1-D$M2m4zbbt_ zs{EXRfx*d8Z|BbZi9E~xyNiGZ7jG2Q^_hT%-p*L<-@?qmz%Zk|QKj~e@P7OERSXOa z40AtTXkM>-;|f1$oJo@@6Eu#)*a*_`pus_kfq|jGL4lWnfx$vy0%&AXM!*AP2p`81 z@Q@PACD5=I^U%|_;QIUT&tus^!*9XA{@Q^(oX`#N@P+r^uS!Gw8OC-7?B8$8ysg=q zE3bq6{$k3%gabXG5K8Dah4}v(SP@^vA6W(l23WWqkOBwh!G`1aL1Fa`CX1#A96Jvh zmV&f4G-oQlP)iD9%}y8um25xNnw~J;~KQA@uJ*hwU~lR{3IPt5d$p~ zax4rC5i-|yZxmqhE0kkkV3>A0C@1^IRrLgcHOveQEvv(ypLKn`(s^QR`kk$%#~03z zXJBYZO_T9hp1;AHy`qwF4`NU7PIUKwegPIJ5cY{#rUok9!@3}?HxZ8w{|`T4o? zyFtb}r03-4UW*1bP8f8wNl4JveRug885o`=E8N|+Ij(H`-bJ$iHocsEB3=8|sk584 z;&00ebeAb?S?M2Vr@tWC$89Tak%Alu`Au70oWJB3f-G}HA}GXpQzY^r>^_k6m- z+^{L`!e2MqinCm1U|>kRaqrfga~|hYn2+o^a3e*s(bI0(Ee^TdSK*=aSMBlnf5T$> z9BZv^1}O#x1)JtqD%)p;2V4)?xoz{S(65@SmuE)4OxUI6&%nTNhTUA6Elc~B5!bt& zpahg)m&JOCrSNIYIsb3A+l-$wFfe2s*EN?GTbrxL{cP2|ZGr0Z_guepYMR>(gS`_k zEVbKat~=`)GsyWj@7eYr$zP>&P9w23>Va1FE49p zdI~C5W-LF)c8TRIsO(wZ8VL^JEuGM;c5|t0=F7KR#Fy$^c7L~ZYJYCzLY=*uS?epW zTy>A0aZmce>mNR^?xe{xGbpIcoj)Rd#Y)$U;Y;|vTOp3j+I3S7PU(eS-togQP?`WgdKr`fw!RI4stbMA{F!+}lQ zWtr`7-?h7*pSW(pK=7iUN2uC%&#A+0SvrtH|6Whb8{ZxUX5vU2A4o!OgweWxW~ z(Pd_6NELa~v*o1fn=kJ_|Fi!6d)3>0r<)8fZ}N#Z4>jSQ6@GkE!|HQ6tMr%UTK$d< zoRwqex_Ob=+o^HxvD@DM*>l@u?lO(}d%lY=UHK~~=NK6nVuex^bY=OqUfDc6P!_hU= z)~9({K%YC;YQ4`7R{P#g3F;4c#l_$-yD8?D;pMC9j9W@)-hN`V&o?gC>Ui$!q}fai z4QZ^B9^$e0_%i3F1*gtjSHG_6&5XBJuPP&2z8O7S?Yp^V+wzm?>vGPP370Z4D3o0M zb}g;w+nt}4*B?vFUe5KS=8$tJ!-Z?Jo@}bRY4h;lmmf7O4$J&K3_XKOgjZzRRc3a7 z($GGwE}xrK-RFDGJ2GnWpB#H<1_qs`w`^f@(h8OEVBKc-6)w@Jm zge;gD8Uk2$x=CqFs-0H!tDJ#>AveiQYOeDG9tH*{NP!D0S~m!ITVIOq)c1gXAYb0A35ETa=!A1mA;2EI8<24d$g}Or&m?E`S`l#ExrP=Az>Mr z33@GcH{3qhILEUxY|*{3R5sLl{nWF3Q=bNJE1q*wuOc;d>(LT%8@6x1e10cJ{s*O< z!^=G7UwheaIjMa%HQk4S;g-mgo|12qGUGN(ocmI1)=#a|$=|BB`CNyjoy9Z4kMDAv zdh$(bM&_)vTm0$!wY?^vU7lffd0GF`>w)5Pmkaz(y!Tq|`AwBx&$-X1vN3F!(KKh` zJXYzK2@CxiGJ>HA=Y#$c1;L439pR!?S3uvwEucjf7;gdOboX~pIqvjx$YkC{cB6_?eV^Uy2bm| z(--Xw3?|wq9Cp13D)h(}ovn4c zZ`r$b<{aDdx_e(Ojy>b6o$v3xLW<>f)Z~~j{maW$r`&BxiwawjdFkb=EzY5lYJWGp z*z{JpSbp4s!AI=-QEpHBq&b=!8c!@Nrxjbi8heO+{yk>S9VZ`aaxm`gLI zLKDx18BHM&eg`Q$5c2L^TWI5ym%rlV8zZE%JJS!={d%^4*YSDhtW(U6^D!_q zL`SZlxQ%zqE0(le*3y>^o7UWMPFGr!Z%v>-%1YfGB9j- zQ)HfE$g6RiXU!}v?b++kCx4&1OmiLBu*0)?>z}UQ_x^>rn)#xoQ}@Pgy|%+Ia$D-O z%-1VrT{C0*PA{{wJ7>(mz>s(A-mN`9uYlUY3~Af8n|+>M25M7ixZ`OBUbB{NTk$He zXj$g1M~^4g-rVD}-L$;6C1G~vt!rCjWpBT-&$XA@m_0vv{;jGWb%q1$TW3r(lhkpN z47k+jeU~@D$EC*G>!NUXnU%HR zv$OxM%38dhA{sTT(vw}z_qEsmnakI)o>ttFIlESZp&)pJw{=dr=a!S&@3*ea(C#>W z%ys&$&HMRPIe4d@J~u;cxBIiDye}vHTJ%N!`seiBdo=#;d|x$t);>0d59&80Gbejb zQEPS$owexg=F@t*za{2$rEUClYQ43_tTQuOr!C`~efrL_(@me!cydplI(<6y@?Z72 z{=3$wF>T(nYuBo*_MGaetQTW*gPSrKGW^rimUPFh7j{W+HTrOd?T0|xiQO8t|27$K z*!J^G$k(M4(#mST%wNP{T$(0fNBZEEu?{W3ZW~v=*4P~s79<$H!nJ?{iT(OF0 z{=wFlYqC8uU!7u;D?Md$a`D>(OV9qhENZvkyylzyY$M-SAydk3-jZf;5_of|FTixK zj*_zCS=d?t#aO?4`=__|f6gh2ythPd^PZZBEB`KEE8Kc=%m0=O%UCWl7|63+(lv^G zJtKDU%-a6-o1DBKdtX#7xLq8vZO_4FHSxFJ*q=TV{@?Io%51$y^5zTzvofl)jV-I+ z{n_)n(5Fm6TRP^|l9PNUxo2KXnHnh)Gb?VJURC_X*NV$Lm#;2vPMwxpd#Y)|suJIC zi?{viKU;V;Q-AjPgwUwl?^!0-_`C`YziVdtb~OV-JtU8B+_S^yu5N7JdcEti3h%|x~hCYQXUIaV<;lo~4YCae^&U}mUEbOSeop&gcp zj-|3{(Tdk^>fJP--+yQG-Ces@9>4ap;?A8tCAn+Yyf2RUTCsK2rc-v&pDT2tukYip z`E=D>?CT$fhJ0>AW!Y2PuBg@IO-tOQ=o}hpcPS-)eX!W6pLXr8@7G>lR(a`X$kMfk zzgE8PJ`jH2AUBxdKoiTQ+*O;SBkrAvzZ?7g)s&~&y(b%9f4)(hZJfZd^#6{1%U9Vc za&C=tb$TJaaJwc$i`tE)vfHd5+^f!{b1_G zyEivvh3{GSd8_d<&-;aUT{r43t7T?L(7Pe|a+UX~m-lDpXvR!Y)8C+>r60R~S6ABn zRnz=_=&W985>z_dL~_qeJ?|MyS5C_Pyy)$0U%i#>7wUa(Y5d;vbd|l^>Ps`1tkix# zBlf0VrY85I-B-*vRhs;bWNldY`bJo|F( zj6;u$1#L*YRsX5!@FIJOPnVuAHMV?z(`26r>lVG5Ez8%}y_lSNUn4u1;ef9r+offj z5Bp{&A6TJvI6WZ2>UETQuW#&atNkw<7W&OJGv1NA@^bx-E%E1`fA2qEml3?obMCEG z{0usq5~i26tXk_m*G@m!d~K)W&Eu73JLlvD^+(3pU8p~$`zVO%a-GM0hK6^F6Y?g$ zlsfw6)~PquHB+Bz`_5Z*`ncWoy6c*^P3C|3{rQub=Kbkrzx}6WN9!gfFHLdPwDLbss6Wm^4C?NsXx7f%>;H| zQJ;HmtL>@0ZANSRUlz`s_O!eIU-IPed)cm;KBqKJtzI)vEywP3XlCyIXrE7pE5l=b zYqxJ;VPWXIeeV{J`GjMilKws`dR4T$eCIm`26K3tHrO<0*OhlH=NK3|O)oJd=kj+oBCcBo8NzDb=3TqpF9kvyH~XS&@c#&jeh)U@&6wc zHVg7&f6M&7k~W)(;ZJ0TepYL{#Cv5ua-EP%KtsSMfcX7 zJ%_(qzU*Fb){K?m$5w&HlG(4`T$yJ6IkNo0m%wYA__w`0usBoki~QurUvGxzmg+{l z^8%R+Zawo=m{mUAJMG@yHEZ@PoB7V}+L3GLyF~(a>% zs&lUAubO&3?mnBEcRAIu@_15oSX|t?ny>Pg&j(DdPkDOv>eRPIQ#UE>>dw7&>^V0> zK`>I0`{E4Sk8NouJ~#C)IKR&%fuL z|M&PZpUGBRL**G9wt`dc%hPvW7Jd4+SEpu9`sCA})V|Jm`qY`@@AA%sHESPdP0sw! zxzLx9;j^Q{U8T!g`)-=fy7~Qw&gn4mv?E=5jko6=-t<(%?CI}IDgO;E(_=HLct><4JPR`dzbr`9*xO zuVP4;2P=uEr9LYTEZMntS4=s>ftuX>+_uWiiqoVWeYcma+zV=4*==-_I&jHDzgb}g z8^e{OJthrHogVNod}x&f4}L&Lk`ffBm4)Qa&YrbQ*G_(C`tH)Lr>DIN?Z3Loa{K3s zI|)k3(blNYx%l%f&5FvI@?`^@|iRaCHFZShsmMZWmH~cK>F!No- z^GWw@cD~8U*p#EFpX)LGbZq&-)t`UP5|7^C9Ts{~tg8EIN5T6r7A@Yrh)K_t|gGv54`&d6nyB?o*|M6y>=yjDQq4RBAr*F?a zpBQ+1hE8{eQbyM1|2ras!LmUF58>;|Kr!6r?j`P;WLXlrRnv$C?@ph zj4P|x?RuMcYd#~m@p_nd$;Lg?GSiA9OLqG1jwxqwCAYQWOX#|ZZ*+}a(fTaj<^9KZ z&z$o7_s837xT-`*>$W<0Pcxzi#9#m8hAqKV=3R~PnzD7!}~IK|9~gQ$@A@lfQmksWan?Zp**NM$Gb21yWJ9t6DHq^SO9%YF;+``nB_) z`Ko+(>X;fvt^*awr=KqSd)zg{amM;secxZLuiv%jW^TI6$Z)i2?nJYle=>|bLYAI< zmS1%9#_&2&D z{bD@b_f_(#GR~k#fxBPJ&R5GaB&;(wzT~?8I_ILzPLcs>&E=PkpST(qKA%)Pb@S$% zCT5#=`g+6L7PXp7W>#JPH`#XIo1aFu&o8ULGFcfM{gtsHRUDj{ z_v#=uhA|SeZt-sB14_!E=7iO;H@{AUniE&AJeXJRu$AfrrCv`%dx&r82wEHM!ZiwD-Q zmMZ!*c^BV~7dE?}O`N{&9PhM9*X%>xm!`1FhQ6Hj#@+X;y!_kDN!Om3((E4p5iv^Tg_9w=JemO|Aat^J(SeWx27@?5`io z{Hm}?2)tFfy&BXs&f1*Mz#x|5cI%0^-IT@ypwukg95Qw4^kd<6dYJ*|j$592_Hgmu zRb`-#Zt%ME(eW&~-*_1gTyX+7i>+t8?5j7cysCLRMeUlY{B)DgLEqe4^1;oDt(vDz zI@SfJi^p8c$})A0G-zrO4|x6$*9^<7L+;&!(# zhueQy`F0;8L$}@uhg&6OJ2Z27Btlbv@Nm`0_P>0yw%?>QmATC-b=H%MWfKIQ{%?#` zx-iw@4A$20%hQ*U+7vIrZ3^bU%VVOSFZW&ccfvkKhP%$7_JnEI&8<_x?Fo0geV2X& zmAt(5O-5|%**(`9e!sF;`?RLh2q&aimae=DDujiy zmoOfPs*+@JG-c4yPg}xxfU(h-p#e)Xq8!?c2;XYA`RwugGp}UI^-Hh0wAFN--MNKl zmCx1GmEE$q9{bzw!^*S!1RteKGThoGV0>v|j(6^%<7wJA_r#n&wJ$D2ezsNk+dFBq z_&@!$XkYf$?s0MW@nt*h@@oaR+%*58!wgHhpTqCv#N1_E|8i5#Cqv#vudgiUe3`Hy zQ}N4uv;Oilx!gNj6LxCXDnB`I1Q{4yXT9p?GEaUk#h7=dcWZUFG_HPObFTaJ)6B`K z`jwf^w>Zyj`F~?ySm-^U(0{q#dE>23kDQ~J{iTH1~Z`KQQl$2ZS=P)M3Ss5$GeyN(PV5L1pa^}qgcaHJwJgbv4bx%UF z+;bCH%XkKh$U=j+_NC1)N_J`Ge(7D*aILlf+n1~SwMK8HZ|<{Sf8L0p1v5GOUtROB z=VfSv8YDrVJF{(N-v7);duE*ZQJyH-c>cZo{J$4K&E%ge{7<~)V94bt%XD9HYuA*Q zpN&eze_EVZn||5%mEq~r?E=62PaJ%sq$g_dwq5ZHFGGVY(@U|L>jKZLTYF~T@$|^d z%JsjaHs3vR>%Efe^mX7y#*THW>sO!rx4DDy&7PmH+SO{l@=mV1@GM=D!ATsYXm&_# zcA9H)({b_J*^4%%PP_YO^1s@fyxz-FXYP4tJvY~G-P^=XXBMoogC*~~{~i~`l-f0` zeO*jc$IYMd-8D~`AG3YKVRNTzpEbq_FVF7h6D4#BWfH@k~%furt(&u+r^KH z%k6i3yjj2M-t6#eHaqRSYXyH~mEZr%&M@sRq*P{}^YUDyS>@KiY5t0Qw{qFK7Jiw( z>U)cww|v&#u9ge$7S^dVI80~Vz2$JJy6tTfSL=Oevlp1%tv&OdA!E18kte0s?|!W* zxH-yCJ1aDewMVVlC3M!F z1B+JdDcSoBN8P zJG``K(E&|=568~T|Av{}Z!A}2tzY&l6Wmgc{`o4|?(FMoW`=2z6B@U?d{Yp7iz{k% z+;>rnmV%Xg-+G_BxnPl>rCQ|{*$r1-+MllZdH;EN_j$WC&?v>KOM1@H%ns5`v9|u{0{CU7b?N<_l^azYe})rgpk-mc=)- z-~Fpyd8U2-0clh0*)PnHAn1BKdiKei#m}F|_9t&*cDQ*UP~EreLH6gg9ea$r*~~6` zUvhnKT)S7R_hhBsspDJxUYe|Xn;0cOdE1G{Rd4Kmys$T`6y2LQYuPG3wH&+UX0`kL z>fdGUKL6O7pFs>XtFxogWSaQql{`}ZzcIlwm zzurjiD|!3-fO`D=^#bB`t#A}A`EAs!@%30o~^mY+crz@bohtIpb<9Z1G707{+}VUetq$! zXFJbo@Ah_jA+1>N$Ee_PQ17k5-YprQp2kg6vn^;T*m=FA-6+0!_S<(kv5{;KH*H>c z@?2?U=IwhA*Y&(T*Veu6)`mXqXL7w7bqbT7yern|{ept7iV+bNw{i!^%0Azx+IX?!oP6#>t=D zT{L`t`+xhS4i10HCv_)r>m%WD6!%}YXk zK4n--WUl`IgU@HTz?PqX{(Zd3p9^Xdhu+fLBFbYrH#Pwn$Nb~yqVrH^ZTc5s^3}J{Qt(b%*$U3HCL~h?O1+k5R$*@I94Dgk zWU2S+sPx#SFC#a7`FWbHA2jB6)pE&#BTN3zIJ2+4!e?{+^@opl)O$Hc`82Yi|76cyY_J-~DgX4VKu29YZdN%a-nC zP$)U5_m(3xdb&$(+^Kg;^3QLUL^_4qrd9sjaOQ8i;B?`ZObgXBCjUc+*l> zbDQgn#@^dz+wPj1yy?w~PK9MF|2@97%=ha?y$@H9`~1lIo|>o6kl}^eP@cjo18OMm zGh>^w30fS7X2*A*^SxJ{duiqtSF6~omFuhzOusuJblSQ%e{L+v-Xw2&vA$+YW@KDy zsd3_G%e7wFzxO6i>i69H>eIz{p+6ZI&cK?>hThvMcHLP9nkHXh2_G#!u&H9#m1UsO z;@~wC*&3#N`6S+y#o!>BwuDik`G6!tLK8-Fc}7mB^rdY(?d0uKH?>_ZtIocCyk@42 z+PN=*MV~KhE!~i7yHDqf`+?Gjo8L`dU-tZCIm3hVPG>x3^RO)B5wkOkKKU$E-8Zy$ z)B5RGEoZCsdrFCXzFD7hYUOS7n(HeeiTT#vwf~qIPA5SU^Hxw|ez&f=^wNwg$5mc@ zothSRYfZGq-{oE>-l~@BNANAYd;5(&!v>wE*jo>Gy`Gml>&pY7L#m0FWl!Zy^U-;% z@DfxcZ))AMC09RRBRD<%%sSTPzIwSIw*F3xe)Ud;i=jaHP0yB-Pm|@S zR33l4>eY_T&zI|TybIbr`w26{hRZW0UoN^{%a*e?K&{5Z!i zI`?yAV^3*u&H2w{TX&z;sgreOT+1zA`sM2J8m^Dk%nV|&ux5lrjn6fa z?Uj+&uIEIC#^uTeo2^(8JkL`umtDv1*LfqhNW1;fHQx-ub9YnAByYvT-`ujywaYVU#H*vz9n+L9-BR= zDbc@pMXt{@*|V$nZrX2b`z>c~Y+vHcyqwRF^jmqio{^y&b;5(;6kDHF<|gKNX=bm; znXb&UU#h-bl&tR+96End&8#^2*z$($Ym4J%ZCbEGD|YhV6)XQezVyy){(P(4S3!P( zQMcdof*Zlp`^(m!VrNLmgSCMpHyyqF)a)&&pLh1=y<0q=)0}n8nWi1Rywps!fQ?~B zQm+Zak|%fN9Rhe6P8{wrVMqbZ-T4?OBd;>lIdX|_vTmXCEwk&-A1|-5En4R%HM>~) z(cQT;XTL@7ZVXKbf?lpK*D{ zH_i2b^mt3u7^CLSG#9?@X!-fmS7M($w)tK0s^L9D$G_k_ z!Rf*?zB&J5V<_PVj|gj|T@OpUf7vy6-Cw<3CArmn-M5aV+zb?cdo}I<%;$xAT=9P| zw5;EE@oTjS!-8B;lN7qpXvUlA)i)OesQZ=$WG8RX(B7PJ!D#QDn6F0~%r1+pUAWe3 zvfuMta(1tR#Xjti*{%QijlJv7S<6;Ng#|1JjY1$z!`c0E3$9_ZuE@fxf0Z*Mx6Q5pLTBcsW#^3>3bD8~8)rjRP!-hSe5i@pBahtXTw1ShJ1-uHg zxi#We;-T)faxA$Wl5W0z&&~b2cE7vo87wAod&$Sjn9m7CJ^M;|tX7$zRliMyfamDeo(9b>hffuJ)bR4L&FmOI^OeVS^yPP5s(*IX99-nu zzwx@yz;MR}ROCWO)l5#N8qB}G>m7LHp?@{F)HS^r_xYXuXPa+&pRV%z{&*$5uyz_F z%E~$P1bz9*v2}ZFPJPny3N~91K6U=`S244;O!uu!J(agj%R9a3pU2ZijwPy|T z&5jf)OGNs`W|f1MOdOHQWY{n*j>$QIm*I4`WF|v_!vh|M1k42!x9_%XQC)Z5-TS7^ zv~y2B=2yOqkyCvhbMk(?{cmAX5}|^wAGiK-{`;Z)|BJd7#((tCAr;7*}#$N z@DbFJ`@O0x$ou-zEaSFKR^hhGZ(UrDw)wFPv#IWhBBG)dmdVbY(wZ?q4zLRN^ouF}tV#qY}t8epHeZHSI zA?;GV&rKc2Ra}d9Ut0!hqWyu41>5CM;7UzPH#@N1)OjAS(mB=VT+GKKXTA9y%d~mV zrW*L5@Ur9LO{@MTf8Ke5+hul^{$;DFA20Il`_=ECTd&T*aE1l8&WCZ;DxUcVj~aoN z_?%nlDVMuF@bcf~-KRNf>hgcQu?Nq~Y2}{CWnt(Bts7aG^?K9F^QZ5E%HP>B(;x{~ zZ0moWM@3AR|7~88%f+w))KHlIb+zxgQ@dFhVrR}gvzz7J;|Sk#k-?3j8Gq9Qf4;I; z1I5InzPoC@Cue2MzMgyP)UwiC{>z(u zZYlM@wfu6j{Qt@*ql8QQN^hNhW}I?Mpky{+1I=2-R;}XJBR=B7oGgs?0nh#s0}hs_c?wRb1^7#m1Vlm zz56NW(h~MQ0ln|D-X*0O?f5ChP`k}FI%b;8j5m4Hr*C^3`{C4&H};CM(^rGr2(BA- z&8$@*ZG_xScVMZN^S4AnSK9nfr}C>7%)YvGg-m?zMBVk8X5L{wpqYyc;F*in%YOHt zEe!oSf0fm5&`?9p^wm=!4TSCD3_49nJu|m7GXqd+mHl&G^|@C1)k{vZFCq$B$0UuK zZ}O8LuX<&l3to>F_3P1M`CnJQm2)%b?1IlDZwQ(C&{$)|;?8Xuum8+CGijE=$;EHY zvR429VY6->OOD;|J zXYcRUi@hzE4VphL&3v@y-0uG={imN;Jm2`tUS!{|g`DxV$unb%O#Rj*>g{H4w2KV7wDTkSncidiLm#Vllh2P`>LeeHn&{R{BK`d W_R4W#&Ce5{Wt^U_elF{r5}E+LqQD#g literal 0 HcmV?d00001 diff --git a/static/images/qemu-ok.png b/static/images/qemu-ok.png new file mode 100644 index 0000000000000000000000000000000000000000..02b186b3e1ea00984edfbc7f06b838a73861841c GIT binary patch literal 11549 zcmeAS@N?(olHy`uVBq!ia0y~yV7kP>z_^x!je&u|`rBk>1_lO}VkgfK4h{~E8jh3> z1_lO+64!{5;QX|b^2DN4hTO!GRNdm_qSVy9;*9)~6VpC;F)%1Fc)B=-RLpsMw|0w4 zX080U_|WqE+h^XLTiY0$X2>Qcd*t`21A0l~5zUShWn4EFZVDHgRMhuarAx>1Sl|?a zNcTV;YY(x`{rTmk zPpzuj^*hY=?)Q89%I)SC>%A$l|9U0ZKeV)d_pg=9H%mPD_xqhLyDc9B!}Z1eb#ER= z{!b3K-5|Q4-~M^uzVvll4__9%`9jEAuRe5Pw)geuf49`NbnO@Q2Iahtx{fT>O6gYV0c*h?e#Z5OwrxHYMrd#+N`ZHKj#}x+yCt1 ztJCjyc(mG1sSrv(JbzWl^@`K{8E0qwHdazP_4a?~>i?_rWcU7$+&nFNn*67fR;w~S z+eI#s+n+u){qM7X(w3XW$#Gq~Hq}JA*0wvp-NmLKzjj~Ib0y{JUeWu?CuV<7-~05p zyu|B_SJeg|Psr_x=rvyZ=$}vgJ||t#R}z&Ws`~e%6G}SgPOE>^d0DWqbiuuU{lDMu z-oEGOvt(;iMh1p;(dp;s-R8R-dBm;5uI$aSzqz6e3^EMQ&&}-z2hYCyyo?MD%^JJ^ z@2fsNJ8xIv{@aWU2N=VqrKUuRxdyrfiUpRO)>wQ)W>$=wi&*5g(*6Eosg^(X&0l-` z^rk!OzI#1<^|fbGYUGoNuG8|bOjW(pQ1b6jYet^A00V>2lvK&oNVn}8i(Zs1zWdJQ z;@iBoS4N+7x^2!Y=bJ3Ln&p!6^Vp9^M(emXrbg!7xfVMuaGL9u+jqIX=1h^7YCCOo zYp!3(uDdVFPQN{HKO^O04oHvdwG+zcKiz8FHS=C714GRFZO$djJIbnUuU)(T_~-fh zx;vH6KkoQ??e?Q*v-^+U-2D8}%jNUCj?338?fZ3g{joP^d`zOx_G+KnSejb-_)<~i zw2LoGl5%rx`{eEA^s6q$7QT5l`*GW1_s5r(dKbRC^Rwd1Mfb-WkIP9%_^$h$_$kUm>S7N#q^R)bP$Jd&lcT-k6wblFMl~zBOY{fiVGvRQ45&fjE ze_D5JkTWcP>|2;))~#V(`0~xth<9d>m)-6=_NMIrw2f8oYGN|d4eLMq7B=^*G8`yP zv34ony>Z*UzOdDz{Ci&d7M|8UzUa0t2x(YNe10~=v^m6)AcBpoOcDCU|{DL3)?#HYO#k1j?1Ir6?(JRyBGPjOGh z$4hP#?5e(a6tS;cx9;fW^K(FU-OO-Fkv_OOTM7FSh@G#gSfaL2dE=Bhhu=>O18t-ZfbL`y&3hz5Y}3 z#hI^No~yp^ssDCvy35C%-;ee0`5i21zRm1#iQsB+>5sYfpPxTE{x0vxVf+8rA3xtW z!F}=HHxV`G{g1})dCL9q`~O$xk1H3uCz)v{zjYGSufJ~JQ(pJ_=8xX;zuyZ#&HQPh z<-^Qyed4)i0exYcMf0m~M=!p3X3^ezeMYA=y0s6tZ?@^y*_3g1%c9$wkIU*DlGC#wGNze_idGulGR&3nfWIl z%iDaoG(-P(;F|S(x%GC&;@Xkgbx)k<_Zr`Q!TEi0?5>i^Jqu-5uU=jF>`ZXsmlqRf z%%9(X?TlMSTy%8z)~#EAJPY`QMurCs*GS`u}uwoUHy|c6;IfPmHrK?z*(8;*0SAc$;gN)8Ah9ceA|S@j|Td z%QtD|{*FJX`Tg7Xf4G1A_q?7R3q=FBU0?Kh&wiozJE|8iOWrQq`QuMf)on%wzKxr7 z7QdNxF)qH}eDBA98mIl%=#+0;ACmt!H&*xDCLOD}Wm}?*KmNLYUwHrT-TTGQ)+Dbf z4iwqAZ<|>Czq9-<^W4|ytbY^WuO78F>`wjv*V|s7{B-Qtg$duP{#r`T&MAxXcQtpaUhAGbY-2V3`r{wB|Gx$W(3;wB(;ut<|M&jb z^<9xEcRP~T|2+8PX8AtFdmrNe2Go4Y|MU1qNOkr~^~d-Be6AOh-*=_s*tP!OrfH8( z#K;}3k~6_@u%`^^0Q?)7)uezW7-sfjzD+t(`O-K_c6mM-7BruyeCx2aE$ zEno9bK0s@IEf2$k4X?^hXO!PAd_MPha$cU^wCUkV*&S|yBDZg9oHk28bwj54PF{IZ zU7cdz{YsmCKYNW0FVE=A+bvywr_f!-wkT!uypDFcUj-#r&Bxxj?fJSkzq4%j-q`aq zjnfxh%yC(Mx%2&=#~wDjWBR`BEEW_jOslk=7nOP3JAbbc*JJMV>5ns33m)%3=T`nS z=}zI7h??iceaHU){!;a%a_d9c*^ayFj;~#}&OLCNp}D!d{g-BY0sX(%@;gsY*LQU} zq8;~b(vQaSJ<9)%{{P&)@m}8XQ>U_2c;z*%H_o{$YX9ZgZKX&4kB|KSxzNJ4TBXla zNvSL1@8ZcH{r`V3{kZP>Uafu4=godJnLl=GLCLk-8!vv1JagA#`^SulM<+&$DLwM3 zc@n(&V_SHA`JbcqpW8p``@joWEDp7yo^A{TT0dJ(svCf#1HS?))jd zskyE(bOIa0I`L?8NxSDiijz`PRd?Ne_w4b}Z=p|g!`G?h^R3YBvZ(uG`SFRczuW3N z5=upXe#mazwJY%awMF^0uV=4c`Fvq}o&Bx1-=3LNy4rj{_ZY15OxneFC69g2&+0$- zlsmA*Y~7~10e_px%IREb7ITbH;xj(iRYk&M)|Hb9cSNrdKb|mL5_IduPwcx&b_iK8b z;QwFse{1%9sJO>LiaIzgun$4b57ol};^^ zcJG(z{Q7lk$Bwckhp$cO(e5u-KE3HhnRQ`GV&dax`){mxeqy5X#(n$hLS?nJwZpG& zPF0T2yEA+HhFE_w*X`2vX?op{J{3)I6%-WIum863$H(_|!GHd&{~x#K@6Y3p!uMC% z{X15^S21p4Y{#QVH#<5sy7FwkpQsVJn-_Anv+5t8A9H5$ zOjnVcHFs>}1>c@7e0b9T$o^l=+mHL-`!0W!S%0tPyUM#xF@Ij{@9UpCud}+lBf>(= zebEcv&0h?RlN&TGQ8==$uYkml0pAT07;*LfN%p+Pm)Nl~~>V@%a2-&pkg} z^?SB%-FminW_P>&=bIVjyCy#G%`ltY$!Of4^fO1t-9=`nY2UL{o7lXg*Nsl)iETE& zFS1#%@Z}vZ|0(ve{BtYf&r7`2nYG#2aI*NuIp>f177K2yQVi>!`r{P4T-W9Af7?I) zt^ZuDeBS@~N&XtcYhAk^J<4)9Bj3GqPmjj#jn{fRW^_tFQ#w`VGIM(1l+POtla_4$ zStFSm`G0yL0|VcpoX_EG;nTtw>zKEdrbNo|+k80ow(w%~wqxGw*Q{{~%!_G_i;TOg zu{pA=v{ZLf&f}z~*LY<9hA-MK;wtF6(af9%VzPyKUif4$1Q|Bq%rQZcKyxn49)5LrSLclT>Z?6& z%H98e?|t9f{{Khu#tj83Vq$$q4$rSt`FHg9J@H;QIb-9qGv?3tjdFid`9yrbNdKJP zj@xm<_v_pxwcjQcOHEMgDtAKaF&$F4eWVt8^+SPx;Tb z@WruaO4W}R{9IJ9$W z#rgSjy5(z6XFuNkKI3TrfA;%w|8GA(e^fbr`u5XPQU&|tqHgE-PtBE2&N%+(PmPRq zS@9gZzbR+7M19o1|9}0X>-Ikmb{Hj9rdp<@r7hApwd3zM>!jRVQ@xlS0oAgCk!Ox2 zf1JJlqxJgcs+dWB7fAPhbZvXke0_N0Rz5Qri`JcHz)boE#{&8xl^2es>w)%Np z9mnfGGk^40F1dEuLRp3bUzJZQ%{rTA^Yx1P;}a8qz9`#0G1c`+rC_hyzS`!8Q|0qC z&DN`kU(7Lkd}gNc#Vix${y(#-%$`l_`*GO*&yxeC647c*`|;0?Eh>3NdE3u`y>5(|Mh;nzvp@HN9E~yuFqdwoYCKrQLpN^H(k^2ey+>D zTGuMQce|c{ExaCTYAaa(tC9a$`Yvw6`NyA$zSP;|X8h>2d{6xk?o^Ys^dz(X2yN?) zcRD++O`LK5w8rMJE&IOx`*FMedCZ>&-}jlm+xuFzu-s)$-DmHQ5AWC2?|FaUPOf)n zn#<0wKUo+ae9-PPids9f;@Qm2g|BnBAARGa-L6DF-@VcIJgrh>?pF)D`@Io$N!30j-|qw$hHsZP40hRg zr*n^~@cdmN$J+HxAHCpR`(n%O#b(vfW&dlxPct?aef~otAu&-gZ~x!E9j{&WyKd)I zhdqguyZ__Z%Ze`-^^eXpPEV?=JYaLCbZY9FwP}U7@A4lh-}iFs$6eR=DCBib{c$H> z@2LL&U-Cy5ukM|ZpE}W1Fnjv-q^;H~Ch0uuJ9jjv!(eZJEv}4J743zg!kn+naBS4EdIaEnW5pe(>(JG+4_@~xaH>uJqUd9b`|C8N&ZeE&lBRrqvqo31e3|AcqqrZ3#9gKxKjtH2`_<*h zvw;5Ic#9sRZvFb7rv)b-J>!#I{qOm=D(k+j`p5p4{C>J)V@|$*v-yUfKi0?YFua!bZ1K%Cb*8)S z=D9zvJYW6JKm704X@93Zt=tloYV-BO;lgJ(Vn05Q`#!7U@8A5c_q&$&^#A>)TxfVY zR+5e3hI4A9+r_uX-kkAq5i9&QbMwY++vFxrooN0^BRRS6+0&;_D}KF92Msm!&AgU# z=FGV~_WL@wXINXF-t>0%-+7hK-W;1!73nhXd7y}(Yvhqvx3cC~SL^xB|L0~ht9QoS znVmVtr_*dbH{8r{v(7&9K0fQ{_3O%Mn~nNXQqMdS6z{f?%RGPNWVidHzo*Szlk*g3 zoqcxfO10>5WpUSyg|1d#pYQ(e8|hZPRrc*Q-H&_ne{L?U{&@ArV|RVm#hPx+3~#os z)joeV%y?6V%kIm4dAm0os#O)wa97TES$wr;W?J^=S09gU`WyTt_fNe`WLfgwyPbZ! zH(SnG+@W(?`TXY$GwF-7GF|6A4R8Obn47)*_QkyIi#2uyiljcN6#Mz?Z_U{-?XEoY zU32}Wn7%7}U9wBsao0tQ1jj1xot6)5Hf5N#WH2=R4LUY;{;F(~S<>Otx2HGl5GvdL zY`UD8{g-QxrHftMT_V5mzUk16hNmR#8R6WhL>QM&ZDY*N~W*JZn3UcT?!t#f{n zAbYhm0|Q_4T9a#%g~j(1FWvcJuPDO6@XBMJyA%V%x^(us40Z;FH|=RIN8IbbJf6HV zx6tS+1H%Cm(C8NX{|)jC3x9geXj8JP3_AU?m6bZs9#ea|28#x`m|}^a%vyH>-LmAKiN+I z*v)m#`|g+D`j%<&pW%jV<&mq66|dKS|G4(K+QRQ=Qwj?U6FQ{AwuQf+eR)IGswpc^ z&wljoX1|^6^N1U-OMPEe%==Pl_^wR$$=|r8^E~&wV=$P@^LE9<1#K_xZ8-98#xeoZ zlaCW;ZOdMN^=4V3)PsVocQGj&5)WIIN%d`h|9rB~n5@0xwjFQ28c-u0)#Umd=;C%Ao0&#UXZ-p;)8VTRVRNdKv3-{Ys+ za)iJA-T%~cj`ihly4`>I4meJ#ajlwhWxaLz=eG5Gqx?fde`iEkfB)q5yH0A$+{VTj3ay?g0K54Py@4m~0#R1#78NLO5I@{Kq_HBk)wdI`T<%$x!x1P)Vd*RTRPY<~n z)DEwaHGLxz#ol}Tp5~e*Er0)|w!Az!qpk4EA#%rbu8@0Y)ys$eU4 zPo05b2j89g`+M8U7#JM59Hkf-gg7oSFic2Dmdi|@&B(AoEPM$ggF>SMF9QQ7OC|$@ zhk^$)g98&nrNaa^h6a`<69xtq0rHhjFqi86o5#$+AfwUi<_t1&7udE7874~kT$dOa z0=zGaW->6W$WP92-@NnwTLy*(=A{>Nb}8{PFqBFvgPhkh5#*9(`nL<$Hcdu zoq^%&%zu0g3_>PSy&2!wUoKs`w4);;CPwB*#r}Im*1EfQ?6BA}&++tC!;HIoU#|-K ze(BPszNf3E%rravjeGLz+5a9_1=NO~@=1zqKDY61)b%B=R$h9x>b7a#?A3d&U5&gR z_ip{YUu{=6PXBAH`}Im?zEo)1oHE|(e5q^iR=uCPyD+Zj)-$d5tE)fmGF)l5rud)i zHanRwHCZ#YUR(8K^-g^EcEZu4N4?my=2jgueABQtxP0o{6}#8^?7#AONBH}X=4t1e>vj(f@H0wXZ&8tNFTn( zzIspiyJMAxS+m)%1}{C6x9?xi?e^w#=L3(QOMG=Wv-+)V2irMiTfZH5Gu7X0iRo&t z+FF{Kx$>H$ncs!^SJz`XiXD{?=#hbrLDJ=XrOMKy6zFB*@s+!Bbt?&=kOx?Dv{VUkE#KKkNDe|DAtVO?$b1_y7CNuhv|8 zH}_O{=5>Y8TQ+Na-v4T=-5{~;ZRxh;km_TZ_wyvm<8xPDIyd*#%lpqS|51XB>a>eB!&ig4U(mWDRd@X?dX=x-WIc zH1VdtMk~!fdalh5TDG+QwS`CSy?%k(3BS^BUHQ2z`_AeWrLR^kdX@cMrSGKH-$neF zubH0ZOPYQBV#b?8HkbCY`~N=~l)Cfv(G}~1m+88EU$_4M{+WBM;;+huw3q&Vm3Q57 zuMjW$&BWTjD<4(e`*!z&gh}>s3%0$QA)J>Vzqw(RxObJ7W7_sZ=SI5fc6|Rj z@&9AN-a*_7nPezA+MMAqH;8~6R| zhIc!SSGPqnyGwI;qrNXVzIxxax30Ta>FvM%^xG?$HNpO;EH6geJ^flV zr|9yv_RC*xRSW#RbN}zm6Lk;o+DHFeJO79L_uabfhaCT~lnLC9x&C!SFT;U*zgo-x z=RDba`ToH~gIs5KhK9q-FV6WO@$&V}yq>9da@jYY4ds#2f0JdxVBpz%cheX$T zTZzA{85mY9zL?>*?|v@>LqoF%s9dJFsHaT@LLE~x++1{Yb$M%w3JVLv!}o33vgNVW zwp-h7=dN6|eg3kAwu^aQZQuLibm6az3xyV|`U-o8F zOx`fN^nKgE3uPB>?GHc3x%BVx#3S#%ZvMc-(3AbDz3dCy?@Ytox0Y+lxGrC=$YEf( z-k&!2Q0Ts@`zw9^e_p(Ap8VIZ)$fZ!Pko&(Yu@0y$hP?uPgI$Cd&-yX>ZQBcu5O(j zbgO7Wn;;{@Wqs??PcA>dvG3nsbU^xR#N5K2q0Zh@7ue?f4ZRh9)Gx6(V5j54y?*k1 z!CT)hesy!@Url*8Hr98A$MnK)rkD1uy_;jqQ1I8X^wW{8&eq?udcHUsWxUC|`l)*B zxxlYIQcN4SY}xWRe7W!6(w^JrJf%whyt~4__cS9zNMLpb`&XZ81Mj_!MYpzVKROkf zrYOm9LpQj7v*MCfzutD`ConXK1Pd-%&8Pd|m(jTy-vZ5Z`8Ea5)H?oR$teZ~c4xW5 z(h7-hr4{)XB$l69u<7urFWXnI`}b|hs!M%Zsjt4Ak9(1Seu2TvO|dJ(E7;erKGi$- za2}iN)$@mR7!20EjkI3J{#!PNk-_fH)aL{&i1-r z)(0gS8txXX=$a6h#lXO`1hf`ly$3VHfjmJ_OU2PR>3QbaGVk{xnUAk*ObsdxomrGS z>z1wVs=Uiva(}Dz9o}oU(oSaE+v=VD-(FYDxKg+N(!auY7iVny%-W#+sU!P&)4lHa zs@X1gSK1fO&6<>-)c%oo<0~`Y%iH9yM8>MgGL$d=x9Z#DiWyJp?!W!!fB7fVfvbFH z&$e}UcPH<+^t&xRZKm6Uf&xBf8NaPfUluI5^`C8H@XUYD)g{Hse|1$|sZ#s+HFN4e z$*??gpQ8HEpQ@*>m@U=0|Nmg-{=UPWThjw(Y8}t&nvyFYw(ON*{Px_?^Rxff{av|9 zzpN_P^QE)=CdOrlzv)X~;|*z+TOE|P{P^lsQdY0l6bm&j@|*wm+3bf)zJ=dah*jn2 z-ThWG_s-hK8@BhYtvZ(JKlhv8E16Zl9u^7R4qd9N`8??EH=m;Y;Wx$EpO!K=yz-lC zQ}|Z&ihfk z`6b_uF39!$slb2WpM^>C684*~XA4$eKl(NMhGBrZg6xvn3bLOczvR6f{h#eYfn-~~EjK4ZtmvJ@zPP}z1_^M;BIl}>ytZSM!FSOpQNMve0^~K&k z>&3AZitKw&hiYDrFS`?9+4+q}%Q)kv=a$NB312VS(Azdyw_i__{3^k4z~qGAT${js ze-FN2FFLKwHcXu(l-DD)>Dz{{;hFKGe`}3%e$I8Oo@*zw%Fy*T3O6Q32In2m#gZuj33w#U=Gg_SOw=gp> zly!p>!z{tC%VcIRS-N!T#_Jm|i&SZrF7>-UebYM6E2j7hnY=l3p@q!q_&MU@;_GKl zuQc~r^e*wU$NOoX`#NQhnIBno+r;;FT|j#2%o2t>y}wr9>VKR#>38k++xEWCxf#N< z-<30~E&cB9eQag&tQr4!`PiQu9C#R_?cx9E`s-iw=ch!>xuVavY}?XTUvjHUMN20A z&c3qVz3=w2DNldfTfDtqXtDAek5=&W>xQpAZhlKlRkKZfxMG{n-H+$ z{k_cOta)N+t@F*-h8q@N+kQX4;rCAc@71@zJ6&Df@z`$v^;(N}WlPuO--@qS+p5o& zn|+GClHuF&g_6p)C*tn++}N$RF8**|qZQ*zg}W>-XUO~K&$#!?oPoW$a>??D_p`MN zDnjS#zEr5Yz+`b|nUaV6wF4Hpw@q{3&NKscr?%;8?Kp`S@loP>Keaz z_1*8Uh7U8tz}0{8}fX`H=bYL7kqnD za&&8Xe2&*FW%VBTw8AFhiG z2fn7f$~Q~-{>J3bl0HwK*^CSp9?O(GzW1}HeQIO9d(R+NmFK-lUEPepg?sa6SI=J` zbX?^W1H+fo%IkQ|7cbMgU1hfw+{)>xUVL}Kgc*yxtY6)m5MjDw*{b5Hl~*d>tonLI z(t6)z-nF5(co;U^-xRFwKPA8Z!|(6AWviVmm>Cj;pw&%T_xd-C3^#P!tvs&F{^w?3 z2$lWy@;ysB14G&2h5M9v85nlE4*O<01p`e;2^~DpMV;ZRQBy}lfV>beQC9MsYqJqD dp!xJadotVHl&t)`Fa`z&22WQ%mvv4FO#l^c3)cVu literal 0 HcmV?d00001 diff --git a/static/images/recursive_mapping_access_p1.svg b/static/images/recursive_mapping_access_p1.svg new file mode 100644 index 00000000..73ae3643 --- /dev/null +++ b/static/images/recursive_mapping_access_p1.svg @@ -0,0 +1,1011 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 32 + 39 + 40 + 47 + + + + + 0 + 8 + 16 + 24 + 31 + 15 + 7 + 23 + + ... + + + ... + + + P1 table + + + P3 entry + + ... + + + ... + + P3 table + + ... + + + ... + + P4 entry + + P4 table + P2 entry + + ... + + + ... + + P2 table + + 9 + 9 + + 9 + 9 + 12 + + + + + + + P4 entry + Recursive + Mapping + 111111111 + 511 + 0 + + + + + + + + diff --git a/static/images/recursive_mapping_access_p1_invalid_chaining.svg b/static/images/recursive_mapping_access_p1_invalid_chaining.svg new file mode 100644 index 00000000..2ad1a544 --- /dev/null +++ b/static/images/recursive_mapping_access_p1_invalid_chaining.svg @@ -0,0 +1,1170 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 32 + 39 + 40 + 47 + + + + + 0 + 8 + 16 + 24 + 31 + 15 + 7 + 23 + + ... + + + ... + + + P1 table + + + P4 entry + + ... + + + ... + + first inactive + + ... + + + P4 entry + + ... + + + ... + + + 9 + 9 + + 9 + 9 + 12 + + + + + + + P4 entry + 111111111 + 511 + 0 + P4 table + P2 table + + + + + + ... + + second inactive + P4 table + + + + + + P4 entry + + ... + + + ... + + P3 table + + + P4 entry + 511 + 0 + + + + P4 table + active + + + + + + diff --git a/static/images/recursive_mapping_access_p3.svg b/static/images/recursive_mapping_access_p3.svg new file mode 100644 index 00000000..33a7fb64 --- /dev/null +++ b/static/images/recursive_mapping_access_p3.svg @@ -0,0 +1,819 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 32 + 39 + 40 + 47 + + + + + 0 + 8 + 16 + 24 + 31 + 15 + 7 + 23 + + + + ... + + + P4 table + + 9 + 9 + + 9 + 9 + 12 + + + + + + + P4 entry + Recursive + Mapping + + + ... + + 111111111111111111111111111 + + + + P3 table + + + P4 entry + + + + 511 + + + + + + + + + + + + diff --git a/static/images/recursive_mapping_access_p3_inactive_table.svg b/static/images/recursive_mapping_access_p3_inactive_table.svg new file mode 100644 index 00000000..b5679070 --- /dev/null +++ b/static/images/recursive_mapping_access_p3_inactive_table.svg @@ -0,0 +1,936 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 32 + 39 + 40 + 47 + + + + + 0 + 8 + 16 + 24 + 31 + 15 + 7 + 23 + + + + ... + + + P4 table + + 9 + 9 + + 9 + 9 + 12 + + + + + + + P4 entry + Recursive + Mapping + + + ... + + 111111111111111111111111111 + + + P4 entry + + + 511 + + 0 + + ... + + P4 table + + P4 entry + + 511 + + inactive P3 table + + + + + + + + active + inactive + + + + + + + + + diff --git a/static/images/recursive_mapping_access_p4.svg b/static/images/recursive_mapping_access_p4.svg new file mode 100644 index 00000000..2e3ff663 --- /dev/null +++ b/static/images/recursive_mapping_access_p4.svg @@ -0,0 +1,765 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 32 + 39 + 40 + 47 + + + + + 0 + 8 + 16 + 24 + 31 + 15 + 7 + 23 + + + + ... + + + P4 table + + 9 + 9 + + 9 + 9 + 12 + + + + + + + P4 entry + Recursive + Mapping + + + ... + + 111111111111111111111111111111111111 + + Offset in bytes + 511 + 0 + + + + + + + + + + + diff --git a/static/images/recursive_mapping_inactive_table_scheme.svg b/static/images/recursive_mapping_inactive_table_scheme.svg new file mode 100644 index 00000000..4b6f8e26 --- /dev/null +++ b/static/images/recursive_mapping_inactive_table_scheme.svg @@ -0,0 +1,403 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + 0 + + ... + + P4 table + + P4 entry + + 511 + + active + + 0 + + ... + + P4 table + + P4 entry + 511 + + + inactive + + CR3 register + + + + + + + + diff --git a/static/images/x86_address_structure.svg b/static/images/x86_address_structure.svg new file mode 100644 index 00000000..276c17c0 --- /dev/null +++ b/static/images/x86_address_structure.svg @@ -0,0 +1,917 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 32 + 39 + 40 + 48 + + + + + 0 + 8 + 16 + 24 + 31 + 15 + 7 + 23 + + + + + P4 index + + + 9 + 9 + + 9 + 9 + 12 + + 47 + 55 + 56 + 63 + + 16 + + + + + + + + Sign extension + + + + P2 index + + + + P3 index + + + + P1 index + + + + Offset + + + + + + + + + + + + + + + + + + + + + + +