From 00070396b06392fadcee0e19d499a43b81c63c45 Mon Sep 17 00:00:00 2001
From: Anthony Liguori <aliguori@us.ibm.com>
Date: Fri, 22 May 2009 09:57:32 -0500
Subject: [PATCH] bios: Use the correct mask to size the PCI option ROM BAR

Bit 0 is the enable bit, which we not only don't want to set, but
it will stick and make us think it's an I/O port resource.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
 ...rect-mask-to-size-pci-option-rom-bar.patch |  33 ++++++++++++++++++
 pc-bios/bios-pq/series                        |   1 +
 pc-bios/bios.bin                              | Bin 131072 -> 131072 bytes
 3 files changed, 34 insertions(+)
 create mode 100644 pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch

diff --git a/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch b/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
new file mode 100644
index 0000000000..556a0bda79
--- /dev/null
+++ b/pc-bios/bios-pq/0016-use-correct-mask-to-size-pci-option-rom-bar.patch
@@ -0,0 +1,33 @@
+Subject: [PATCH] bios: Use the correct mask to size the PCI option ROM BAR
+From:	Alex Williamson <alex.williamson@hp.com>
+
+Bit 0 is the enable bit, which we not only don't want to set, but
+it will stick and make us think it's an I/O port resource.
+
+Signed-off-by: Alex Williamson <alex.williamson@hp.com>
+Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
+---
+
+diff --git a/bios/rombios32.c b/bios/rombios32.c
+index d7e18e9..f861f81 100644
+--- a/bios/rombios32.c
++++ b/bios/rombios32.c
+@@ -985,11 +985,13 @@ static void pci_bios_init_device(PCIDevice *d)
+             int ofs;
+             uint32_t val, size ;
+ 
+-            if (i == PCI_ROM_SLOT)
++            if (i == PCI_ROM_SLOT) {
+                 ofs = 0x30;
+-            else
++                pci_config_writel(d, ofs, 0xfffffffe);
++            } else {
+                 ofs = 0x10 + i * 4;
+-            pci_config_writel(d, ofs, 0xffffffff);
++                pci_config_writel(d, ofs, 0xffffffff);
++            }
+             val = pci_config_readl(d, ofs);
+             if (val != 0) {
+                 size = (~(val & ~0xf)) + 1;
+
+
diff --git a/pc-bios/bios-pq/series b/pc-bios/bios-pq/series
index aa5a3753ed..c7c7f67e0d 100644
--- a/pc-bios/bios-pq/series
+++ b/pc-bios/bios-pq/series
@@ -13,3 +13,4 @@
 0013_fix-non-acpi-timer-interrupt-routing.patch
 0014_add-srat-acpi-table-support.patch
 0015_enable-power-button-even-generation.patch
+0016-use-correct-mask-to-size-pci-option-rom-bar.patch
diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin
index 8aa5b713caa5e76bb3b6a101afa1996ffbfb2149..6c8bc9f6ce04633b5dabff292c07d15c2fb527e7 100644
GIT binary patch
delta 1955
zcmZ8idrXs86u%cr{Rov7Y$HQ?w>(QrK{pZc0hG-tn?_L=WsGI($aIdGqEmykD;Pez
zPO`I@=&~6$v*@BTqXYpL1Vk&-e`Jfw#uS*3uRdt!#zbL!JC{;e)}*KRcka2r^Srkf
z3um!#8bimq*ja?M)}u&y`scUp5z9l#Il@#DpX!)<)At%(AbkVY2Mz^<<vJHh{-!h@
z^wLP0=zLkaFNm&zo{$`x1VOS`ZF+7fseB}F4vNQxq1Vt;m#;vSfT%7%3|H#ORXDCR
zuvV59!|dwv=TF;2P1{5>8|UY;`IPFMEweXCX%>Vjl_5EJqVkcwsHrUpGL$Ns4uwh!
zT>>uUI#nKHE2MZbe{vOos{+ugBBBcsyCiA}Aw&rNM-&acj;2HeMBe-nSqN{d4$?B`
zh-xH&n&3f19^DGM=dROQkVdA^Cdi1?(vP7eGKN+-t0K!NJpi}n-L4*88cO&AwZc!#
zkBFkRYJdbHZB2Io%7eq`0#%d};&)i{7=gW*Gl+I0=Q4T~XkrhyS4jBcezzTgqZtLU
z7xnYrwow@&odaCwpdz@_ZuDAvaL1w<M;Y8%&0q4gi1=w7_e>fhZXAD9+hNY-yKF;V
z{@Rn9$Emz#46PfMV?WO_;aDwYj^nQK&-f7G9@YX8hC{RL#J)qq8~bf8YBPEzHgT5u
zeVZti*X}?cc4I&PhcBE#u5$pxv2N<gz+hMq6TTqayYSak&q~0t670o984wZF%5cwG
zb$ctOJ6(w%eU)GVOclUhf>}dYbX@5~VB@G`b;bmL!($r^Y#f(2TW4bvhmm8yg%I;X
zTlb>Pua}mbuXmUeiIs&AxKq*a63deb_b96B8wwa^!YwdttrF&ZKuBd5?2cYm{n>p{
zbOqJnE(SvUge-$eAC*yPuBc$CJi~niVR+WD6Y+h-7`CCe)r&`kRpXOoZ2b#c-^RFv
z>?utJqBa}_A|y>|%*+PAM5tDw%KZ(-g$|Wi7<uhs1hy)naH>RRB{~(ce*TixeuxI>
zxRsC^i=kKeX$%?OLY;4DkY_<S<5}tJE1Ho3G&{-6a+#TL>e0nqv!WV*;(Z6@wXxI0
z7Dl|6osdlvqswz_7I9E;Qtjcqm%r+tOKZ<^HV4K1{3ZUG=Pa=h(m2lFFnMsoa3ZmT
zCXdM=PK~;I1BO;#%-`9#!MQLtlhRXA9=Bz7!LpePx(%+zolt%;b7kdcI`E!x!fE&<
zeqY#kGaHlIScpm}qa9G45J|s=BMAas3^sKQRRO1oih1G|#o7*ejYNu7G(O}dYDbZ`
zh1K6tEC_v2pgBbI;8)E%^fu%trqTznJ+YX+2HlB=XcufwilWD0chWZc0^Cg+p}#?Y
zvWflz`6;C_d+uQ4#@Ogo4mpY*wp1f0FH<8edJwiiXG&qjU5wRUbfazsdz9`Ws9V7v
zB>`em4fH;&O;u74m{Rx6_2M4CUd>ItB{ax_Qz_)ZSn5W41lFZ#s2O&nd<Bl8Ooj_-
z$pPXZc+%zt3=M)ztENAILA#cFcTg1ZqQ=7k?L6*9KRBh0<Dz|_7p`e@Bl-qdRVpPH
z^Oe-l(WYYMSfvuWAT2!)-}3G0dQA1p^cY;Xr?)&Gf-jx_m23N56y?oQSAkj*GozmD
z#8KQrHboF2CQoZToYY0rM7XR=r$56}-IC;TY_dbi@hUSWhuO;foWnz+XjwWTuepGY
z5fo6OkD-N7rPt9_a8j?O>!DBon3lnnj2>DJhYY7fJN`2-4{pJ_%+e+A{V$q5w?wgl
zl`$uX`IGPe6tA1hC>v!*jU1}*%FkzSi2GF-&Rk5pAtme0xmnl=dHWpOc`9$GwoaPe
zRk_moGzY%QieF=xaUpEG$=JAou+V9m;OjWrwu_4FC%X>YiypezOMtFq^*)d6-^cG!
iho^-TPUV6tmz$`mFCa7XOnD!zPvkN)^%>b@{P@4h!uQGm

delta 1891
zcmYjSdrXs86#s5%%SR~v3bf%(d9;;Bq3vV~4p0zb_+ZgZ;$F_E6BlPTjj*`~P}V~D
ztW~nJn4noE*|LX!Y#Aj8HRGX<inuu0AEF})6_<|z1Dzl!<J-CAwI;p2=iKx7{mwb}
z)@o&~R#tE6?1=Mcn6`Rcl4t)p*FLjO$#gJOC0$T`J(Bs8KHZPx!gfEe<UzJ8Q#wtE
z1WfWsB6n?)SIUSPdIGbEKgbku#-JP}Q$EhM$RxP2^jUi9@>MALp;VV2j611s7lJz(
zY*VCasa;)u^s-INvP~?tah*{_6QXpr2E8IDp%AQA2S%Ys`M9IF+3gQzwT1*iq1sBK
z!J~dzlR%>t67)>;?IgI<fk_h{Ye3l})kztK5d!`dMN6Nv*?<DWwR}350sAy3NuFy;
zGbJH~FdDv|Y=-oRn`9rzBa_MJV2(7BgRnDFOSZZyB6kyV0PaQ&SM{$|GW-UeYAG;3
zC5qJ*gNz@BwT}^8PyUH1P(@H!N@!m%VHigVYngTwu%3cR6`D9g97m;m$-rn%ePb?G
z{sLW`Tl_^diNC==<O7B5d67!!NU|J^<0C0wRWM-dCboh}scqh$v$tX#+q}HZjK5_8
zj^fGcp*b3Q=K%kt%gc7%Qw99)o>3s4UQ}BHdinl|wmFnrMf~trCz@tZ!(Sb*=`8z}
zzi9JL@;4vf{f=-o2k^X_8u@Xx-=J?}5rtT^71xnhQN75FQfDdkC}c|o5rrBxb*>nG
z2Wc)>pa~6-2&J<~oT8k8h}ifSM8BpP=a$TQ#9|xrYntO)s>idH%-<NJ){4wxY?m`%
ze{<K)OZCn&1Jk&HLZQou3ky_VT_J=XW|;EZ&=9+BQ}bV<=#kaoDJEo=981w^I3t9D
zi(e>e8=ekY`ULx&D2@dEpV6=yadS1Za6lVZ)xT_Qx1x0xwZ4oxXAAlxV;{is2*jW|
zMC)+Orxk(`kn??}tP=TJ`r0NDiy%Jrb+hde&Wf9Y6UG-chfs3kgfPM%i<&ZOgWoDf
z=t0%UOEe{Nw^ayXWhz_~765QHnacpJ6yO<Zty>0&>Dy`lY2}Yf9U=S-f1_)V?HW=A
zbXE7{;!NNK@>lqW6BigO!!*tD{iPE)dsil!up6Zlic-t;;=GRNU0dR^2ysGP{2M_!
zd^MKtz;SpG|Gm0m<+^d_JMoUN!gcr|p)&Zy%7IUt3pt6q$yxX^F_K&YccMUEgRgXU
z@+>6jW3*w|znV_YE|p^i3&wb<&RIO!iltzjC4w*uZ|P5wJ@8b&pInB$h7{5ZCk!Rz
zLl`!kB3}4-RSfDIRvjceK%O*3eulZEQt|}$ChyXozK>J+l#WHY*I7K)T7@xrg$~1F
z2H_JJN-hlVMy!tF{<=K+pm<QI%cBp<6<C*IAy?sWike)9+LX$$-|&pzu45N#Kx9^&
zIAIS&rS2eZIFhQzC!_(_ccBB<BDkNLB++_-Ge$`yUN9PUWB|4qx3R~D@E$&JOW>R_
zirv2?{A!G6*DeT6Fm22UpB<!CDVKKVtBIx4t)b=EtP#AhIc+_@!za>ANVPppi~Boi
zt<R0Flw7!dPZYTpxo3k;Dz2z~o#?<LjHZ$?OzA|M1g@pW5;=^fr;$exVaiS_!X`V_
zEUzg;a>!P()Nv&`TG!5V_Fu3uf*C4IT4I1NOz9*Qu9=J^17=MRNgj-udyspJ<wxb&
z|IJI_ARKvSS9UQzrHcW5Xinc1#YS4jEE&zm)qaMT%~PQ0r>+Gos_;5T(|2IxJy5QG
zo(#jr)qBE1krdY+YP&?Zc4F%yYc7^=te%a6i>nj12Ct+Lj^Clt*uh}sa+u_s_<Y#9
zRcju9(BLQ@^UzC)sT7A6GSYvJrHn74x6tFt$hg)E=G?euQhG~b&OHD2EmCh_&6y_i
I8fNb7e?*nf-v9sr

-- 
2.30.2