Reviewed-by: Wu Jiaxin <jiaxin...@intel.com>
> -----Original Message----- > From: Ni, Ruiyu > Sent: Thursday, February 16, 2017 2:17 PM > To: edk2-devel@lists.01.org > Cc: Wu, Jiaxin <jiaxin...@intel.com> > Subject: [PATCH] MdeModulePkg/PciBusDxe: Fix IA32 build failure > > Compiler calculates the PciBar[BarIndex] using > sizeof (PciBar[0]) * BarIndex, when BarIndex is type of UINT64, > the above calculation generates assembly code using _allmul. > > Change BarIndex to UINTN to avoid the build failure. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ruiyu Ni <ruiyu...@intel.com> > Cc: Jiaxin Wu <jiaxin...@intel.com> > --- > .../Bus/Pci/PciBusDxe/PciEnumeratorSupport.c | 20 ++++++++++--------- > - > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c > b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c > index ecda088..d9a83be 100644 > --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c > +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciEnumeratorSupport.c > @@ -1340,8 +1340,8 @@ UpdatePciInfo ( > ) > { > EFI_STATUS Status; > - UINT64 BarIndex; > - UINT64 BarEndIndex; > + UINTN BarIndex; > + UINTN BarEndIndex; > BOOLEAN SetFlag; > VOID *Configuration; > EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Ptr; > @@ -1395,16 +1395,16 @@ UpdatePciInfo ( > break; > } > > - BarIndex = Ptr->AddrTranslationOffset; > - BarEndIndex = BarIndex; > - > - // > - // Update all the bars in the device > - // Compare against 0xFF is to keep backward compatibility. > - // > - if ((BarIndex == MAX_UINT64) || (BarIndex == 0xFF)) { > + if ((Ptr->AddrTranslationOffset == MAX_UINT64) || (Ptr- > >AddrTranslationOffset == MAX_UINT8)) { > + // > + // Update all the bars in the device > + // Compare against MAX_UINT8 is to keep backward compatibility. > + // > BarIndex = 0; > BarEndIndex = PCI_MAX_BAR - 1; > + } else { > + BarIndex = (UINTN) Ptr->AddrTranslationOffset; > + BarEndIndex = BarIndex; > } > > if (BarIndex >= PCI_MAX_BAR) { > -- > 2.9.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel