From e7147188e13860db81b6f7913e8b657be4803fdc Mon Sep 17 00:00:00 2001 From: mintsuki Date: Sun, 29 Nov 2020 08:26:08 +0100 Subject: [PATCH] vbe: Fix handling of VBE versions older than 3.0 --- .gitignore | 2 +- Makefile | 44 +++++++++++++++++++++---------------------- limine-pxe.bin | Bin 29135 -> 29125 bytes limine.bin | Bin 32768 -> 32768 bytes stage2.map | Bin 4294 -> 4294 bytes stage2/drivers/vbe.c | 37 +++++++++++++++++++++--------------- 6 files changed, 45 insertions(+), 38 deletions(-) diff --git a/.gitignore b/.gitignore index a842f6c8..cdad5b15 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,7 @@ /**/*.bin /**/*.bin.gz /**/*.elf -/**/*.img +/**/*.hdd /bochsout.txt /bx_enh_dbg.ini .vscode diff --git a/Makefile b/Makefile index 1194541c..edd9a838 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ CC = cc CFLAGS = -O2 -pipe -Wall -Wextra PATH := $(shell pwd)/toolchain/bin:$(PATH) -.PHONY: all clean stage2 stage2-clean decompressor decompressor-clean toolchain test.img echfs-test ext2-test fat32-test +.PHONY: all clean stage2 stage2-clean decompressor decompressor-clean toolchain test.hdd echfs-test ext2-test fat32-test all: stage2 decompressor gzip -n -9 < stage2/stage2.bin > stage2/stage2.bin.gz @@ -37,30 +37,30 @@ toolchain: limine-install: limine-install.c $(CC) $(CFLAGS) limine-install.c -o limine-install -test.img: - rm -f test.img - dd if=/dev/zero bs=1M count=0 seek=64 of=test.img - parted -s test.img mklabel msdos - parted -s test.img mkpart primary 2048s 100% +test.hdd: + rm -f test.hdd + dd if=/dev/zero bs=1M count=0 seek=64 of=test.hdd + parted -s test.hdd mklabel msdos + parted -s test.hdd mkpart primary 2048s 100% -echfs-test: all limine-install test.img +echfs-test: all limine-install test.hdd $(MAKE) -C test - echfs-utils -m -p0 test.img quick-format 512 > part_guid + echfs-utils -m -p0 test.hdd quick-format 512 > part_guid sed "s/@GUID@/`cat part_guid`/g" < test/limine.cfg > limine.cfg.tmp - echfs-utils -m -p0 test.img import limine.cfg.tmp limine.cfg + echfs-utils -m -p0 test.hdd import limine.cfg.tmp limine.cfg rm -f limine.cfg.tmp part_guid - echfs-utils -m -p0 test.img import stage2.map boot/stage2.map - echfs-utils -m -p0 test.img import test/test.elf boot/test.elf - echfs-utils -m -p0 test.img import test/bg.bmp boot/bg.bmp - ./limine-install limine.bin test.img - qemu-system-x86_64 -net none -smp 4 -enable-kvm -cpu host -hda test.img -debugcon stdio + echfs-utils -m -p0 test.hdd import stage2.map boot/stage2.map + echfs-utils -m -p0 test.hdd import test/test.elf boot/test.elf + echfs-utils -m -p0 test.hdd import test/bg.bmp boot/bg.bmp + ./limine-install limine.bin test.hdd + qemu-system-x86_64 -net none -smp 4 -enable-kvm -cpu host -hda test.hdd -debugcon stdio -ext2-test: all limine-install test.img +ext2-test: all limine-install test.hdd $(MAKE) -C test cp stage2.map test/ rm -rf test_image/ mkdir test_image - sudo losetup -Pf --show test.img > loopback_dev + sudo losetup -Pf --show test.hdd > loopback_dev sudo partprobe `cat loopback_dev` sudo mkfs.ext2 `cat loopback_dev`p1 sudo mount `cat loopback_dev`p1 test_image @@ -70,14 +70,14 @@ ext2-test: all limine-install test.img sudo umount test_image/ sudo losetup -d `cat loopback_dev` rm -rf test_image loopback_dev - ./limine-install limine.bin test.img - qemu-system-x86_64 -net none -smp 4 -enable-kvm -cpu host -hda test.img -debugcon stdio + ./limine-install limine.bin test.hdd + qemu-system-x86_64 -net none -smp 4 -enable-kvm -cpu host -hda test.hdd -debugcon stdio -fat32-test: all limine-install test.img +fat32-test: all limine-install test.hdd $(MAKE) -C test rm -rf test_image/ mkdir test_image - sudo losetup -Pf --show test.img > loopback_dev + sudo losetup -Pf --show test.hdd > loopback_dev sudo partprobe `cat loopback_dev` sudo mkfs.fat -F 32 `cat loopback_dev`p1 sudo mount `cat loopback_dev`p1 test_image @@ -87,5 +87,5 @@ fat32-test: all limine-install test.img sudo umount test_image/ sudo losetup -d `cat loopback_dev` rm -rf test_image loopback_dev - ./limine-install limine.bin test.img - qemu-system-x86_64 -net none -smp 4 -enable-kvm -cpu host -hda test.img -debugcon stdio + ./limine-install limine.bin test.hdd + qemu-system-x86_64 -net none -smp 4 -enable-kvm -cpu host -hda test.hdd -debugcon stdio diff --git a/limine-pxe.bin b/limine-pxe.bin index cfd63bc5b48f8af7b0c17041243f30fa361e4ce6..d3f878b10baa9e35ec9e0553b2f93056921daec5 100644 GIT binary patch delta 27248 zcmV(+K;6I3;{nCv0gyZug=qi)XnzL>0KUO|006%L00#iM1hG;32Y+o;6jzp2bi=gT zSZx581V1<#%t+W6dR8+bNCw3+?5=Ez?zEUFn%!eMJ?NQrj$KJMN~TFuGd!P7*bVNQ z9J2#~WZkT1@njXzQPV9hjiX5j5@kmw=_G7UwM|TCZ~;NAz4ui&Uz5x^`)_~Hb*y@I z@4NTiue$HvhqrV6?|&6O%5x_(xA0t57>9%Jgx~uK$2sfpqU*AZO${E7YZv&$!|=3k zEOU_d>yN_F#I;$t+TL1!ZKzhQ?GiHmS$Bkc{ns}E&g!r2ilfGCrFLyegU5S5iL{SC zB=8FldtkDe$H|H(opZKjPT@m(%eQUa++N3i+>GBokmt>1Reu}@f|;7C^?|vm1_mJD z{wiI->%aRW;tj{dd&o)d^He?Lr1#ZS3I8fIes8Js4QIJ?n{%u4Dd&^U&CX4T^Hhz! z&y7ybt*&xD>)W2S+$lNj&Qhn%xzSnXbT|(!NfH`_!#V}3xW8&bMOW2K6(<$szT>yT zsU_7{z3=&urhjF^D@o%LIPTOz&@Y&X036XLvW&sR`YN4*>HTrlckBIi71MhHG3Lx$ zSYPE{h*})ubN%lxM7`Z%D~uurr`10yWVU-Qf(q@|b6y4&ehn&It8K6SqBc@{8C9T6 zD#9d`)UTf6xTo6nu$jGPui0z%n!RSP*=zQiy=Jf3Yk&5dz5ah)b)&bjC4_#}Uk8n% zQ#hq^*ehn#&1_i#E1ZfhhJQ<7!f>Kx3(py$?{hCWnE?;shd??P{>>9|btI3_>YeZq zGDCn!6z&b_m;@x7t3%BIZA=BAaBuHPXw3bLkx9s9>#0jon0KH{UJl~qP7x>k7r=O; ze|C`nrhg98?dv^t-`)P+09+e41v6H`xwyR-%iDq4PD{+R95^ie`|swE3%JP!*m*iS z&T(U<72L(mtJdBe{e z2b&{i-(ErUx#w%+gUz>r7N+e5vN*f9znHi0F@Np;^_pOfjNmjr0n)QOU+d5>`tY5X$)yt;P8JEQfi;=Q8 zM*2-Lqm_!S{$lI3V(W!sYj?4AsMz{diPc|Xy-;H9F0o!KvG$iBWT?cdp=HbL-hn5; zw12+Ju9I^(Jb@Vex1e~FE9N*-uKL7x$+^I&(McRvyrKC->~{vmcb9NJu}hLFQq<%d zn&v%k84`PWcZy`E;!UCTyyPle&U5Nr4?t+05P#!)W@Pg==Ebs&_NsvzScHle>PRJ` zhd8RKm`)vwh}b|J&6;ddU7Dr^LPjFi6MykwU}Px~55WpS@h}EbP&~ph`i4C5Fcptv zh|Pj`7mtv`)N#ZhdQu$KzLKNf0duJ)AJXK5Hc8EWmE*kUGf6wSLdB!hag2yH#IZkr zmGM!Ylg;^yId}@yp8{iV0iLjNayl@mu&B#+a$FNaf}8~|ki%QBj!j4{Ev>L8Nd!hN95jA_vM9R#*O8*pl_j7Ae2NMx{ z8<7&Ih}c8ZaIBlZ!{!tH%;v8R#BAQlyYB@#8G*LTtnD&^{ixW_T<|2i;FTQkB2$kr zWx;OL(VQb5&Tt%|@IXKrrZI^ow+@)2ndMAFY{pi}lIMM7&2xhk~W5n4YMS}yaW zRiAT!A&#if+9kAH5n68vEo1zs(0XTHWi+5#gjT=M5)Fi5a6xGKFQ0KqAb(_9#sSfs zkBf<8N4i_2-GHLam2KR9?A7s9g)g#+|sd z*w?rpo_Xzitu$>rjC{tfynpt}ESgq_U`PMnyBl5T%8-%oq9uK#B$Nk!+W#4>qYJ3X z{kn`|h(+1c`pSNsptG(_BEjrWBgwG^QoG2f*;gkPsGLVW$|>oGX$vE(=qk3@mqz{y zE$Pqx2IRVnuF~a-!plP_kuWI{$g($c<3=(v{53`Z=^PI89Sg3OZGTkTmV?s*AQ9xU zTa-za_u<|LsN5I0k>1999er(B8~Tio214louKE(}%gu>WM@apAT+=`wnrlRIsT`EFRXbU{nqfXtMJ06%*sVuVem5ob zHrlP%rVwUGnw&n3>VH4uRH35C6--52r_tS~(=D1wr=^)-eMb0cQRL%ELKY*-DST)J zAxs-*lUTCq*Pb&~SSsKPgsfmzUuRL4i8&lp=SPIr)buvkKDo;y$~pH^Nqf!+IS^JO zoe&FX8ht@nkCueicyF2HV3BvsBEL8NGlS2adFZ02U@yxIVB(E8siCfy|lKv0nQlYzNdV zoh^x0``xL*M6?l8KhYfMQTFt7nFoa*E%*mO8p<0b=;8GYF~J zW9=Sh{(mj~mSDH5+ix>2n%EQG1@4&=*kB?M|4sZ@z`%BCs;E2sW~qYH*jnny{~!zV zx8YGHwHNR~V;1^EP1HSdAv_3!Amj@GUI>3Z&WsCoNrm0VGd9;<;u(YR^^BS17aP&s z^O#eG>Z{1)7a%i(LisjNV`1Kis}?u0@1*?pg@14xOtITF_Q^zYm}ovpYsA;QbMnH{ zQd{DEILxSg5_;l4F&(YN!w{4SfLWz#EB2zfwy8$DD4(^G)w?!@tTV)*|+ z{3*acxef5f34FpG9sfS!Uysw9Ch$oye1AXUUtGi5w`0k!};Bl)}Btr>uz^sO&Rl z8Yk7&%2URWv0}wCj|m2#aRyp~RexBkk^llZ^O^91G8bT;Ge!U<3CcK{mM!BEs&V5g zEfr1}B$opfr;l))lcq3N>Y`3cnE+CHJ}3lhkpq7nkKzdlkB69qo-<4#Io)PsTx*c) zsz;bP!!P4sbtUci0+7VjhL{Y%>{C#(nk1?qoUAuerX5*7H?9X+KcBJ2?|&lU`9)xb zTg9C1X5}TdLy#_I(|edX$eiyzL2L7sPnmC`gdcoaKHr_K8z2 z7CG_v!UO>1P6a?~!_4YsfTZxBd`oZP9gwIDITb4NV|r=Oraw;O!*vA~u7FGRWii7* zK3!M=sqD1m6Wie5F-iUDQh$a43j9-eMJBYRZ4%s$Nv;M=Uw=8q%x(2o6&!_klf`5b zlw;s$r?=o30tDr4436Yx%$>>DZa5p?!F$s`Vn#oac7(NiY4z+a@i0SSvx0pjKm55( zvUb}_)ql1@AVA}1nr!@X7oa8~E(s-Er1yB>|4-O%13f3F=9EJ`pMPr#vGUODLKujC z9ydbql4Mh}zlIPQf>lwJ>?mW-%8RD$dI?QTfUIZ8vlfQD(}dZZI!q)1DiYY|h%rlT z-vXU%^<AtRN}_)J6nHeM`_fx5Favu6 zu>(3*Vjw(>gMY=zLcSAK z)W6?}sSOQ$iTUWSKHc4R_<0&r9t4$4KWkmxt%;reZ!hiC%?j@tcpX z(-IR|Kpke1P(H0P{sPk1j&_NU^8Tj&SY^CeU$()*4u4;ueKpN}`8Fh$H!bmsH--`b zCA9tn;$Wwo(=|DP6@E}EFGilL=eo03C%YG}Hpw>F;j0PiUV&S3Bq6e^w3LZSdQs3w z)|40TNV>d0T>}$U8{U3|dDt4O>3*cQSCJn>`KB%&k4GC7Z`K&^sTz9&tpD5s^`3Dw zEDJFJM1ST$h9*oVRwAw(pH`%K2R6hH0w&9l8C*;(Wf7#@zDjNzLJoB;?}3hy*5cb`*Z!oEkMN(b@UUljW|wI(N7)cv!i#9 z60wswE>W?UI{I?NwhYHPB|sLi5U0A;}@O`sPKN=&yH`vlyydeJK4RG?0J|f zs}XVl+iFs@n%E1euNcNc%Li0h#|A+@K!2jcZ{Z978&b56*o&u93C-sWfslbH_TdUZ&*+2lk`5&u4-q2Y(|-qi zM|C0|FLM~$kwp;8phY|96}c!Qk$(x@9c-IF z0EehsbM+d9Es4Ldnbo7HVP4Tr`F|IbshwBk5|rm*u#c(ajq(o{?Glt{&<1Ciw(hNT z_e#3wVJ3(7X<(A_>UNZwxqz8{^zTr&bmpN{cHVBlUH%~lfQz=%S2y9xbPFnDA;m@( zvu80sgV`2SFQN&PhI-i~CS>>p$f3SsQ~q(rcr=5t-u>q`=u#_8)V`fRM}HHj%@~Ui zL(vl{_DwcC0rMfbp=f*DR2S|CX*+l@G8&9wNoS;)GSkeg4Yv@nnK%xTl0%prAltKK z6BN7j8nH+JdqG>C2+5--Lp&{bKV!$askE*p0S2CG{6CVhgw{nJJqGb$isR7ClookW zPiZVQ#?zXfGTW%*bdK1S0e=asyqC&-Ips$)ZD8IBjDW3HF1pjhj z87jQjBvj+3=aZIOuld%RomG#_9dysdFLVtAMC8x@x3#x{i>k~X$L}zM42WJ-EKJj} zwAFmcF*QfD5V*diV*}%WrDQ1J;2XxwMSGco29nEd%69d)ZfmWj?SHzh`<2QREe(_f zEWe6qiZ3N4YnR4~)D^^He&?L$UKrGN_xJz&`-F4v^Ln1=InQ}}&T}rmJ2ylUw`X~u z?Z&yEH6Mz#ZujuZu1Ct^Hj8^w#(IW>vf+c+W;Y>l^Mg?V9zvVAf2p> zb!>O{UG`a|9BDM4wOGq#Pi4RJx%znjMc<d=lR_>0~9_f zwe>rbO8_oGy7L5L%^IVwMQZimfvNeJiqr&oPue!wurWC~Ab%bXh&5;{ka3NGGPG>L zWzv177fSm$b|P)xsu$4o^X4!llr^$=SeI7YOC;jnOPOUw_*Gm^Q+CLaG5qE}oDoEW(M^H1I#-%IJHex&~XpAWsLJtx~%R@#+B=q4c4c!f&X z|0e%tpZku0|1oU@^MXe(@4p@agBu2M@jk+^X-)5t39Xjx(%P-cvM z9B;T*VR9R!17_I68zsl4vOpNe#R?lq9qlgw0oo`#HnG#i+z4HHuR8WzEv(BYVzeF$ zdOd}lyBELvWjqO$gmr2%zawp(>{!q5IHfx-3xDfczJ)Bwv0j(9KHuZz#7U{CF!Lsv zK$HnYAf%xc4WW9WxR2u%#ExyY6va0bCepeIR=E_wX~``0$J^~tGw!CE-6|Tob**W~ znx0bGx)CbF0&XH+kBxkb`)*wy$9kBfB+$E@I2u5ck8oj9l)Hw~?A^TI26)#PCas=; zdw;DeZZYSZG0Z14D39Qvs|w5A4*(H0*Lgh+oO?(TEP~V~)hh<39r%0WwyDHzGo49X z=4(>(&B%dA!O;2!q*0RZDOC#S7AV3;-#%pHauH_wN(%uu_LxY5vJsO;Ui}C(uWL{> zfB7SzGX8!$yWzNQb3&QI<=A9Uu4zpOnGp5g=^Cx5{V^%)3oD*q*r#7JuNf zbX_i@TAN#OR$^EiY@!AY)Ql@H=I^7?@f&M4ym2|!|%&LHY1GK(zWej?$%??Xcfk^|TQQM3cj zNX<$JGeyZ>%u{DA-+e#LT5l?`>1Ud)FTFJZ{{sl%lL+9T``Ao1$zCHuGVvOt=AX8~ch>_Bw3l1V6Qd*QG8YK@XWsU0L zSJQLXNM$a#^c0)J;HfOy){aUEC{e$d*nAf3Yk(yCkK%CezN_shrVf!e7-5mfr={gU zFM!v5hs~DkdNhEKy}?Sh~r8?5>bXhvy*jsVSCA1G}{Jx-kuStUN+d2_wG{FOX&A}iSWnb zgmL_C>!vJe)&zc+@K$lcL|J@Ka!r=S4aO(#)HP_U|K89eCxQPT?op?_%e`XfsL(u|!~G(?3T zl-_)v#&Y3jHWuH$Z}F5trz4~7dqB?BK~@(n=y=LdpZHzA@*Biw;a`gnlX-7W2%`yv zIllOIen*AAs2&Gf2dp?8a7a&$_St|90ygbKlu7j!t)s#0xtpXQ8UdgcUoU*bZqzc|J?5OU<5 zp+D29!$+9XgePQPMdvE@?=+ufnrR)szi|AQH;^{EmrWimjxMa@i_Vf^&D$FGV)r=c zG#|1}{$_Kz_lEJsurec=lXV9_(D^5LZ$$8~p+w=m5%z)+>K6V9&BGgT06=7I%Af9l z*TTCC7=Iomlu*tzzhqn5-B*OEwp8Ul4SX?E!>3UB6%}&da>DdYp?G8{7lxv&lfQ2n zo1kt`#P<iR zJRNK{;n}axhX|m>8HWfPD3J zgq-T2A+*8SJ^~#ARK>4aI83sor@@!nUeLzY^b7R<0G0vbfde{FI3~VzRk1XSIFzz0 zt>0;$7`>#lNZ|I&=c(x~KWzZJ64iS90#CIvZTlt%)bM-<_jIor|t}H{ZDPcGJDUFO-hbexADt`BnpmAMnYc;k{F6O>jN~xNapTeg4Qh%t zQdeQFv(&glL!#pREycA#&R_iQDLsMrR(xxaZur)s_+zOTLqF!Yo}Bbm5{LsOu-JBG z$?*<|K>LrjD{lu>(NpYgv)P@$LzMWwKa&`Hcn?M){o=X2?YF8~=w#(V27iALR;TbS z)V9~~y1Xda79-VmPZ;3tRwaC^^M}dyD0tw^0rNFE-r!Y+SX%QI=6k;7+}-2_ZA1J9 zdBNTxlB2=4)Bs|kU8$_o46BX?@xi2|fXiT4+S*kxF>xU9?N~8Vj83*g4d>qwW{V1Q zKdEZE|M$2VjLw6YVPYBPvwu?k&G1KSc0omQTrwYm$>QQHRz(&r^{aP<^V?5{RQN;u z-S}tO z;kVc7j(w*!^s%=xx?_PI#^Ty?#qfT_wXeP3@VZ*A^;+OYXEc~PbB9af!aZg zA2g?P{En}nA{qq_qJOn8il*tj^m)aNK{#9f4{<(jRWQV8pXVGoa^Z=$`K)begiolq zr6`LLs}9IQJ@jg6cK4R%zIhIH>TusGU4r+9Ui?C~o->yh9Rf|k(Eyw8Zcsh|r9;b1 z>~KWt4toVp_@bnc&SPKI9~m9nU}HTIWv**+-6fsOlAjxrRe$lLp5Gmi69)Qb;3Qzy zz~RUE9kUGljuxN6ED6ns2A1j<`pMmO6|&gO?;2@1_J#7en*YBVo*hszTj)sc}&3Vq$W6%V*0 z-tVsp<4Se@5OcZK1I&<7I=D10*%=3YD8(IwC=~VA@kp&Hqkm5rfL({UP@CImF1H+X zN9LDd)+F(ZIF#A)Kc+X(MLN_q74UlVA?ZL#$Yg}O+%3fWulVA1mNNkNvk3RhsTOOb z>r3fCTz~$=2(cBkJKv*$k|zTBHzv6ag=hVS{Ab%E-1>OGGQ2|ij82Vd1VN@_5^-v! zBj$j5q99!cR;r*5344Vv#M99keBpk^kCx6={IROB-Rn8QiF!#mk-Ri6g$=b3sNCc8 zpnfR6+U&|wG%i37330wTI!KR`gu~KjlC@I#xPM)vlGaMMb%uM2&6a{zV5Ob-I|yBk zad>j`Ja(5b8+cMc1XccUvQ6pzzko9K*-)YiGkl7QfTxybs$-QSv&(f!%;*H;E<# zoFk#sQUP{sTD@J_o~-K4#NovRIxT5X?tky>6=*(gMC#VAyy!q;91|Fina+oxDP;?Y z?DMhGakgBy5*-W=0i zXmooJ?-OC6{28)6-$~bS)ElwuR-=0>nmck39oF}zr6SXnKZ(wo|1Mjx8*hctdw-m>kgb}T ziTl;(%Ce9@f*I$1WYv5VCr@wP+$U|TOcrG+GDKPsVrY8uW~T*o-v9ukiT$LNkr1)< zUyS`2oHA|(<+n!d@Sog!)**zKdr=xv-~m~(<1^x@S>86iyN4OiOdbXzJHuNO*TtK+ zk@O}~@`4Wcah0h1H;2I+L4R=1O%OzNKoFrp;O~{cZxou+-9(hOBT#7!C{p8^W|Q;X zzDZE#VOFgctDT`!5JZbC4K4I!vhK41?Z3&|={LevKfyR{zF%ppc0$!- z04s~jnIDV!tVM{H&i6Z&n;r`fr}~}GU5G~CfLIw2%YnyZbIKJ02L?V7Q9ztY2LnUM zVoz=XVhz)OLGbZy7{>OYl8pYHRd`6(Z)($nkhmYEEq~;GbT9FT?niUXt*0kDIn|iD zbR4apxHAP5hbzHLmw%!-y4|{TJ@Y+#g4gX`p2`rxZ@Nf`8ux- z7TbTvbpPvn*^KUGGrE^%^p?ZQN{;yzbftnF8zgNTp`77z*WGd1fb=y(^D|-dwgKmD zP`>ByI`;lPzVk4#dmm=o_zRr*5j~kF@YCeb5LL}?j>I95=wiKyh_62kNa7+QvFyhp zH1ID!s*%`UptM;enm=^i!Ap8G4RTtPMc?n3E0pZ;#P$ZT11G6y2Az}5R?o?_Qz}fA zK8mBf#E!f~%EMHp?*lM-S7@cz2gG%OkDjMI#GMp`{(tw)2+}$de>V<4;O6nl1mZ(@ zC36Ayddl>C(V2Gj3~m8cpGRA5Bcl`2X`f>oZZm(YW`8Yw4-c(r&G0|}VCLFJjfs(Z zTKqn=__8Nb3X@U|>N(`iwto<$JN94NPC}1={@4{gj)!#Fff{1$xfwBF$Kj<_=M_YZ z-jR&He}5im`ZFDpR)^6!{Ix8L2#a6Bsjdhnes>j}AlI_3v!0fG(T^%WU9WTNr};mp zyS1Bi2P}8GLZmxs-J)q{3Y+mqSw~K1F|x3grEbKZfVdgky5mP&fUUFu+h74oaRKzg zCY!SM024djB2DeE6m_fSK7j7JSsTq~K{IhQkbkCX7-Unf;i@_se35tHJ=lXfcWAs( z=MSxDFcj+&ENP8m-OWZW^I6}lR`2xztM4POe7xbWg9|xMCaxG}JhLmmM=Y&oCwp_q{hH3{Cg6(O!+p~X(BqB*~~WJ;Y>^Y zp@SXP0dHHs)q1aDO6y4alqHp$)a&#PqZ!nw$dX9CZ$Jo0h~3Z;+W&o(9_ZS9ZQdMs zyB1Wj8uvgfJ3tSbdEr^Nv3SAQfYj{&7Jn6sI7`Lq7O3;2c26G~E{WDb`AN}wcO?HN z0_RKQ0{-yAI=4Q~|Ba?u+1X%#D(DV^k{MHCoD|Wef-x?>@Q~Q3l_!|v@N=ui^ zcjmLnXjNzit)K@WoODcfG@~YY**ztH5(ld04ZZjvT}`%Bp^nD&JCb{^FIVStTz@T2 zy!&c`_l7~-XIpAWMqT^#r>aW;sLMAg4+WQo>DZN~v`F7RbO^))3o>ljl^x|s$ne}z zDyoNn{~&ER2S4-hEN?;JBYX~ggc+=6s$FR+XM5e~j2x}wQk8G1Zlk92xdqy!Axk;u zCwK-^bg7*<<_F~{Jzi>Ovci-no`2vAC+P4%2y0?5SxBSqg`_4w{8O+mnnK0SPSP%;`fp9nzUy`SDYn1{?zOfmJ)k$%sR%%(k-@FE7XqG)u6P!v^>*1=K^{IqlF@Z?v_-xo#B zn2R)kN&AxbGnmPFQkoW7J%25V`Gt_nE46wP4Lt!ml;&OZSD z)%jkyo90dW>dL$R2sVTOEfGH5PJ{D(l#4xFskmWaj0>07d$Fg_vo0tM!A=bOz<8A; zY|E0;{*NSX1xW(y4&;(h_rVARcW!4s3ZVNm=$J0&zB5483ijc@uYaMp%+{v2$oq^r zn>hOdiYw2A(&d#BU=J?`#Fw1+V`4@qJGMV-v#X9NXbdP}?jzpTU)&GIx$SQk$Kh2; z_aM1%Aw2mW)k!_@VOiZ6T`jY;SHonCU=BI{d%aVz0w>-L^S+GI#@H0c{h-uiIx?Qu z68x{;a=Y3buuQ>b^M58UYZ*g*>Y7XD4FIY)EExknM0(5bwkctsXoia3`tewZ0H8xV zf9Q1oC+4%oH!(AGUYlx^sw)D67=?Z^Cv*p}uhF-Wmu4fRwbEzOLFq`faGZgAYELgtJ(w3N z`;cHBUhg)5(%lJoDeMaW;{d8;-HEV(CUL{60SJ;?abn-&QrahySf=KlX5eGUkbt$a z40lMZ@Ch0PK=s<0`;kvL?u#~J(=WH*3Mb5HrF0x&Jb%StJiDid3Zv8dH zy*%B+m+HL@d`Z3)(g2K8{Prt`iXRM*Lcx0R>%C8o#`_(W${_4UIOU6;h;O}!&P?vo z=|~pxB7X{+**N#Z-YGE{7epMNgg=;y;f^FpW;cE2SZf%_#M&o&i8j0Y>8A1MB+xdGFB*yU zrW-K~N|>B#KnFPJzUg07QiMmo@Li5Ikii$qlz;4U-`#YTp4RY1ew_Np43hPPe5d(P z(S9y8zqzXj>BC?X zAemP(Z!{(~_ShP)qxdsAQsd>s*MF{120jQs+2xs1*m7O1WOzNkpluasBjVT9p_`#N zJ_pI_`BS!GKorr%n|X6~UFp}qJ(Jx$=6~%TKbTLNVW;!&cw4*W@nxupNZ0vy_`Mf; z=k{YcfQ|h~E@v5E4|GNF)y=LO=4O5eS}mQ}m2&S8Al?Y4G;WA89lb6?u}2+U>}+5s z;f?1@jen5)VyS{D2qb#m@UL#7-6u!BRDcmz^5q3D844~y3onMBmOek`e{j=FI-7)o^_3cjWqHB!Z~rUy&LU>6O# z2WJ;GNF`W`O(O+Rzz5$9U}^Xu8(xwQRD9Rnd_bxNA!=xT%E&j_GY<_{{b;Vm?B3?C z9$PWW({v_qRmn#A%W?G(OE>w1tA93>jRSovX_1>5=K}V96}_}(K$W+*Lk>JN<90?9 zd!TPkJaNfiZA9*Yb$m&PLzV+Cbc=)9{{AvX11V)0klGzmuc`q(Zr^l}p7(j6?_tQX zk()cZw6VUPcsw~3^c3&!*K7Vi5MU& zLS>9B{M8*w&n+O|!?2XsnfXTc1YN8fhE{(uGF6GYg2(6H%19gVz;{0c#5D|rVRaqm zyeI6b%9~8tS0tuUwqA3ay??DOo=9)&Ww*oI`Y-orzlgTxN4%{)#AN`2&Pj*GnIWBi z1x07wpUzTr$nkcQ3qu7NoT4oCd4EYzMq~P)pv)g`i?(ppuhD84fLLGXrSNqh6eiRH#E?b-_Sr`@rDL^!5bRrQ~s!dzTpiGbX}0s zigyZ4FJI`>Q&hiTCt_Va3?nuT__9+^l7m$1ozlpPkA@WAqkpye*TYv2e0vz)D>p{? z=0?;?QEv~R@M?7B`F=gJ?pZGm%x{~-zxoDl1|@cK6u6Ak`wBa9x3OA&k9P_-79y@z+rqu!U!tX^E8ZJ4!m7I(Lel&(;E{_ex zA$ab@D1U5F-4y6sPvoZ|4i(0)ZMKwDR@&dUIGgijUkp&GDb0Rf$ z>0Qc`oACOGP>(JHX=ek0V&NlMsONW8V!~`pIDZJ)=kV>}vp7L`&zj|qhW8ILu6-k2 z=67AzHD^h}E^Iu6Il^J%x=m>I(OPRigU#>Mn){JnKkRJpD@yo)-*v_Jn`8><-O5_a81{qeeI)Aj;m-7(N#$`S)oJv z@PE6@b*(TlA7@aIiyJ;e+{Xs?IJ^n~`3MTOfZ|$EHC#9o@SX}}pU+PM-5vjtYFaKb zhbDfP^@Hq+sGb=3PC8g|V-VE*a9R1}Kai`}F6&P7S$v{v@4;4P@1;cN&zhnY(xBP! zQlx`68*^`{quV-Y%IT2;BtGl`bizB$PJbT6W+kB?#$1TM#n0jRDY84+og=UUJ8_Ka zVwS|eI*?V`tQVO z{tBr!<>B|p&w#OujuS87J=Ge^HwS#O>6QaXHGPtwurW`H$1w!{!ySk4#z1WA)8 z`KIg8Lu|e*Y?Xv{RUuqS4-RcPv7FnIx-?=bXIDnmqiIMw0LXgOTZLGRu73t-O0YE3 zJ;Z*kzDHkl(cw@vF2bYwwDr&cU-&AWUCN&I{^DZm`V`jOSEq2BOQ$-T`k1WbS3ahu zZUDZochN1VOSp`WKxz97;Ka5hbT?2gYGV?|B?ZKF{zpN=x?>C*?+@QY^=`4#WOO^JC@Lmp2`tqR#$m`>%f6F`s`R zgYXO4Hx7eo05V7f$YjbEzjK}Dar0ML4!?$RnPY_rv+Y>W9-<6 zMS&f32clr=QUS7U%JZX{zmSQ-IE=yFHE&FH+_=8|fm0+HF{n=b#DD5|^7Sp%`FR}q zCTBc$@<~@)5n|04ywWNd-@#>8@_`I0v;RdD!8sq{mZD%gI3iE8UB&V!0+&S z-&m;ew_Y4qbk---G{hv-S(t=9>t`J2a2{u2AgL=KLEL`1(hR zH}o++e?iB8QMh+cr|EK48T@Sg{Z?C>l%xh0g(O_@fzj{Gxwq?f1atsIe;#41WNOSO^8SP=TqP1yWL| zz~lEofrpcloZG2@sj~p02^6pcR`~CR7CxW?fkv%BAF}ih?8|YTbQ*#C1c7_H{a1CL z|7W!v$c}VSItm2;T1g~&Z1%L&x+CJy*Xu{A%I^mPZ5V!8>LWGZa;oaU5VSz>RWlz( zsJX^&PXLLw7k>p_cmTuE$Z>J;mQ!M@ca4o>$Ia()MUD8hA1{c!$LxuZ`Ty7ZoQ-4X zd7-1ox44XJSrPAZiJbe6vQvsT=j4bFrQV zu`f|;%>NNv9`$_(p0?rp-S95YO2lbATyDz0)NWuFMM4N5O>vd>=*$H_m z&fZ$-mQxzFxy#OqEu~`H*?LDdRfJGnYrIyKxtIamw&0Jl&c1gzP9yPF3Vqjekv?!R%-y0<#Z1J})&{a+E5^8#*o) zl!|4^DIlQK*pwnh(3yz|bQd}sA_Dm|^xkwu$K-fjpl_L~44n0^c&sSE7v7^oa+&IE zM?=dVAi9CRJDGlh#~sSguXn76`zW@T0BfPV&aS+8Z}i{`(SXRmMp3wKT;U71(!*8J z6MwMo^m=we4|t9GL!H|F3D&j`dzFOeUXzurpTN z$&+)Cit0@%R3E3%TrOL;Nl(uP*`ZOAt(n@7(X}%>w3=IgS{vQf%1TaPxt@{F8raYpW*61$^t&UEC7 z|1<|IH^e?kNf8TYutTNqX-6>V7C^7Ve=?I$~;nq*}UmkwiVgXJnvDJUA z$^ll{!YlnUHTGLKQ|1?6owss$bX-Ydr zVO_iN7Zp_g%U?C8Hn~_K4H+qvGwy#DDN4O9#3&d>C5oHfm963BF8&><8U)vXyB9lf z`3VwgE0joYgRbilCi@rx#RjOAK`QY?%R&r{TqzBp;(ipBmI@txvV+U#-8>kGc+n(tM{_F}vG~$1#l&XEN>eQEVXs^3#iZ-NAhSF~pix?Fv)Jv!Od(OG; zmaU(dD`Zcl`PAT_?)8+1A9b$|MIrsSvq*9?_uDrvx6c2np@#`gux+n!13*V znhaQpZ}T3I&SUd^uhM_H*(7=HBm>~|7&Rerk`YoOeRFjDm;`TCi2ra<9|pj9iMH$Yn#Y ztIN`L{kmcB)TekPzSl~h#R}V`&-)&Sg3uxe_AE~+k=It-FITF zM#!jS`uZK?kqK1?0v*ZSBzW>vYPDR3!b4&=_T3bKjK#*Vmdk0C!z=n7hrviQK(mE) z+1b<&_uZ-RYO#M8PRTOI&KMZttfq6g^*yfvxo?4|PjS~;s+r;7xa$iHCA6DH^(l>t zIxncAy?u&X+oJ7|&62nkn6xZz1{GdUy*jJVc6)xUufx&-(IMIxOpqOv2P+Faj-D1J& z{2>Xd33jNrJO&i1zP>UeB>8BCDAvK1cm0jh-H0s#Ygs@jYdQcJT87!?v$Ay~unEbr z&62h)Z@mbJx5p0a{!D&g4)uLYlKg~S!|ETcR>5@AaF zL{D({d5hNb2uPro#|`4FWuL`ZXxYR#c5xpv^iO{q`#cjV1ERZ((sPj(M|obqco?~F zKh9-ARq$MXBRk5az6kb=xTeXsar+t2si=ag7Ar(DTb4X4%6mO@^^meh0o6g}d(7Ju zQZ@&kz1Q`t;{!u{aT9c0*$a^1A6K>(ehRMRkleqa3I*47IKI2e-ogTX${xp`$g-vQ z6Iy@ff*;vsl%I=~`^d8lw$v2e$zDfOQ<9RMf5(mW{#W$j67Rtnj5n8c%Qpvz&ndsZ z!7fVC;G`%*kwXW8{q;32&~dBL{)LehXq-fSrf?lO^q4)eb)F9yxDCKd&f!~KPG{O^Ct z3lF$=BCZK#77sH2eg|CLK$MV$bC#q1>T@@$7qyS{JHJdg5hIl%J(bFcp0Ld zwA9Xs6;ALkKSKJ>iDlx6+hQo}>KZxi@Ca*t|FmyfS_d@K-tQoW%Au z?T_l0iB;fb^P8t;?LSGZ)iI=p)s%m&F;X!Wm(xH5YLqroGo?fX)5>MBQrbuzmSTq; zN3k%sF))4F$3U197D2SbZA*J)98jrfR@T6A{J%4MI&c=r%&;zGHA2=wc;p$Q4} z1;lt>r=bzjcs-5Wi{rhXbKHv$j1X%2I}S6MD%qxddk;Hiw?^_iK5NOOPt$+sj-rs$ z3X9~4n&p2Lq0|ACilIV1=!jyNhjD|io9haDr zre2gn2Ws_bAKoJ=rhwAY-jNuk7B(vNT1kooKp_OZQ#d4VVkEBV1apmQc)KAsm12!!g8_gKCQ9Y)NQ4{|Bo6_1Yad=#+u6uA|2!-+)?K zzfI>3Bi`k|$7UnAn7Vl%NweP1!lXXc2?ot&LA%4AS0{(;ix1s5na ztwBxgTjB4krFz>8?jhc`P_ehvR`Fd_!8e#l?h14uNd|Xi=%)x>qY@gRs~O5K?aZ2V zuDgK3XLoCDWWHoLBh5ZzxHY&xjMFv&O#pV~P^D%q8?PFQCVzU<3B?{dq4;SJG4$)c zRe{a}3ctyFB#`8MLT!KS`N|HXEtYr+*YNrMfq-hQ`Uah`E2QJzih%ccK(dxfX=uCq z6c1BkJ*CtEvgOXRlnURx7Zn$3XYB#^eP~<4bG?S6fxzPn)#y%3DK6Rb9N==u33M!C zae;$#>`L=G^660S{1-sb@eQ)3FJA53$!nIzDS!Tj*~lWDZW@0PV%N5V+L#Eee8}*} zq^88#vlm_u&_0RB!eW^b!&_L(%+?ss94c<{25ec4mFugDo9VgV&G; zybkL8gmwU7E7Y0&v3e_LD<_6QG4k6Nwo;fMy8Bv>9d0~D_kDaDam0@=v^%e2>Px5S zC=Bt~uB;-b11Wz^3w-(bJa%~t=LhIP<6h|J0$$$!ojO zk@En4S8XzV=q~yp=wL8)!0%q$6USH>hP~UIX3XjaSygMJAR$n)wii}zIPa|~D5huJ z6>EouP^gXBSi1fs`|tt|ZrVgSW%3ANU4O^=WLiXkU)g`cLL+v~WCNfADayTjX`-qH z`uHWvojRLy;X`<8wGLPCVugm{&J+wF^NLU0mZE%gp(FIkD`F43J=wVosx(b%M-Pu= z=j*WmTx=(BOrtf|CEJx=YOqF1!AZ2ID1X`$2kTp>W?(y*4Irbv&VbNN z)}r{Oox${7Pa?pYWkL;Wua3WSKw1tCN-xy*ahwPmmLYgp1sFaTo*XA|g#L{QO=H;2 zV0C}lg80M&c6W(f&bAV(C?!_0lb8gku)`!_yONK_^7c6K{+qs4!d;?ol^_b)*q2KB zD&3!D$8@jX2~5F)@z2`h_#*Vo#!p>zeni%nR_ephSzBd~sqJU}o_fgg)|eni{j6*c z6qe|_vOUP8bWizr`Y_!sAC{G_NoS?N40(UTjG}Aq?lZhU7-v+Yn8qy~ld@^)u)u@= z{pU|-9Q6nW;_&1cUkz@c)nIay>Z6<@)O=7e&_Hfu!#HW6TN^Rz(1@>%iR77-v1?`qI_` z8PPG{!_EM<)pT);9ear{UK2JN+|MYUyybFjYt;{w`+g5hVgN@eF*WGy3<}MncTarrPH(FY z1en$k(Sp^Jp;(g-t-`Ga@i&;V8&jTRc4Frkd|9c!Jc}>sEW9XD_*U#=XDyzH9}K zRD>UMcat3Xl2B+1Zp0a50eFVg67glh4V({RQZEEC)HYx9I-5IR*Xbd{rgq+ZJpD($ zl!`cO`?%v!kS{Dnv5%_jynU%I&IVd*mEQkSotd4FThyw3Ki1H_TUA07=O2T|x@>Wj z#43W#+xnus0Tc2<%U(qCk?emk9G+|swSt$N1 z+Kt>1BuA5>l(i2voxjBan~vh`H%u}glIX5DFv^GyMwz6-Bl+-Rx$;%>O)Qgr+=9Y7 zD2qS9@SQU#9tV~NiF=j-jc|IQp^u}H#f+`?s-L#zs=e#gCrKz)F@S$XT$WPyaiA*bF4?PSJ$bS<2%E;oobTTGNPL`_k?0C8x`Q}8DB&47PXL2#=>XwLsH zG_kQx{j~5#oiA-0U-*B2IJ&O)1`ELsPn%f87kGM0D#E+=DbBOQHL}-Zk0#g*wD~Ak zyTs|E`Znd_hwP)IyIC&$u2Fy8>|W@B*KoDBZ<$CyPwp5->6W+OX7TXJX@E) zkLZLu+*}9nhVUB>_~@D+NK4X&dDNY?1zMxH-ZEWFv@1{kfG&UR+oT?2sDp882U~{G z>qzx=zPj6S>R1o}kS?fAmDVWRTS-zU2aJ<)T#Wa*0o*g8B+$U{2UunpM1y6FyN_%$ zde=m9&vYw5@1=aH*543(n;2OM@R0pK-O5ACci)DGfS8@4$fuEq*lxo^Hovd(kgxaL z%tM+r9&(rN|4)A&^4HHhcnAW-q6%pEz)tULfPbZ_Mky&$>VYZMp_rmhLg(VC znw1)|!>C9*H5z0LP$B=9FzMO!h(y?19%EDH{6Ibv+!4c9?*R;1jXASaiajl=dKy9D zdvX}@O3OY>=L=uealzd3o}F57|1O-cyVkoHTBU#I{G%8nq(~*~_BdmNalwqxt~g&* zxgZOBLQLq-Ujzm0Wa*3_-bws0|2F(EF2GQh%C5zg>0X0OF-~QQGZ<4OTFW>o=^7r>J=v`EG!Yv3#yj{AxYeO39-g$|k zZoyxEFF;fMmwx+Cv>!~3s-F7aVXoHD5kG%}DJ=TcVrc05=a!}@Q)&q&$sP?u2c|q2 zhy7?(*Kyt!yuD99!%x{$+5hmvKTUDG%2fV&>{$$|;X=+TCEbPjXrVa$A4?hFYy=UrRS@;BAhW4hFpA2%7^aoPMM)coCpUlSY^f>yF6zi;E?4{F*O$}Gbe+xs6KCFuWaAFZ(D+ zU;Q7#ACC%8ivG`Y1Lij+euZulosL>n0%w#6+gkHJeG|5Q{&|El-PFrv3w*1}3|>)d)UuTav)MguAV z(B}Ei{ud}ekCAJbYn6v0-w6)>gke*eq!#icv#Hv>m&V<6chHui-5tD3Nz7*Ppb9)! z=cF)$=u#v=bE<3?P5;HtP;1FYV@hVKVxchd$fkLyl#OaGC~h3k0$Xp6kYi ztfmJ3iVZZ$3B#m=75*q{q+EBVj+$`B_J>$BKy;(?AU zA3;$)&~itn9N5^6imJxH<(WDp|q;sxLwdt^84M6mWhR zg8^s<$r~Ce=6$LmOIqE{x9?$W4i9awyeGXG2QTQ78_m*vMKe$uQZhi|m9AqS0qEmY z*-#3aw4}q!{|0>!pay@BK`_RxQ5|fF7FmJ9CdxDy6%EELNodTH#EZUtXe#i1L}dwr zt?1z$?R%5bi%wGC$}Z^pH1>T1`aVwa5S90`wDlPP#0`tv?KWpCF3J037>R0Hf;Ow& zgp65I(O18y-wOC1H^afl$y{etmcknb@ShfmTrJOtXAjb9b~Jw+XJo4<)mOCQw~)`_ zom}=Q>{eV2si>aa)2}XS_=Sl)-hEhs;|teQ^d9`003B4)Bw#QJXa>JOE>mOh5!H#8=yxu`NVwEB*V$4E3p& zo^kcS~r)2 z9^2P7gwEz31{75Ix79fRrMjXzclVO`q231lWIcbZW^lOGB;_3xA`Zf$Myg%sA2#q~ zitC?HW0YBq6-|bM3eJdmw;!)je zixPi0q=i-kdcPO9koS7n3r25~aqrt`5oQtXq>93`V%VjYV}on_`b*(8KLA9ffs1cn z9Nd379nwKrjFx%~Sb*V}V-~Qmkz1nSp+ty0*3exr`XbR&jSH`NCklCR$d>YTh~x2w ztSy!6FpMY+Jvyn33*|VVg&c4iC5GZHrKSQ2YlyKqqcAPKogMgv;^{Re*jP}ry~TYv zt}*{n@y4edG*|IsWWiDV^f|T5r`S_j>3@GJE+#1sqVCBlGWp;F0W z-y(}tzpBx6O%0UkOh7bI-cqdyunoTCb;37*Nf^H57;|hr#J^MFk10<3G#{gW_r-r> zmYA+zBK1#EK4kukRMp!$aCH=Wh{$`TtUF!ND;uP?Ma~=1a@q-Mg>+;(>hLWbDNi@( zS}{!c8FP887duSkr@#8vH%Io?6b`OMcXd??&&}I`4Iz zw?4q{dQ_+T%>NI-35x${v?-NeG5>#p5IuVS9%enEoWBb{-ckua<&scN{h|-`SLoxZ zhjD~Y4tGD@M6plp2C4R#Vy@k$;|o8;gq{^&hw80|`CSPik`DgWOH&P#giqbeC2Lty zlFc~-=QMKVwBF=| zNJ%Fr7@)6M;e==ibn_2~{_u#p0vq^O84NVRuvF(?N8dZgw6D>(xEqZ&L8m*|)R*Mg z!ySBJU8kc3?Lw8UFn_AFMo_bg|A!Wt;?PLPi|U?Io-$XRVWkM$3P}yrF6ee#Sy})C12df<;wZ@m7u`VAk>bKKK4K2tW`Y zw;aqhT3YzExM@G8JK|MY>x#<7?y948%N6L^+K7Sup~DK+E!6b?$(P5qoc12)T2vMZ zqX6jXyTf>Oj(uanT0gwz_ywu0xZ?PC;b$cJz-{sA-xVm1f`o7a%l{q97X>=!^%~5p0Q1_?A`9pI z(mHJ}J7+P8#!K@EWYTYT*JMX430ObKrW$|GUIx9IY92GV|jzF{6OK#P#9 zgriFt&esKKRl1Dxdc5UZSj3Z->m>XRZ^hH-lTwAhX5CF+1i>gIX*k_Qbz-#TN?siFb;TTz+B9Ej%jLW% zbHH5QnUV!K*ye2+B*s}T=Z0guhVInb0Epm8I5LYtNYuBLUqX#vQ1nAXEw-ZVZK-v+1$;vNm(>ckk!`MkN%{29Qd zlh9_J2Cejy7E>bhYmJ(|N zAlFa01J41bWY(kC6rjp5_dQb0@aBFu5K|fvQyK_U2v0iJxWaX2gizlfx;-UT`Hyt& zN5qi^oFadcwWTvKh6$Fh_?Pi)sO6gKmkSu~i2)HS5`7Ay)MGECVU616LtH$cH&Pa3 zimvg6ck5Uzd04aP(3;0~3MngGBITYYc4l z_0TTeEAW?Ot&@HNf)KP*5&!C8jt@e;7F?JnYtVn*Jb?S?faEw#bIazkTJoHeJ%~XU zrFu+3RD^lMDG$E^4>*xX1@WV-INgA{6+rVYk`v_#i=!bo**zNu2%!Jo0B0fcAHkFugJVja&Bf`w%WLsB_w~&Of+R=x-%EMGc!!C#krZ8E1{e#XSwKx zlBS$20Ax)EAjz3eiF;PH*B&`gtKHEd#gJ z%3iWE-7V&3nzC2s!Qx~@XgOH`AIzI+WscjFh2x9h)FP(LHSWxnZW!;9?8Th=(ou|C zv^;0=GSl*$l}i9rw=;dET3#!e1!#Z5%5>I&tg(|!?%eEE%bx*AGO}}FfmkV*NnGg? zSFOs)g=J6++MijmJbNW%t^CrssBPCPHn;mY(az z<-}U1Y&KTbcTVmz@Rn>O(qkUmF|8Jsx8i0>4xrL zqOxHE0g-V1h7HXa9-)=E&Ejb}9e9_UnVw-U%V2XmE`y=0Qfn!X$m zZv}wFQfP`sBL)CY!Ya4`w(R8@qqzqb<>a^@Sf0Hidu8V6#aT)h*?`WsEwj?JX5xf}6UP0!T)?29Tw&TwlWl79T#n6g{LIJf zrVN#CM{p*fI{+uFvpau%IS{*1i=J_3($E0kBe*eZ#&BcIV;>whe!@c&E$NFEXJlqU zA}3fDKIWKfbIj$Q$#ikUR*K7)4+qlo{FfZJI_Pgv(DPjNcYaV>cF^-G_#5#x$Nk~L zt$&G-jv+PAz~88Ey5>ErzMJ81I{ew^PMt1{U1*(Z;}UYjz?q*c3!9 zv__yJ)nK(@vQ6`cu1PaZ9_kt~bj`!sJ1h~~I#dkmOnTq}Zc%oQiwjz-mEwv;u&Z)J zKtf<0x#>XmOy+-4<_WCODj;v!L>7Og;MnmKxFuqC2ItOluj(N0*{kx#1@Rac7m>Y+ z@tR~{f@1DsbslgEsm5q-Hfew+RAbXkI%@n0`C#w5Yom(zG z2PrX*k#%g(OwVP!6*pS&4n_u<;LKdS3^O|iJT!xHY#o0IZh{2nb5TdrNTt;=j|QMS z+Uz7Pqk|ggObl*TO9`${X|U}wIx)qT{Mg*b5+0k~@j%VFfJkO%Wy5%ZfdL$u+V5Bn zrb}GI5xK-hxS8tOtjf)C=Pb@y9#nV!s5EZ=h&0ahJTU#IM#1kWZq&mjpo-%j0!sMc zm=zqdg8qN=$E=9p5`}3~9kb^y6z0rLew>>-(<;D@<)$Z3wau8BVCUw}5Uj#NfbTI! za`0Qni*;)9^qF(Iyex#;i8G-=E`Dmltm(;*Ip!oTv`w8mLz@(2S1=CbMt~8(|%SqS(`Zf~g6s#g*<1py7Z}FsEZ@^?-k-aktTQZy(J)^2j5cgQX=;wQ^GvY%_mh z6&Ej0&t8FvEMZQHor?!5$0Q}Bote3LDs3aeklUrstjye%nadxrg6aa|2sa-l3U=|( zd1)q^G~^G!9IVtB@si9n&UBQj0KKL%Jp+diNS(7d9k?~?7Lagx&T5m{WX+D}W@ImM zYUye@RHq&jNeEWqw06lS8b?%{YH z{6?d#9lEHR$yNrm&)iOBayBd=;wl4%c#ZY3M8|AFqkLTkL^6d++b5akIst#T5^Ro6 zj8-w;G-2GRML@bx4;O73f`^+a!V;t(J6V^8D8XFx-dM>aCeNHRo$Ksn1?^>~q>_r+RdE^I*}R5MY7N8}!l~PUt`-?8P72CS z5OYzFF=ejGS?mO$9GzG(HV7@o{?~Xh_P;=kvHuw}#@@PWV{eZezgBDTtN#Ch zA7lR$f{gt)7&7)hpa>IkI1qAzYW#;)ANy;|ZtD2Y23R!-evu?~rrJTqTB$0movHDe zKsKN-g43A_S_U?7(^zhUPt!A3X6B|ND4-O%0E)TkOHB6;6-}m@iENCvc>=ObP#Kpq z#<3XXa*cgJ?wphn>_>l{dNf;f8lV>E$!vVrV7Nm;n>WEnW^{rUri^ zNW0ur+sp*cwF13XBq0jW$iq#&T?qfTd8~X;Wv; z77|H_Q;R`0HLuG^7UkxMOPp>~aDn-2#{Pfm8Lzyu{~|VU6ifj9@O5gs7C;*RFx0eZ PfsXsXMP8|OFuni)c8exS delta 27258 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

(LB5n2LMFYuKf9ScrCuGh~ZIE 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 Z*TYkj$6b&{x77S7fMjR003>s_RRnQ diff --git a/limine.bin b/limine.bin index f2e53300abe812b7d5cfb824a81d2772c30c8d81..bb279a04cb6cef182a0bf3101d68f0aa089400f0 100644 GIT binary patch delta 27236 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 DWyvGA delta 27246 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%0AFt(7P}Ug%)5!qi6}<%=g8@IVM_VlO#J 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 literal 4294 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 diff --git a/stage2/drivers/vbe.c b/stage2/drivers/vbe.c index 24514caf..beeabb27 100644 --- a/stage2/drivers/vbe.c +++ b/stage2/drivers/vbe.c @@ -571,12 +571,6 @@ bool init_vbe(struct vbe_framebuffer_info *ret, get_vbe_info(&vbe_info); print("vbe: Version: %u.%u\n", vbe_info.version_maj, vbe_info.version_min); - - if (vbe_info.version_maj < 3) { - print("vbe: We do not support VBE versions older than 3.0\n"); - return false; - } - print("vbe: OEM: %s\n", (char *)rm_desegment(vbe_info.oem_seg, vbe_info.oem_off)); print("vbe: Graphics vendor: %s\n", (char *)rm_desegment(vbe_info.vendor_seg, vbe_info.vendor_off)); print("vbe: Product name: %s\n", (char *)rm_desegment(vbe_info.prod_name_seg, vbe_info.prod_name_off)); @@ -604,10 +598,10 @@ bool init_vbe(struct vbe_framebuffer_info *ret, target_width, target_height, target_bpp); } -retry:; uint16_t *vid_modes = (uint16_t *)rm_desegment(vbe_info.vid_modes_seg, vbe_info.vid_modes_off); +retry: for (size_t i = 0; vid_modes[i] != 0xffff; i++) { struct vbe_mode_info_struct vbe_mode_info; get_vbe_mode_info(&vbe_mode_info, vid_modes[i]); @@ -617,6 +611,9 @@ retry:; // We only support RGB for now if (vbe_mode_info.memory_model != 0x06) continue; + // We only support linear modes + if (!(vbe_mode_info.mode_attributes & (1 << 7))) + continue; print("vbe: Found matching mode %x, attempting to set...\n", vid_modes[i]); if (set_vbe_mode(vid_modes[i]) == 0x01) { print("vbe: Failed to set video mode %x, moving on...\n", vid_modes[i]); @@ -625,16 +622,26 @@ retry:; print("vbe: Framebuffer address: %x\n", vbe_mode_info.framebuffer_addr); ret->memory_model = vbe_mode_info.memory_model; ret->framebuffer_addr = vbe_mode_info.framebuffer_addr; - ret->framebuffer_pitch = vbe_mode_info.lin_bytes_per_scanline; ret->framebuffer_width = vbe_mode_info.res_x; ret->framebuffer_height = vbe_mode_info.res_y; ret->framebuffer_bpp = vbe_mode_info.bpp; - ret->red_mask_size = vbe_mode_info.lin_red_mask_size; - ret->red_mask_shift = vbe_mode_info.lin_red_mask_shift; - ret->green_mask_size = vbe_mode_info.lin_green_mask_size; - ret->green_mask_shift = vbe_mode_info.lin_green_mask_shift; - ret->blue_mask_size = vbe_mode_info.lin_blue_mask_size; - ret->blue_mask_shift = vbe_mode_info.lin_blue_mask_shift; + if (vbe_info.version_maj < 3) { + ret->framebuffer_pitch = vbe_mode_info.bytes_per_scanline; + ret->red_mask_size = vbe_mode_info.red_mask_size; + ret->red_mask_shift = vbe_mode_info.red_mask_shift; + ret->green_mask_size = vbe_mode_info.green_mask_size; + ret->green_mask_shift = vbe_mode_info.green_mask_shift; + ret->blue_mask_size = vbe_mode_info.blue_mask_size; + ret->blue_mask_shift = vbe_mode_info.blue_mask_shift; + } else { + ret->framebuffer_pitch = vbe_mode_info.lin_bytes_per_scanline; + ret->red_mask_size = vbe_mode_info.lin_red_mask_size; + ret->red_mask_shift = vbe_mode_info.lin_red_mask_shift; + ret->green_mask_size = vbe_mode_info.lin_green_mask_size; + ret->green_mask_shift = vbe_mode_info.lin_green_mask_shift; + ret->blue_mask_size = vbe_mode_info.lin_blue_mask_size; + ret->blue_mask_shift = vbe_mode_info.lin_blue_mask_shift; + } return true; } } @@ -647,5 +654,5 @@ retry:; goto retry; } - panic("Could not set a video mode"); + return false; }