From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web10.2541.1592427149090150674 for ; Wed, 17 Jun 2020 13:52:29 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=IDhBBIAG; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: guo.dong@intel.com) IronPort-SDR: eamD4gPWb1UltbD4QBvGvGxtxZGj7LcRtTPr8kxlp/wa0HIe7hHsB0d1lKVruY7yrC5IE4MDzS HImlV/tOCV0w== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2020 13:52:28 -0700 IronPort-SDR: mnhUQBd+vQqHQ6VgHfZBh/XLXcx922bZ2cJej5EKW5VAyL+nnabFpF0QCOvUpx80tk5uYYLK12 bl1j9uLS8xoQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,523,1583222400"; d="scan'208";a="476956719" Received: from orsmsx107.amr.corp.intel.com ([10.22.240.5]) by fmsmga006.fm.intel.com with ESMTP; 17 Jun 2020 13:52:27 -0700 Received: from orsmsx116.amr.corp.intel.com (10.22.240.14) by ORSMSX107.amr.corp.intel.com (10.22.240.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 17 Jun 2020 13:52:27 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX116.amr.corp.intel.com (10.22.240.14) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 17 Jun 2020 13:52:27 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 17 Jun 2020 13:52:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=COP4G1tBSHnsB/oNCpvyBSsPgbdzV3IguZC/bgVAUnRoiICIpakm5vCJo/b+Zzn6Ews9gi2rWbRv6hDJRJNStoL9paImW+lmDJKr5GsRDTnXV5OnyJg6Is6ckfq/uTMa6KWfVSoYctNo8NfYLVH+ooaA+StFbRlwGC2Nj/pKSKiMr6Jn1pwMWNeqixPhkDTXbPP/FZUJ+SSZy/lX7bw6Ium6aoE3MR1Fg+l7uD/J9FFV1ZbptvWbSZ5UJBAK9a87xPk/s9J9uBirzIcj+EIqsd7Y8de0QaMCLwnK1KQAk1hou804C0fH/neAhr3Tw6V7vBGCLpdcvc6P7bS1fFuJIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U/inxBIj0TMRO9JhzkYh/7S45kJRQJ9LfHPsjehL2N0=; b=P38wbXnb6SiK7Vqt8HSP96c+nh44ME/bSQY5BcCZVF62Xa2L5Pb9a4OYLydEM8ChRmj3g1Za0qRMV7lOlbmpO558XOqRTVOSlQdIfmKz/UMl95Jdgfolf61f33tenVQWG96+9qvCV1bH7jSlaAoJIxicMry+7FMVxvHka+pSCMan/r/Az4FZ3A91CaH/bJ+Vopnnarr3VXFGGkQbvAMkKH+ZRhgDKxg2SsN+f2K7B5xTdcRX87afMYWxRCG3Haxu54982Q4t85UUcT+xkmQntfGDjUvkPzYe+CJHKYcOeHNxrtRcmJZVYdqYiKE4VtyeJ7p6g7LQ5hkspnJPnVEEVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=U/inxBIj0TMRO9JhzkYh/7S45kJRQJ9LfHPsjehL2N0=; b=IDhBBIAGbZiPOMxk8Q5qajPfl4t02odB0TnYYkP81S2uAkOxSBMxUFkxJtcvv9g1dHqK7l79x2P8jKbU04jFELLYkH1jqiNLf4O7zm8lS91+80aqHURFVRyMrV1Q+Q33uaYJLthHmouyE119Rp4ge5LcXI4Yqo7PHxZMl+vGLqE= Received: from BYAPR11MB3653.namprd11.prod.outlook.com (2603:10b6:a03:f7::14) by BY5PR11MB4118.namprd11.prod.outlook.com (2603:10b6:a03:191::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Wed, 17 Jun 2020 20:52:25 +0000 Received: from BYAPR11MB3653.namprd11.prod.outlook.com ([fe80::6c0c:f784:6060:76de]) by BYAPR11MB3653.namprd11.prod.outlook.com ([fe80::6c0c:f784:6060:76de%7]) with mapi id 15.20.3088.029; Wed, 17 Jun 2020 20:52:25 +0000 From: "Guo Dong" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Ma, Maurice" , "You, Benjamin" Subject: Re: [PATCH V3 2/2] UefiPayloadPkg/Pci: Use the PCIE Base Addr stored in AcpiBoardInfo HOB Thread-Topic: [PATCH V3 2/2] UefiPayloadPkg/Pci: Use the PCIE Base Addr stored in AcpiBoardInfo HOB Thread-Index: AQHWRIMpupvVhNOeZE+xsvdVbXNJGKjdSULg Date: Wed, 17 Jun 2020 20:52:24 +0000 Message-ID: References: <20200617084058.196-1-ray.ni@intel.com> <20200617084058.196-3-ray.ni@intel.com> In-Reply-To: <20200617084058.196-3-ray.ni@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [68.2.51.172] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6e6c03b0-59ff-428f-c4f0-08d8130056d1 x-ms-traffictypediagnostic: BY5PR11MB4118: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3968; x-forefront-prvs: 04371797A5 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XobxyL+gJFB69Fl3cBLUrvVU82Cav0q+tZi0hdZkJ+PVIFkQpe8H6EBnxeVo8du6PP/fFn6zWFZDcgb5MYp440JMVUowV5RN18DURLAwdHYPSTf3C2tBlDZFkNReGr1rfLq+iZ1xNWZdzaDieBmG1a4PtBf6h9/GMuMKzmrq13bkKZx9rokbqcF5VwYH1xOz/2we8cGrIhusGpVNe6mrr3mqiGIVcdHiwY2A5p76dXyriwX8jIigaKsx1WvjiljN+acskXFbaBhYnVsrDLR6qg2BghVnSpFVp059OEXEKTDcfFe5xM1XG4izY8ZCfCxaJTFNEvGSSU6OAGPlENvNCQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR11MB3653.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(136003)(366004)(39860400002)(396003)(376002)(346002)(71200400001)(5660300002)(19627235002)(54906003)(110136005)(4326008)(8676002)(8936002)(83380400001)(316002)(55016002)(9686003)(107886003)(478600001)(186003)(2906002)(66946007)(66476007)(66556008)(86362001)(6506007)(53546011)(7696005)(64756008)(30864003)(76116006)(66446008)(26005)(33656002)(52536014);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: B2C2vBI8f1hPs3hbnZ1XiD0MVlMiWA7RkIVzO0uhFE9pHVAHa8ZR72HUx8SFt7pqcEqCoQk465qyBMXJcmXllV8ylQX6/xkA8p+JtY+CTdOs6dgecfFPp3qhO0zy9OTk+QBjaPhldGKt5xgUfJYH5DTvyGW9oQhJUOFkL/eUTvEGQeVkMhDpg2Jvb7vdsO74Jp4RFzFdQCjlASB6ELc9osa4fUQz15a/TiKobxi5ZhE7fJvoKX0pi5D7hcXYVeHftKEx5ZenN0tCJQkLJ3IuX56Z87PWALlflg8W9N52OnCW33FfZc2B8lIz6rsuMcnmVLZmkXxCeFN+gttITUGBUn8V76mMi8/w/SCgc9ROrEbHKxwuTH5LjBoKzBwUTpViOWtGbIwxvEeqP7bEi9Ku/pNBXS/+RcAoG6+MxcBdn00ca6SFN5e0MMLV9inzYS8VqW/XEWcEqYaxLZcDBgdMpau5MOOJVK43AIAP1ujnPJc= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 6e6c03b0-59ff-428f-c4f0-08d8130056d1 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2020 20:52:24.8592 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: arbiymI9QZpfwmjGbO4vY1c8y0yKb6c+QTkZfrJkJgSjFUd10ATn1fygRqdqS2Pe2uI0slTRYIB52Nayq4ddmA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR11MB4118 Return-Path: guo.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks Ray for the update. It looks good to me. Reviewed-by: Dong, Guo Thanks, Guo > -----Original Message----- > From: Ni, Ray > Sent: Wednesday, June 17, 2020 1:41 AM > To: devel@edk2.groups.io > Cc: Ma, Maurice ; Dong, Guo > ; You, Benjamin > Subject: [PATCH V3 2/2] UefiPayloadPkg/Pci: Use the PCIE Base Addr stored > in AcpiBoardInfo HOB >=20 > Today's UefiPayloadPkg always uses 0xE0000000 as the PCIE base address > and ignores the value set in AcpiBoardInfo HOB created by the boot > loader. This makes the payload binary cannot work in environment > where the PCIE base address set by boot loader doesn't equal to > 0xE0000000. >=20 > The patch enhances UefiPayloadPkg so that the PCIE base address > set by boot loader in the AcpiBoardInfo HOB is used. >=20 > Signed-off-by: Ray Ni > Cc: Maurice Ma > Cc: Guo Dong > Cc: Benjamin You > --- > UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c | 13 +++- > UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf | 3 +- > .../PciSegmentInfoLibAcpiBoardInfo.c | 59 +++++++++++++++++++ > .../PciSegmentInfoLibAcpiBoardInfo.inf | 36 +++++++++++ > UefiPayloadPkg/UefiPayloadPkgIa32.dsc | 10 ++-- > UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc | 11 ++-- > 6 files changed, 121 insertions(+), 11 deletions(-) > create mode 100644 > UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfoLib > AcpiBoardInfo.c > create mode 100644 > UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfoLib > AcpiBoardInfo.inf >=20 > diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > index 28dfc8fc55..a3974dcc02 100644 > --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c > @@ -2,7 +2,7 @@ > This driver will report some MMIO/IO resources to dxe core, extract sm= bios > and acpi >=20 > tables from bootloader. >=20 >=20 >=20 > - Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.
>=20 > + Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 >=20 >=20 > **/ >=20 > @@ -101,6 +101,7 @@ BlDxeEntryPoint ( > EFI_HOB_GUID_TYPE *GuidHob; >=20 > SYSTEM_TABLE_INFO *SystemTableInfo; >=20 > EFI_PEI_GRAPHICS_INFO_HOB *GfxInfo; >=20 > + ACPI_BOARD_INFO *AcpiBoardInfo; >=20 >=20 >=20 > Status =3D EFI_SUCCESS; >=20 > // >=20 > @@ -153,6 +154,16 @@ BlDxeEntryPoint ( > ASSERT_EFI_ERROR (Status); >=20 > } >=20 >=20 >=20 > + // >=20 > + // Set PcdPciExpressBaseAddress by HOB info >=20 > + // >=20 > + GuidHob =3D GetFirstGuidHob (&gUefiAcpiBoardInfoGuid); >=20 > + if (GuidHob !=3D NULL) { >=20 > + AcpiBoardInfo =3D (ACPI_BOARD_INFO *)GET_GUID_HOB_DATA > (GuidHob); >=20 > + Status =3D PcdSet64S (PcdPciExpressBaseAddress, AcpiBoardInfo- > >PcieBaseAddress); >=20 > + ASSERT_EFI_ERROR (Status); >=20 > + } >=20 > + >=20 > return EFI_SUCCESS; >=20 > } >=20 >=20 >=20 > diff --git a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > index 4c2b4670af..1371d5eb79 100644 > --- a/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > +++ b/UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf > @@ -3,7 +3,7 @@ > # >=20 > # Report some MMIO/IO resources to dxe core, extract smbios and acpi > tables >=20 > # >=20 > -# Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved. >=20 > +# Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved. >=20 > # >=20 > # SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > # >=20 > @@ -53,6 +53,7 @@ [Pcd] > gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution >=20 > gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution >=20 > gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution >=20 > + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress >=20 >=20 >=20 > [Depex] >=20 > TRUE >=20 > diff --git > a/UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfo > LibAcpiBoardInfo.c > b/UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfo > LibAcpiBoardInfo.c > new file mode 100644 > index 0000000000..d37c91cc9f > --- /dev/null > +++ > b/UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfo > LibAcpiBoardInfo.c > @@ -0,0 +1,59 @@ > +/** @file >=20 > + PCI Segment Information Library that returns one segment whose >=20 > + segment base address is retrieved from AcpiBoardInfo HOB. >=20 > + >=20 > + Copyright (c) 2020, Intel Corporation. All rights reserved.
>=20 > + SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > + >=20 > +**/ >=20 > + >=20 > +#include >=20 > +#include >=20 > + >=20 > +#include >=20 > +#include >=20 > +#include >=20 > + >=20 > +STATIC PCI_SEGMENT_INFO mPciSegment0 =3D { >=20 > + 0, // Segment number >=20 > + 0, // To be fixed later >=20 > + 0, // Start bus number >=20 > + 255 // End bus number >=20 > +}; >=20 > + >=20 > +/** >=20 > + Return an array of PCI_SEGMENT_INFO holding the segment information. >=20 > + >=20 > + Note: The returned array/buffer is owned by callee. >=20 > + >=20 > + @param Count Return the count of segments. >=20 > + >=20 > + @retval A callee owned array holding the segment information. >=20 > +**/ >=20 > +PCI_SEGMENT_INFO * >=20 > +EFIAPI >=20 > +GetPciSegmentInfo ( >=20 > + UINTN *Count >=20 > + ) >=20 > +{ >=20 > + EFI_HOB_GUID_TYPE *GuidHob; >=20 > + ACPI_BOARD_INFO *AcpiBoardInfo; >=20 > + >=20 > + ASSERT (Count !=3D NULL); >=20 > + if (Count =3D=3D NULL) { >=20 > + return NULL; >=20 > + } >=20 > + >=20 > + if (mPciSegment0.BaseAddress =3D=3D 0) { >=20 > + // >=20 > + // Find the acpi board information guid hob >=20 > + // >=20 > + GuidHob =3D GetFirstGuidHob (&gUefiAcpiBoardInfoGuid); >=20 > + ASSERT (GuidHob !=3D NULL); >=20 > + >=20 > + AcpiBoardInfo =3D (ACPI_BOARD_INFO *) GET_GUID_HOB_DATA > (GuidHob); >=20 > + mPciSegment0.BaseAddress =3D AcpiBoardInfo->PcieBaseAddress; >=20 > + } >=20 > + *Count =3D 1; >=20 > + return &mPciSegment0; >=20 > +} >=20 > diff --git > a/UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfo > LibAcpiBoardInfo.inf > b/UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfo > LibAcpiBoardInfo.inf > new file mode 100644 > index 0000000000..ec4dbaaa55 > --- /dev/null > +++ > b/UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfo > LibAcpiBoardInfo.inf > @@ -0,0 +1,36 @@ > +## @file >=20 > +# PCI Segment Information Library that returns one segment whose >=20 > +# segment base address is retrieved from AcpiBoardInfo HOB. >=20 > +# >=20 > +# Copyright (c) 2020, Intel Corporation. All rights reserved.
>=20 > +# >=20 > +# SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > +# >=20 > +# >=20 > +## >=20 > + >=20 > +[Defines] >=20 > + INF_VERSION =3D 0x00010005 >=20 > + BASE_NAME =3D PciSegmentInfoLibAcpiBoardInfo >=20 > + FILE_GUID =3D 0EA82AA2-6C36-4FD5-BC90-FFA3ECB5E0C= E >=20 > + MODULE_TYPE =3D BASE >=20 > + VERSION_STRING =3D 1.0 >=20 > + LIBRARY_CLASS =3D PciSegmentInfoLib | DXE_DRIVER >=20 > + >=20 > +# >=20 > +# The following information is for reference only and not required by th= e > build tools. >=20 > +# >=20 > +# VALID_ARCHITECTURES =3D IA32 X64 EBC >=20 > +# >=20 > + >=20 > +[Sources] >=20 > + PciSegmentInfoLibAcpiBoardInfo.c >=20 > + >=20 > +[Packages] >=20 > + MdePkg/MdePkg.dec >=20 > + UefiPayloadPkg/UefiPayloadPkg.dec >=20 > + >=20 > +[LibraryClasses] >=20 > + PcdLib >=20 > + HobLib >=20 > + DebugLib >=20 > diff --git a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > b/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > index d52945442e..4ce1b8ef1c 100644 > --- a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > +++ b/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > @@ -3,7 +3,7 @@ > # >=20 > # Provides drivers and definitions to create uefi payload for bootloader= s. >=20 > # >=20 > -# Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.
>=20 > +# Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.
>=20 > # SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > # >=20 > ## >=20 > @@ -40,7 +40,7 @@ [Defines] > # >=20 > # PCI options >=20 > # >=20 > - DEFINE PCIE_BASE =3D 0xE0000000 >=20 > + DEFINE PCIE_BASE_SUPPORT =3D TRUE >=20 >=20 >=20 > # >=20 > # Serial port set up >=20 > @@ -121,14 +121,15 @@ [LibraryClasses] > PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf >=20 > CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf >=20 > IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf >=20 > -!if $(PCIE_BASE) =3D=3D 0 >=20 > +!if $(PCIE_BASE_SUPPORT) =3D=3D FALSE >=20 > PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf >=20 > PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf >=20 > !else >=20 > PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf >=20 > PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf >=20 > !endif >=20 > - > PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibP > ci.inf >=20 > + > PciSegmentLib|MdePkg/Library/PciSegmentLibSegmentInfo/BasePciSegme > ntLibSegmentInfo.inf >=20 > + > PciSegmentInfoLib|UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInf > o/PciSegmentInfoLibAcpiBoardInfo.inf >=20 > PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf >=20 >=20 > PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/Base > PeCoffGetEntryPointLib.inf >=20 >=20 > CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCac > heMaintenanceLib.inf >=20 > @@ -357,6 +358,7 @@ [PcdsDynamicDefault] >=20 >=20 > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|31 >=20 > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100 >=20 > + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0 >=20 >=20 >=20 >=20 > ########################################################## > ###################### >=20 > # >=20 > diff --git a/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > b/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > index 0736cd9954..7388543751 100644 > --- a/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > +++ b/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > @@ -3,7 +3,7 @@ > # >=20 > # Provides drivers and definitions to create uefi payload for bootloader= s. >=20 > # >=20 > -# Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.
>=20 > +# Copyright (c) 2014 - 2020, Intel Corporation. All rights reserved.
>=20 > # SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > # >=20 > ## >=20 > @@ -41,7 +41,7 @@ [Defines] > # >=20 > # PCI options >=20 > # >=20 > - DEFINE PCIE_BASE =3D 0xE0000000 >=20 > + DEFINE PCIE_BASE_SUPPORT =3D TRUE >=20 >=20 >=20 > # >=20 > # Serial port set up >=20 > @@ -122,14 +122,15 @@ [LibraryClasses] > PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf >=20 > CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf >=20 > IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf >=20 > -!if $(PCIE_BASE) =3D=3D 0 >=20 > +!if $(PCIE_BASE_SUPPORT) =3D=3D FALSE >=20 > PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf >=20 > PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf >=20 > !else >=20 > PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf >=20 > PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf >=20 > !endif >=20 > - > PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibP > ci.inf >=20 > + > PciSegmentLib|MdePkg/Library/PciSegmentLibSegmentInfo/BasePciSegme > ntLibSegmentInfo.inf >=20 > + > PciSegmentInfoLib|UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInf > o/PciSegmentInfoLibAcpiBoardInfo.inf >=20 > PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf >=20 >=20 > PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/Base > PeCoffGetEntryPointLib.inf >=20 >=20 > CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCac > heMaintenanceLib.inf >=20 > @@ -288,7 +289,6 @@ [PcdsFixedAtBuild] > gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE >=20 > gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, > 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0= x66, > 0x23, 0x31 } >=20 >=20 >=20 > - gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|$(PCIE_BASE) >=20 >=20 >=20 > !if $(SOURCE_DEBUG_ENABLE) >=20 >=20 > gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x > 2 >=20 > @@ -359,6 +359,7 @@ [PcdsDynamicDefault] >=20 >=20 > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|31 >=20 > gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100 >=20 > + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0 >=20 >=20 >=20 >=20 > ########################################################## > ###################### >=20 > # >=20 > -- > 2.26.2.windows.1