From acb98efbbff1c51cd9a594af7daa4fe8b4560916 Mon Sep 17 00:00:00 2001 From: aurel32 Date: Tue, 22 Apr 2008 20:37:21 +0000 Subject: [PATCH] bios: add support to memory above the pci hole (Izik Eidus) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4237 c046a42c-6fe2-441c-8c8c-71466251a162 --- pc-bios/bios.bin | Bin 131072 -> 131072 bytes pc-bios/bios.diff | 130 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 127 insertions(+), 3 deletions(-) diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin index d437728ee8c306a908adca7ac9323c7c17a3e1de..6ba7ade3a1a0605c92050c30c7e428fe1527f159 100644 GIT binary patch delta 13231 zc-n`a+gIvxqqJYuz z1QjpTC>o8u(T%8N*K9OiY~n_ZMp^A~G~UL*IPs57k zUY=bZ{&x)eP4tR!6<#SK#J!!v!`1w&68=?TU1nfu?8`{;*UpHa2nz<^auHr)jlOb? zfm9<_4s|QxUxqeix`|P)=;lQD(%a}Pm~guZt`;SyqE(90*yoYr3Rkpu5{&T+l?gM4 zl*Yb@6a(atkJ#S@IZTEvgNC@s;GtA=kr{d!)EFVUvKo~{xS)o~5aO?LQuBY5@SQ@f zoeD}7f{5MuhqKJiVmgeM&M0UK^i{5OmMmcGv@`l_3QP++h%ud-6VEG!=eV`2y!8O8 z`4?wPzhTbk!4wGg{hJc^E9h{8ubt$hU$3A|^iF7G1oZd+hfJ6`om$v0hsM!ZAtzKC z0fV_+PUuVobPHRBRWy%c&WSraNuz^IrEnj2c2`Lo>m7v$xYnSQnew0=cXUD?Qz4X7 zI-!|Up_Hq3ME9pc-Ru(H8HZ5I+uB$wB1~D<;?l1)kAmwcV#|<)7}4^M+E`_2uAOLi zNW(j7VwEMlYfxi9-Z}54Le0CHvXrJQN7BfSH5!b5p9UTi-Emv0NewzOnU$prB}1Ma z)jTp~xe>&fA-9jV=(sZEB8rFv_mJSa;2RqLjV89KpuRb%PR+lVSi<}2s%*5pmxh0> z<=r*>%Vy2JVcL(Zzwi z|J!YAc_WUtdS^we^A34G_l5ldTU{k)*@<+bhI0Ca0Q zc&L6C|8+oa$5|m)DzeCgXl!VxWQYY%%fHdaHmPr`@2Ts9>KG=>!D>obe?*0t$~|C? zxMkRHwDC+BE)y!OTQ~HV$zrhaqlXDGUubzZT_q=gA_7k_{wF95C+)HGWNstLWSg@5 z#N~#9dRMH2p3Q*3KwT0iaAtixRtKzZZYDM8LmP1B23=Y=aHb9NPAV-8E;o|~R;b)7uo(EA)%?3$?tzpHaj63xuUV9wZa%McI3nmb>HoF-#GfWh*E` zHCPgYCHttvo!(_zY1xC`wLV(3Z6|%2uxW%Cr@3A#G#E43u+7M?Qmy~ zfIF)#R`b4kXT7q2u~XrkrvCGt3b!=rFOo&^6V3k$>R$_86%m-D5#qLkIMQnVt$-w8 z^+Du13;G9sdjJdcO2HT7c^E%L>cRqCT5}*g+z$%tGVTd+xT-pU5^;mk3)?i9+0tNm z>jwU~TEZLfV%O5?vjgbbEEr((*Tc9CnmrqW(9qeCz?t@=s@d?F?;FAg!DPZKm%bCZ z6G#X5YRny+t3kb^poibin(%O(VdL6rZg0`dt3e4-5Wsy>gVsgCIGgM*Nrye=Ku^>h z1yR8t)v$1A@nT%(z`xb-u7bPdWFV3GEg`|$AVKamsCW*{4VQEQ?e zM)i#88Dl?({Pv7_f6hlziTrhpo*un38g-8bKUK;;Y*51+g?!0e3zG7AVA&eR!;xwN!4mkNW=#%g3@7ulG{qCC+j<;-)NHQ`T#-16H$j zV*3J0^4H?4z35Uj^yhBxMQ@{Ftg2=Yo-__mn(N7N*CJ0Q#zqPqu(?0> z^Bywi3R=z~4FIRwXLObm_YmS5OL(K2H&KO|7K_7V7IzbiCA`V+Emp)=M<3Dvor(cF z)d*rAV}vV|I;?J#h&*v3HEh`3Vz|G|@W-uOeZ1S^>JPhHxq50hag{k)Yq8bynxn;- zu?9_v1us?k?$#cyB=y$r%(9qpm$|d2hPcxpx$_rh$J%UXB&p*JW4=QTlB*qwG2c*M z$yJqM7xh)N+Jkw*{GbzP5WmG1Y+EeQ#+PpScjOVm1Dce zKBUE|-Md=+X~NqR+%HO;3(mu??vn=HvW&RwmX;Co&7xp{q2*S2vI`xa3;rtoE;`)? z$FXWM0J;pA8(ktY-A=p#G5DQsFRrEH0xW*($l=cLm59wglvD8nA|_mFD^924ZsTcl zXfKc4h0@}nI~TGGmBm3H&T$tK;-DAzpc>tZ1269TYSc{d9o4AUJd7`|Mib_Nmv3w} zu^Vhn%-Xd#JEj^H5p~aMv>&T;hMnmAJlxH#o#+9b3=BY@ca~9IL@aU z4fqT;PI_C38_NlYACk+B;-ziQl!;A3 zUk04shHl5hFz(B3sOv)L(I{)gV2v5A8bR>3t>d?z-{v2G_`nW zwT%tEpuUmhoHY_`+KRqgh=Uxv9X(ly=eT?;>XZO}A)ecDuEzTVU6K;-uGM#f8g;*Q zD&cRFQ(CVx;o$}KN?oo}_gAHmAz2!^6@8X~^H#`KRF(k6+|VlIo(SID(k-Yw3A%C7 zThJkL9kT_cC&CDBMH0pEQWQCi#KB2hO9~(5sFBH zF`UmvHYBT!Y)JPJ`XLFt1NT)(j#gDL;^9p@+cB;qTe>bd=?C8+CxodL$SoPhjfz54 z?+!kcu``;j_z{Di6UdrDAq;v-AV&smD@SF?&@JeEd1?IR3@>SlB2KzpVe6-QGiCvq zqhIVuD?8R|S~(JloRx-etB?3)+mjr@#z{PfoEo>H|?k3U~wu zk!>iY!0pqmBWzmF24c!0V;MV^cK6-}^sf}~gJ6uh3%!EHU-My^ZN5}!S~PhjHzd_mjZB)2r~iT3m83-lDLsydcQ z;pfU2PfTN4^W>woI9gf$^fYRAa`PADo;Hn%kOln78jR`tkv+UcF^wo{`QMqz7Tt4e z=%)5j@QpqUmtuX8;SbH~(!{M_gKAU3El@?oYzt4MZcLg;P*c`T0=YBj@jCP*6+8m2 zuA_@l6A^ha(P;t+ejK&n$*=?KP;eUfddIAzacU^xZv{0TvATALgt!lj;kb1uH4QvD z*L7%h8V>QR3RFX`*DKIJ(;&CYh6*~;tAvt5A2z}H6(}kl$9NKv2|r*#0272((3SHB zS;6};D4>EZlMzB71KbHfR-OK=ZfC9!VD&fUbZnP}fvm1D%Y#_`X*qT1ZrBHYiuBHc z3${F%Nlp`q-bHY>KnKf_`x3m8C6uFKOCW@sRgRLDK%mN|oG!9ATSdf=MZ{1>qjg>Q zz{0A|#I$hhTN+(&7F|;rjW|`Z@nP7tGUhCSd>K?HgL*RPJ5?Et)6K%V%&Ed(m<2y3 ztDsgR8P=O&xfC16us#f1Bs1HWK{E-2_hFKvKSRgS#?u)Vz_5S;a*O>K=pnNh$ROJ? z^lb*X2U^QSgPG{rS_+vt8^X}=5(JsxIePC}OM{V2^o0z1pFx{i+X!XoBMq9JiBo=` zwJ0?gJWzQiP8^-rq9d8`5f@p3nusu@0(oRXPu05Yt% z2iW#bgt(~)xh#cVqX!kQBZh)+sQG8Xbtg@V(%grl zXYo1$JQox+uRav*i`943H`UGlCN=*;Few=Nq6nogh2GPfig0)%Tg*?*HMb@*$(9Q*ABV^ z9k3*n%c8^H(Si2YlJ&*|Wx$jYH05*X4-3)q&%uZ5Q-Uf#hahl6mq_)R20i;6BE9Nt zb)~lNY(H9q;+Em9Ogvh#4Ep(xqJ7P@)%n?)m$O%D^H$?dn5SY1Rj@~wmVwW>I<>U= z$#Uw?YO-2n$P-{ag-oWCCR3{n_+9}DS`J-2-{#{W$mJ3x{+Ey9uv~Sqtz1fa$Mb2@ zyDm$5Bh_@lzZ2%IaLR86!Q0}Px0>b(qbv`0RJYHAf2?8$jG)FVqME;rw;Jfxa&URS zW)&MN-Fvjki$<}O$$n}j^JlWyRcP!AoFm7rLNP1A*V?JbT7mLbfJc`xtEjI(S+b>3 z3|xf{V{O&z;#S$xDE_aQx^=51TN=fy#jUcXQ9M&D&z451CgU+@~_$E5v>$)X#=c@?8Qxj0dNUqln- zudTx1$HGuoL__q8JW>8!)IL$3D{7x8QBk`@SyZ&y zs9jdHqEO=V0toZLjI&Z(?>^<6)^$U>%G0FMDc6su6;k)vr zoeGW01J9Vnh3)d>tipDAGN$ldd9pSa-zsDdZ`FF^t&F}mmT~;eyapzISb&b^!Eo;9 z0;JD_Ih@rhG+`z5Tv(sql+$%-X}*>8pZqoDu-~@Vgr%(1E@RpkEMK~HsTKaea#_{# ztxN4zOvx{m{ywF@=nC$PyO_^1lA- z)sWtkOTT7)As8l7+Y!OTE z%F?KKB5T}7=DPIeY$TOWW^!AZ+=a-}6#MT$B1cLlp6b#KSy`wJP+e5TC<`7a+GH7|Bgip(#ZWz)eu0&x@efU}qJ3 zglvwDg4JJ}$NDr^dWdRO_$CXG;E8 zZS0-W+`D4PyKF%YyH)X~Ma^HcD0g_5as#od<{Pwldlf5oBYJ1E=}RMpNv^j$8-2S9 zy7vEq2~7&QFq;^m8=_0h4l%PR8-W@+2T!6sv}}$pTQo*xlaq2AhrF}Vcs2M>=$TEo zOj`ct-xb^+Iu?ht}E#UD&3t>__%IVS@@CSHqxQ-!E%DuYV`? z39^aZw+waAz%tH#87kC3Iv1IX-e|ykVX9VDytVjov6}u5(}rn7N>uc!DsFoX(6SO) zz&6Miu;bdW|K|^_D1jcF-{7Kx2+?*aeZ);(2{e;bPB6Qr z?6JF}wHbL$$S1tSrJr(;vle^<6PMD|N*k)!l_-yv?wVB6BW+regQB%C%sYXa=*{F* z$BXI^qr-Agtrq+HLk_y4g}$EWbL3C{3@ui%E!WjBfg6i$u7<(yO^5LCqPk3+UFZWz zXY#lx8&$7{_u(x1bv1ZI>{FER&7oGAok^-`s_m-g|0GX6d82L(l~}(+l0hXlnVoAd z5XsLLNt6POFNNIc%~^Cg`jfs7Fi_XTEE-~?#cTS-!Q1d~a##>v;Zd40aRe|*E6+)# zxn*PpS*Yt8d{X>03k_cbANY^YVtLeTerQ(P=e2aOnP|rvDCD?I)ORfubNUQ)crD~} zU2@QnGDvogX{PZR$tFj9myc);Ott}> z*y&Fky8BY-en~?<74V+w98;hV*$Ms?t2dkL)vRtX*Vm<)&68SDiG4qp>4)^Of~x3fIgOSd((-4ttf%GKwET#cC(-g_S{_Hs zzti$iT7FW(>r`a;A4onor&6vyB-n=%_JCn}f`v=iHHJMR*mwy$&9KJ=<0b3>!+s~& zM-qk@_Jm*)6cHU5rBhMZ7w|}RDMd!1vnevV9ZzXXw`#fWh7=jyG%0QAmQ9e_k6Y7i zeoAY)O-t!3Cs=rjgJxyi=yPV7j_H(kCV9%1;5bTyju&^{U!G27#5bSJ{ zgEAgTJ;vZKu5};3kul;TT}syWCZhCBqO8KqPApwn<&$L znkXaVy~MU;yps41GM-9oO~!+Xt;krJXd$EU6q9k1d7Vn6WSpInC?{7OQ#YEa7m+Aq z)rVB|wWK;Uu@$TSnJ6b!FY$MDZ!`4cw28=R3nta#L`JIgL^G*YC$u5eMk&PClgy+_ zOt6qDCc#3gsRyJ2^qnz1Y60|5oZN zO_iOi`c{pqnp_oEm0pG7D&a$}@H3K?d!m0;!g)?eK;>01%&pgsNo9YOjVvdBS2tbX zeto-BCAv`sLEKjhP^azC)w5Ru`7FQ|dqv;k+I%6oo4){!-VUCs$OY_7Q^I!+wQ?%3 z1ud@(vr;$}7!-K_QB>zt_yQM{HaX^dYymyouutj?xE1C=Jp2BUY*eRyO1W&rhfs0Q zr(`mk@p|V7boVQvSfdPseuR4}3H2nXzJr!G;BBvgfcPevA0F;EHgs$zf$=SPm-q;o z!=)xy=9|say=Dt4nRm3dfT!k5UPXvoT3UrnQ1hM9tQ|1Kr{|~UgI%K#Mn038PreW& zFUUub50B=f13O?CcVRxdw*!3VH_T_x`y%N3^ruyL9VCeUJ?5tJxF%?Kf{@B@$QP((~)r}_vI||NzMf0`Q}ar)6YgBXyQq0rY{t(>%rtT0wYk`^mAGYY3Gakw zh?vcoOV=XunJzWGU~a+t1aL90ozsZ|wLY6zk8|WOo0Wdxz#Gix4f84)Fc($sfv(|s z9PJ-BZ8eTWPOv8%Mag+PTz(bH21RB}N6SiKFfQMUMU!_!S9>59l;ZcXC}lTvnX)04 zI!k<~&5K!GN$SKz7OPX=iJACVv+s+sarxagY0$LkRyEl<9C0xl-$fr>5 z`{y7=#?s(*iP+OW-TIT zzm1YsX*AV&DQuR2T`2w-hPhnra|Ix(!?>3u6zU$Cq~mJ zdDi+M+An!L(4>tul;%Dc-^@Ve`@o&sI0GHn2i-tG|JnzmdpGRY`TjQ|a_ThESRSg# z2o$|5qNa_woaq!bd(NylTkkGC5*qfSel^hF2dftTFR$rNx>Niay>p~kadA%knS0Lq zPVr|%XS^RmSvAnaEj)zM_rquygO2Qn>#pZ}KB@J*pW2ufIw+&VHwtUv@`)`6;05@V z9uiAUCeus(+iCINC^YfHhC||V3`FUtNuzt z2G5N+;-pZ(1=M^P26AObP6XD%X&{A1N5C1lx?{+A6rLzA9Cz}ma|EZJb@30U97oMx z!3W&B<7mt=@Z`Qcj^-SLUfk8=DDN1YU;o-0+QPB?jVOPVC))48Oq;o6|oC&ihfwU6>ef@0xgLkht-x zSbSb|_+C6eRD3;B+%sGB3;Mg_yr8%vp1md>3~s*YvF?hGr=xf;%2xl3PN z@fieGx{3ch0gdpSvp1cyQy3JGF&1lvof!E5?1AIbP`C)ewwF@pZRR$pFoU2p3h7hJdI zx_D^MydIal<5}ge`_VQdgxmgks7L%PV$@@U31(Su45U4Lfu5Sc)`3jJpr8>7!_of( D0mEsx delta 12489 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 diff --git a/pc-bios/bios.diff b/pc-bios/bios.diff index 16b9887710e..ce5f7032baf 100644 --- a/pc-bios/bios.diff +++ b/pc-bios/bios.diff @@ -1,10 +1,134 @@ +Index: rombios.c +=================================================================== +RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v +retrieving revision 1.205 +diff -u -d -p -r1.205 rombios.c +--- rombios.c 21 Mar 2008 19:06:31 -0000 1.205 ++++ rombios.c 10 Apr 2008 09:47:48 -0000 +@@ -4395,22 +4395,25 @@ BX_DEBUG_INT15("case default:\n"); + #endif // BX_USE_PS2_MOUSE + + +-void set_e820_range(ES, DI, start, end, type) ++void set_e820_range(ES, DI, start, end, extra_start, extra_end, type) + Bit16u ES; + Bit16u DI; + Bit32u start; + Bit32u end; ++ Bit8u extra_start; ++ Bit8u extra_end; + Bit16u type; + { + write_word(ES, DI, start); + write_word(ES, DI+2, start >> 16); +- write_word(ES, DI+4, 0x00); ++ write_word(ES, DI+4, extra_start); + write_word(ES, DI+6, 0x00); + + end -= start; ++ extra_end -= extra_start; + write_word(ES, DI+8, end); + write_word(ES, DI+10, end >> 16); +- write_word(ES, DI+12, 0x0000); ++ write_word(ES, DI+12, extra_end); + write_word(ES, DI+14, 0x0000); + + write_word(ES, DI+16, type); +@@ -4423,7 +4426,9 @@ int15_function32(regs, ES, DS, FLAGS) + Bit16u ES, DS, FLAGS; + { + Bit32u extended_memory_size=0; // 64bits long ++ Bit32u extra_lowbits_memory_size=0; + Bit16u CX,DX; ++ Bit8u extra_highbits_memory_size=0; + + BX_DEBUG_INT15("int15 AX=%04x\n",regs.u.r16.ax); + +@@ -4497,11 +4502,18 @@ ASM_END + extended_memory_size += (1L * 1024 * 1024); + } + ++ extra_lowbits_memory_size = inb_cmos(0x5c); ++ extra_lowbits_memory_size <<= 8; ++ extra_lowbits_memory_size |= inb_cmos(0x5b); ++ extra_lowbits_memory_size *= 64; ++ extra_lowbits_memory_size *= 1024; ++ extra_highbits_memory_size = inb_cmos(0x5d); ++ + switch(regs.u.r16.bx) + { + case 0: + set_e820_range(ES, regs.u.r16.di, +- 0x0000000L, 0x0009fc00L, 1); ++ 0x0000000L, 0x0009fc00L, 0, 0, 1); + regs.u.r32.ebx = 1; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4510,7 +4522,7 @@ ASM_END + break; + case 1: + set_e820_range(ES, regs.u.r16.di, +- 0x0009fc00L, 0x000a0000L, 2); ++ 0x0009fc00L, 0x000a0000L, 0, 0, 2); + regs.u.r32.ebx = 2; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4519,7 +4531,7 @@ ASM_END + break; + case 2: + set_e820_range(ES, regs.u.r16.di, +- 0x000e8000L, 0x00100000L, 2); ++ 0x000e8000L, 0x00100000L, 0, 0, 2); + regs.u.r32.ebx = 3; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4529,7 +4541,7 @@ ASM_END + case 3: + set_e820_range(ES, regs.u.r16.di, + 0x00100000L, +- extended_memory_size - ACPI_DATA_SIZE, 1); ++ extended_memory_size - ACPI_DATA_SIZE ,0, 0, 1); + regs.u.r32.ebx = 4; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4539,7 +4551,7 @@ ASM_END + case 4: + set_e820_range(ES, regs.u.r16.di, + extended_memory_size - ACPI_DATA_SIZE, +- extended_memory_size, 3); // ACPI RAM ++ extended_memory_size ,0, 0, 3); // ACPI RAM + regs.u.r32.ebx = 5; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; +@@ -4549,7 +4561,20 @@ ASM_END + case 5: + /* 256KB BIOS area at the end of 4 GB */ + set_e820_range(ES, regs.u.r16.di, +- 0xfffc0000L, 0x00000000L, 2); ++ 0xfffc0000L, 0x00000000L ,0, 0, 2); ++ if (extra_highbits_memory_size || extra_lowbits_memory_size) ++ regs.u.r32.ebx = 6; ++ else ++ regs.u.r32.ebx = 0; ++ regs.u.r32.eax = 0x534D4150; ++ regs.u.r32.ecx = 0x14; ++ CLEAR_CF(); ++ return; ++ case 6: ++ /* Maping of memory above 4 GB */ ++ set_e820_range(ES, regs.u.r16.di, 0x00000000L, ++ extra_lowbits_memory_size, 1, extra_highbits_memory_size ++ + 1, 1); + regs.u.r32.ebx = 0; + regs.u.r32.eax = 0x534D4150; + regs.u.r32.ecx = 0x14; Index: rombios.h =================================================================== RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v retrieving revision 1.6 diff -u -d -p -r1.6 rombios.h --- rombios.h 26 Jan 2008 09:15:27 -0000 1.6 -+++ rombios.h 28 Mar 2008 10:22:04 -0000 ++++ rombios.h 10 Apr 2008 09:47:48 -0000 @@ -19,7 +19,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @@ -20,7 +144,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios32.c,v retrieving revision 1.24 diff -u -d -p -r1.24 rombios32.c --- rombios32.c 6 Mar 2008 20:18:20 -0000 1.24 -+++ rombios32.c 28 Mar 2008 10:22:04 -0000 ++++ rombios32.c 10 Apr 2008 09:47:48 -0000 @@ -477,7 +477,12 @@ void smp_probe(void) sipi_vector = AP_BOOT_ADDR >> 12; writel(APIC_BASE + APIC_ICR_LOW, 0x000C4600 | sipi_vector); @@ -40,7 +164,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios32start.S,v retrieving revision 1.4 diff -u -d -p -r1.4 rombios32start.S --- rombios32start.S 26 Jan 2008 09:15:27 -0000 1.4 -+++ rombios32start.S 28 Mar 2008 10:22:04 -0000 ++++ rombios32start.S 10 Apr 2008 09:47:48 -0000 @@ -42,7 +42,7 @@ _start: smp_ap_boot_code_start: xor %ax, %ax -- 2.39.5