From nobody Tue May 7 04:16:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+76523+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+76523+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1623770507; cv=none; d=zohomail.com; s=zohoarc; b=GCynN8WkGeaCcO0wV+Hg29ghXzGf9qy+tdOiLVRwV+4v47grahqlLugGQr/wHz0HOgGPhim1/YA3txcx+q9AYGi8+AO1ICBbItNgM8Yikoh811l/A4MwfHd/nBPCw2EOMsPykQDeYYY/W4T2oZP6yX5orHG/THFXU0Jc/FBdizA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623770507; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=EDvr+P5aoUQri2AXHwDK/ufr9BfFJpHtpVmVI4f2hx4=; b=Wv9pToKSqaWXs2i8imOxFtIC1hHkBty1+FizLOidF8WdKx9v62gEk9hqCwTTcmJ8XZYmp9kmEstRO4HRPjSCiT/A+MyQJusp8SoYt+/0BhJjKHvKtqO+i86p26XzT+LI8nnlLzzSFjrvuu2XzRgRdm2S84LTduEal7kuEtkG55U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+76523+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1623770507668848.5747217654829; Tue, 15 Jun 2021 08:21:47 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id bODXYY1788612x40q97KADXp; Tue, 15 Jun 2021 08:21:47 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.10876.1623770506222508900 for ; Tue, 15 Jun 2021 08:21:46 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CBC0BD6E; Tue, 15 Jun 2021 08:21:45 -0700 (PDT) X-Received: from e120189.arm.com (unknown [10.57.7.205]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 439F43F70D; Tue, 15 Jun 2021 08:21:44 -0700 (PDT) From: "PierreGondois" To: Laszlo Ersek , Ard Biesheuvel , Sami Mujawar , devel@edk2.groups.io Cc: Leif Lindholm Subject: [edk2-devel] [PATCH RESEND v1 1/2] ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg Date: Tue, 15 Jun 2021 16:21:27 +0100 Message-Id: <20210615152128.25565-2-Pierre.Gondois@arm.com> In-Reply-To: <20210615152128.25565-1-Pierre.Gondois@arm.com> References: <20210615152128.25565-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: a76cNRx2uL3uRhQRAwfPHe3Zx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1623770507; bh=zjrmk+PDGCmp/ITFq0J+HL2xmvObyD65VBhKPcD8yf4=; h=Cc:Date:From:Reply-To:Subject:To; b=uDr66hCP/7kXidPSniCfXehfMO/OgOPRSRYmbP7iz7qsALJZi4SP0Zvo1t3Fyuw+BIy b63WtkSbwgIDHlunmhZmDd2wV3Qs1zoGcqJu4ogJe4qYyNjMxIPUS356n8QPcLscHPXwK Q74rVrGNsA0hf4C4KGLAglc06hzmBQm+pm0= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Sami Mujawar PCIe support has been added to Kvmtool Virtual Machine Manager. The PCI host bridge utility lib is used to retrieve information about the Root Bridges in a platform. Therefore, add an instance of PciHostBridgeUtilityLib as this is required to enable PCIe support for Kvmtool firmware. Signed-off-by: Sami Mujawar Signed-off-by: Pierre Gondois Acked-by: Ard Biesheuvel Tested-by: Alexandru Elisei --- .../ArmVirtPciHostBridgeUtilityLib.c | 218 ++++++++++++++++++ .../ArmVirtPciHostBridgeUtilityLib.inf | 39 ++++ 2 files changed, 257 insertions(+) create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVi= rtPciHostBridgeUtilityLib.c create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVi= rtPciHostBridgeUtilityLib.inf diff --git a/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHo= stBridgeUtilityLib.c b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/Ar= mVirtPciHostBridgeUtilityLib.c new file mode 100644 index 000000000000..90962caffd04 --- /dev/null +++ b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridg= eUtilityLib.c @@ -0,0 +1,218 @@ +/** @file + PCI Host Bridge utility functions for ArmVirt. + + Copyright (c) 2021, Arm Limited. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#pragma pack(1) +typedef struct { + ACPI_HID_DEVICE_PATH AcpiDevicePath; + EFI_DEVICE_PATH_PROTOCOL EndDevicePath; +} EFI_PCI_ROOT_BRIDGE_DEVICE_PATH; +#pragma pack () + +GLOBAL_REMOVE_IF_UNREFERENCED +CHAR16 *mPciHostBridgeAcpiAddressSpaceTypeStr[] =3D { + L"Mem", + L"I/O", + L"Bus" +}; + +STATIC CONST EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath = =3D { + { + { + ACPI_DEVICE_PATH, + ACPI_DP, + { + (UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), + (UINT8) ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8) + } + }, + EISA_PNP_ID (0x0A03), // HID + 0 // UID + }, + + { + END_DEVICE_PATH_TYPE, + END_ENTIRE_DEVICE_PATH_SUBTYPE, + { + END_DEVICE_PATH_LENGTH, + 0 + } + } +}; + + +GLOBAL_REMOVE_IF_UNREFERENCED +CHAR16 *mPciHostBridgeLibAcpiAddressSpaceTypeStr[] =3D { + L"Mem", L"I/O", L"Bus" +}; + +STATIC PCI_ROOT_BRIDGE mRootBridge; + +/** + Utility function to return all the root bridge instances in an array. + + @param [out] Count The number of root bridge instances. + @param [in] Attributes Initial attributes. + @param [in] AllocationAttributes Allocation attributes. + @param [in] DmaAbove4G DMA above 4GB memory. + @param [in] NoExtendedConfigSpace No Extended Config Space. + @param [in] BusMin Minimum Bus number, inclusive. + @param [in] BusMax Maximum Bus number, inclusive. + @param [in] Io IO aperture. + @param [in] Mem MMIO aperture. + @param [in] MemAbove4G MMIO aperture above 4G. + @param [in] PMem Prefetchable MMIO aperture. + @param [in] PMemAbove4G Prefetchable MMIO aperture above 4G. + + @return All the root bridge instances in an a= rray. +**/ +PCI_ROOT_BRIDGE * +EFIAPI +PciHostBridgeUtilityGetRootBridges ( + OUT UINTN *Count, + IN UINT64 Attributes, + IN UINT64 AllocationAttributes, + IN BOOLEAN DmaAbove4G, + IN BOOLEAN NoExtendedConfigSpace, + IN UINTN BusMin, + IN UINTN BusMax, + IN PCI_ROOT_BRIDGE_APERTURE *Io, + IN PCI_ROOT_BRIDGE_APERTURE *Mem, + IN PCI_ROOT_BRIDGE_APERTURE *MemAbove4G, + IN PCI_ROOT_BRIDGE_APERTURE *PMem, + IN PCI_ROOT_BRIDGE_APERTURE *PMemAbove4G + ) +{ + if ((Count =3D=3D NULL) || + (Io =3D=3D NULL) || + (Mem =3D=3D NULL) || + (MemAbove4G =3D=3D NULL) || + (PMem =3D=3D NULL) || + (PMemAbove4G =3D=3D NULL)) { + return NULL; + } + + + *Count =3D 1; + + mRootBridge.Segment =3D 0; + mRootBridge.Supports =3D Attributes; + mRootBridge.Attributes =3D Attributes; + + mRootBridge.DmaAbove4G =3D DmaAbove4G; + mRootBridge.NoExtendedConfigSpace =3D NoExtendedConfigSpace; + mRootBridge.ResourceAssigned =3D FALSE; + + mRootBridge.AllocationAttributes =3D AllocationAttributes; + + mRootBridge.Bus.Base =3D BusMin; + mRootBridge.Bus.Limit =3D BusMax; + mRootBridge.Io.Base =3D Io->Base; + mRootBridge.Io.Limit =3D Io->Limit; + mRootBridge.Mem.Base =3D Mem->Base; + mRootBridge.Mem.Limit =3D Mem->Limit; + mRootBridge.MemAbove4G.Base =3D MemAbove4G->Base; + mRootBridge.MemAbove4G.Limit =3D MemAbove4G->Limit; + mRootBridge.PMem.Base =3D PMem->Base; + mRootBridge.PMem.Limit =3D PMem->Limit; + mRootBridge.PMemAbove4G.Base =3D PMemAbove4G->Base; + mRootBridge.PMemAbove4G.Limit =3D PMemAbove4G->Limit; + + mRootBridge.DevicePath =3D + (EFI_DEVICE_PATH_PROTOCOL*)&mEfiPciRootBridgeDevicePath; + + return &mRootBridge; +} + +/** + Utility function to free root bridge instances array from + PciHostBridgeUtilityGetRootBridges(). + + @param[in] Bridges The root bridge instances array. + @param[in] Count The count of the array. +**/ +VOID +EFIAPI +PciHostBridgeUtilityFreeRootBridges ( + IN PCI_ROOT_BRIDGE *Bridges, + IN UINTN Count + ) +{ + // Nothing to do here. +} + +/** + Utility function to inform the platform that the resource conflict happe= ns. + + @param[in] Configuration Pointer to PCI I/O and PCI memory resource + descriptors. The Configuration contains the + resources for all the root bridges. The resour= ce + for each root bridge is terminated with END + descriptor and an additional END is appended + indicating the end of the entire resources. The + resource descriptor field values follow the + description in + EFI_PCI_HOST_BRIDGE_RESOURCE_ALLOCATION_PROTOC= OL + .SubmitResources(). +**/ +VOID +EFIAPI +PciHostBridgeUtilityResourceConflict ( + IN VOID *Configuration + ) +{ + EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor; + UINTN RootBridgeIndex; + DEBUG ((DEBUG_ERROR, "PciHostBridge: Resource conflict happens!\n")); + + RootBridgeIndex =3D 0; + Descriptor =3D (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR*)Configuration; + while (Descriptor->Desc =3D=3D ACPI_ADDRESS_SPACE_DESCRIPTOR) { + DEBUG ((DEBUG_ERROR, "RootBridge[%d]:\n", RootBridgeIndex++)); + for (; Descriptor->Desc =3D=3D ACPI_ADDRESS_SPACE_DESCRIPTOR; Descript= or++) { + ASSERT (Descriptor->ResType < + ARRAY_SIZE (mPciHostBridgeAcpiAddressSpaceTypeStr) + ); + DEBUG (( + DEBUG_ERROR, + " %s: Length/Alignment =3D 0x%lx / 0x%lx\n", + mPciHostBridgeAcpiAddressSpaceTypeStr[Descriptor->ResType], + Descriptor->AddrLen, + Descriptor->AddrRangeMax + )); + if (Descriptor->ResType =3D=3D ACPI_ADDRESS_SPACE_TYPE_MEM) { + DEBUG (( + DEBUG_ERROR, + " Granularity/SpecificFlag =3D %ld / %02x%s\n", + Descriptor->AddrSpaceGranularity, + Descriptor->SpecificFlag, + ((Descriptor->SpecificFlag & + EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE + ) !=3D 0) ? L" (Prefetchable)" : L"" + )); + } + } + // + // Skip the END descriptor for root bridge + // + ASSERT (Descriptor->Desc =3D=3D ACPI_END_TAG_DESCRIPTOR); + Descriptor =3D (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR*)( + (EFI_ACPI_END_TAG_DESCRIPTOR*)Descriptor + 1 + ); + } +} diff --git a/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHo= stBridgeUtilityLib.inf b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/= ArmVirtPciHostBridgeUtilityLib.inf new file mode 100644 index 000000000000..80fdd2b1e55e --- /dev/null +++ b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridg= eUtilityLib.inf @@ -0,0 +1,39 @@ +## @file +# PciHostBridgeLib utility functions for ArmVirt. +# +# Copyright (c) 2021, Arm Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# +## + +[Defines] + INF_VERSION =3D 0x0001001B + BASE_NAME =3D ArmVirtPciHostBridgeUtilityLib + FILE_GUID =3D 22A8844E-2AE7-4BF1-91FA-6EFDE3FE540C + MODULE_TYPE =3D DXE_DRIVER + VERSION_STRING =3D 1.0 + LIBRARY_CLASS =3D PciHostBridgeUtilityLib + +# +# The following information is for reference only and not required by the = build +# tools. +# +# VALID_ARCHITECTURES =3D AARCH64 ARM +# + +[Sources] + ArmVirtPciHostBridgeUtilityLib.c + +[Packages] + MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec + OvmfPkg/OvmfPkg.dec + +[LibraryClasses] + BaseMemoryLib + DebugLib + DevicePathLib + MemoryAllocationLib + PciLib --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76523): https://edk2.groups.io/g/devel/message/76523 Mute This Topic: https://groups.io/mt/83558264/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Tue May 7 04:16:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+76524+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+76524+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1623770509; cv=none; d=zohomail.com; s=zohoarc; b=REzH7ped68OJnxcSXvYqgF0Lw3SJnmJ5PrS4+jWvluPYHwIlnmVU8TVTl2u/FMhip8dBETSmhehRn4mDX/ooRmqLnRCgKmj5JYvO6JpLf9oYrMYCOyjDMRn2Kaaagq5w/hOsfmxH8R9zCUj5JqQdiye+yp8eS8HFr2K/fdMlgMk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1623770509; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=NJppwA+iBapB2Zspw5KuMwokSSf3EUKKxZSvTX2pPSY=; b=RIM6j0lDTZxWNgvBR/O07xeCQTOQ2soLe0CMGrnyR/4fMoXrGn7fyQnQHepPXurWanuc1VUhANESg4ahOYi7Pxtehncg0nAEprvfaK5a7qGnD3g2UY1HX+32dWW2hgqKST6OZM2AtTjLnCY5EKzoxH55dlP0HQNAQH1FMsCFcKQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+76524+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1623770509264298.86039154264347; Tue, 15 Jun 2021 08:21:49 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id zjKIYY1788612xTS2lA1tfqK; Tue, 15 Jun 2021 08:21:48 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.11005.1623770507988422848 for ; Tue, 15 Jun 2021 08:21:48 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8CC77D6E; Tue, 15 Jun 2021 08:21:47 -0700 (PDT) X-Received: from e120189.arm.com (unknown [10.57.7.205]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1DEB63F70D; Tue, 15 Jun 2021 08:21:45 -0700 (PDT) From: "PierreGondois" To: Laszlo Ersek , Ard Biesheuvel , Sami Mujawar , devel@edk2.groups.io Cc: Leif Lindholm Subject: [edk2-devel] [PATCH RESEND v1 2/2] ArmVirtPkg: Enable PCIe support for Kvmtool Date: Tue, 15 Jun 2021 16:21:28 +0100 Message-Id: <20210615152128.25565-3-Pierre.Gondois@arm.com> In-Reply-To: <20210615152128.25565-1-Pierre.Gondois@arm.com> References: <20210615152128.25565-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: kBqHh45AqxkYWe0cu09ETTY5x1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1623770508; bh=bYqWM0ADmr1W2MBsQp9B3A2wCmUMtGqLkDeaANaWdSM=; h=Cc:Date:From:Reply-To:Subject:To; b=DaqAz1jr1BrMV2sgPjPH2DWcqUsEloyVLa+75WvLR63IwbT9ArncopwStI+2R2BgiZK NLd9pOivM2/wjFcFFTcLY/uPWbi1maR8ybBPYHRxs9789MlnZnKOPCxA3V8Z8uoea/HoL UZ+uHitu65/XtilXFQYMBL5MkFvQcE6Ijlw= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Sami Mujawar PCIe support has been added to the Kvmtool virtual machine manager. Therefore, enable PCIe support for Kvmtool firmware. Signed-off-by: Sami Mujawar Signed-off-by: Pierre Gondois Acked-by: Ard Biesheuvel Tested-by: Alexandru Elisei --- ArmVirtPkg/ArmVirtKvmTool.dsc | 35 +++++++++++++++++++++++++++++++++-- ArmVirtPkg/ArmVirtKvmTool.fdf | 11 ++++++++++- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/ArmVirtPkg/ArmVirtKvmTool.dsc b/ArmVirtPkg/ArmVirtKvmTool.dsc index 01ebc903e077..3bd1cc72a1eb 100644 --- a/ArmVirtPkg/ArmVirtKvmTool.dsc +++ b/ArmVirtPkg/ArmVirtKvmTool.dsc @@ -1,7 +1,7 @@ # @file # Workspace file for KVMTool virtual platform. # -# Copyright (c) 2018 - 2020, ARM Limited. All rights reserved. +# Copyright (c) 2018 - 2021, ARM Limited. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -60,7 +60,7 @@ [LibraryClasses.common] PciPcdProducerLib|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProdu= cerLib.inf PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.i= nf PciHostBridgeLib|ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridge= Lib.inf - PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostB= ridgeUtilityLib.inf + PciHostBridgeUtilityLib|ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLi= b/ArmVirtPciHostBridgeUtilityLib.inf =20 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurem= entLibNull.inf AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLib= Null.inf @@ -175,6 +175,17 @@ [PcdsDynamicDefault.common] gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0 =20 + # + # PCI settings + # + gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE + + # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this + # PCD and PcdPciDisableBusEnumeration above have not been assigned yet + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF + + gArmTokenSpaceGuid.PcdPciIoTranslation|0x0 + # # Set video resolution for boot options and for text setup. # PlatformDxe can set the former at runtime. @@ -322,3 +333,23 @@ [Components.common] # MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf + # + # PCI support + # + ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf { + + NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf + NULL|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpre= ssLib.inf + } + MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf { + + NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf + NULL|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpre= ssLib.inf + } + MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf { + + NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf + NULL|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpre= ssLib.inf + } + OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf + OvmfPkg/Virtio10Dxe/Virtio10.inf diff --git a/ArmVirtPkg/ArmVirtKvmTool.fdf b/ArmVirtPkg/ArmVirtKvmTool.fdf index ebc82c5bd53c..076155199905 100644 --- a/ArmVirtPkg/ArmVirtKvmTool.fdf +++ b/ArmVirtPkg/ArmVirtKvmTool.fdf @@ -1,5 +1,5 @@ # -# Copyright (c) 2018 - 2020, ARM Limited. All rights reserved. +# Copyright (c) 2018 - 2021, ARM Limited. All rights reserved. # # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -195,6 +195,15 @@ [FV.FvMain] INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf =20 + # + # PCI support + # + INF ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf + INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf + INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf + INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf + INF OvmfPkg/Virtio10Dxe/Virtio10.inf + # # TianoCore logo (splash screen) # --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76524): https://edk2.groups.io/g/devel/message/76524 Mute This Topic: https://groups.io/mt/83558265/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-