On 02/24/16 09:06, Ruiyu Ni wrote: > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ruiyu Ni <[email protected]> > Cc: Feng Tian <[email protected]> > Cc: Jeff Fan <[email protected]> > --- > MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c | 48 > ++++++++++++++++------------------ > 1 file changed, 22 insertions(+), 26 deletions(-)
Reviewed-by: Laszlo Ersek <[email protected]> > diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c > b/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c > index 4160632..020048d 100644 > --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c > +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciIo.c > @@ -1,7 +1,7 @@ > /** @file > EFI PCI IO protocol functions implementation for PCI Bus module. > > -Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> > This program and the accompanying materials > are licensed and made available under the terms and conditions of the BSD > License > which accompanies this distribution. The full text of the license may be > found at > @@ -1774,9 +1774,8 @@ PciIoGetBarAttributes ( > OUT VOID **Resources OPTIONAL > ) > { > - UINT8 *Configuration; > PCI_IO_DEVICE *PciIoDevice; > - EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *AddressSpace; > + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; > EFI_ACPI_END_TAG_DESCRIPTOR *End; > > PciIoDevice = PCI_IO_DEVICE_FROM_PCI_IO_THIS (This); > @@ -1798,19 +1797,18 @@ PciIoGetBarAttributes ( > } > > if (Resources != NULL) { > - Configuration = AllocateZeroPool (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) + sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); > - if (Configuration == NULL) { > + Descriptor = AllocateZeroPool (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) + sizeof (EFI_ACPI_END_TAG_DESCRIPTOR)); > + if (Descriptor == NULL) { > return EFI_OUT_OF_RESOURCES; > } > > - AddressSpace = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *) Configuration; > + *Resources = Descriptor; > > - AddressSpace->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > - AddressSpace->Len = (UINT16) (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); > - > - AddressSpace->AddrRangeMin = PciIoDevice->PciBar[BarIndex].BaseAddress; > - AddressSpace->AddrLen = PciIoDevice->PciBar[BarIndex].Length; > - AddressSpace->AddrRangeMax = PciIoDevice->PciBar[BarIndex].Alignment; > + Descriptor->Desc = ACPI_ADDRESS_SPACE_DESCRIPTOR; > + Descriptor->Len = (UINT16) (sizeof > (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR) - 3); > + Descriptor->AddrRangeMin = PciIoDevice->PciBar[BarIndex].BaseAddress; > + Descriptor->AddrLen = PciIoDevice->PciBar[BarIndex].Length; > + Descriptor->AddrRangeMax = PciIoDevice->PciBar[BarIndex].Alignment; > > switch (PciIoDevice->PciBar[BarIndex].BarType) { > case PciBarTypeIo16: > @@ -1818,59 +1816,59 @@ PciIoGetBarAttributes ( > // > // Io > // > - AddressSpace->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_IO; > break; > > case PciBarTypeMem32: > // > // Mem > // > - AddressSpace->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > // > // 32 bit > // > - AddressSpace->AddrSpaceGranularity = 32; > + Descriptor->AddrSpaceGranularity = 32; > break; > > case PciBarTypePMem32: > // > // Mem > // > - AddressSpace->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > // > // prefechable > // > - AddressSpace->SpecificFlag = 0x6; > + Descriptor->SpecificFlag = 0x6; > // > // 32 bit > // > - AddressSpace->AddrSpaceGranularity = 32; > + Descriptor->AddrSpaceGranularity = 32; > break; > > case PciBarTypeMem64: > // > // Mem > // > - AddressSpace->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > // > // 64 bit > // > - AddressSpace->AddrSpaceGranularity = 64; > + Descriptor->AddrSpaceGranularity = 64; > break; > > case PciBarTypePMem64: > // > // Mem > // > - AddressSpace->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > + Descriptor->ResType = ACPI_ADDRESS_SPACE_TYPE_MEM; > // > // prefechable > // > - AddressSpace->SpecificFlag = 0x6; > + Descriptor->SpecificFlag = 0x6; > // > // 64 bit > // > - AddressSpace->AddrSpaceGranularity = 64; > + Descriptor->AddrSpaceGranularity = 64; > break; > > default: > @@ -1880,11 +1878,9 @@ PciIoGetBarAttributes ( > // > // put the checksum > // > - End = (EFI_ACPI_END_TAG_DESCRIPTOR *) (AddressSpace + 1); > + End = (EFI_ACPI_END_TAG_DESCRIPTOR *) (Descriptor + 1); > End->Desc = ACPI_END_TAG_DESCRIPTOR; > End->Checksum = 0; > - > - *Resources = Configuration; > } > > return EFI_SUCCESS; > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

