public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool
@ 2021-06-15 15:21 PierreGondois
  2021-06-15 15:21 ` [PATCH RESEND v1 1/2] ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg PierreGondois
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: PierreGondois @ 2021-06-15 15:21 UTC (permalink / raw)
  To: Laszlo Ersek, Ard Biesheuvel, Sami Mujawar, devel; +Cc: Leif Lindholm

From: Pierre Gondois <Pierre.Gondois@arm.com>

PCIe support has been added to the Kvmtool virtual machine
manager. Therefore, add a PciHostBridgeUtilityLib and enable
PCIe support for Kvmtool firmware.

The patches were re-send as the devel@edk2.groups.io was not included.

The patches can be seen at: https://github.com/PierreARM/edk2/tree/1413_Enable_ArmVirt_Pci_v1
The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1718

Sami Mujawar (2):
  ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg
  ArmVirtPkg: Enable PCIe support for Kvmtool

 ArmVirtPkg/ArmVirtKvmTool.dsc                 |  35 ++-
 ArmVirtPkg/ArmVirtKvmTool.fdf                 |  11 +-
 .../ArmVirtPciHostBridgeUtilityLib.c          | 219 ++++++++++++++++++
 .../ArmVirtPciHostBridgeUtilityLib.inf        |  39 ++++
 4 files changed, 301 insertions(+), 3 deletions(-)
 create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
 create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf

-- 
2.17.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH RESEND v1 1/2] ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg
  2021-06-15 15:21 [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
@ 2021-06-15 15:21 ` PierreGondois
  2021-06-15 15:21 ` [PATCH RESEND v1 2/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: PierreGondois @ 2021-06-15 15:21 UTC (permalink / raw)
  To: Laszlo Ersek, Ard Biesheuvel, Sami Mujawar, devel; +Cc: Leif Lindholm

From: Sami Mujawar <sami.mujawar@arm.com>

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 <sami.mujawar@arm.com>
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
---
 .../ArmVirtPciHostBridgeUtilityLib.c          | 218 ++++++++++++++++++
 .../ArmVirtPciHostBridgeUtilityLib.inf        |  39 ++++
 2 files changed, 257 insertions(+)
 create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
 create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf

diff --git a/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
new file mode 100644
index 000000000000..90962caffd04
--- /dev/null
+++ b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
@@ -0,0 +1,218 @@
+/** @file
+  PCI Host Bridge utility functions for ArmVirt.
+
+  Copyright (c) 2021, Arm Limited. All rights reserved.<BR>
+
+  SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <IndustryStandard/Acpi10.h>
+#include <IndustryStandard/Pci.h>
+#include <Library/BaseMemoryLib.h>
+#include <Library/DebugLib.h>
+#include <Library/DevicePathLib.h>
+#include <Library/MemoryAllocationLib.h>
+#include <Library/PciHostBridgeLib.h>
+#include <Library/PciHostBridgeUtilityLib.h>
+#include <Library/PciLib.h>
+
+#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[] = {
+  L"Mem",
+  L"I/O",
+  L"Bus"
+};
+
+STATIC CONST EFI_PCI_ROOT_BRIDGE_DEVICE_PATH mEfiPciRootBridgeDevicePath = {
+  {
+    {
+      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[] = {
+  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 array.
+**/
+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 == NULL)       ||
+      (Io == NULL)          ||
+      (Mem == NULL)         ||
+      (MemAbove4G == NULL)  ||
+      (PMem == NULL)        ||
+      (PMemAbove4G == NULL)) {
+    return NULL;
+  }
+
+
+  *Count = 1;
+
+  mRootBridge.Segment               = 0;
+  mRootBridge.Supports              = Attributes;
+  mRootBridge.Attributes            = Attributes;
+
+  mRootBridge.DmaAbove4G            = DmaAbove4G;
+  mRootBridge.NoExtendedConfigSpace = NoExtendedConfigSpace;
+  mRootBridge.ResourceAssigned      = FALSE;
+
+  mRootBridge.AllocationAttributes  = AllocationAttributes;
+
+  mRootBridge.Bus.Base              = BusMin;
+  mRootBridge.Bus.Limit             = BusMax;
+  mRootBridge.Io.Base               = Io->Base;
+  mRootBridge.Io.Limit              = Io->Limit;
+  mRootBridge.Mem.Base              = Mem->Base;
+  mRootBridge.Mem.Limit             = Mem->Limit;
+  mRootBridge.MemAbove4G.Base       = MemAbove4G->Base;
+  mRootBridge.MemAbove4G.Limit      = MemAbove4G->Limit;
+  mRootBridge.PMem.Base             = PMem->Base;
+  mRootBridge.PMem.Limit            = PMem->Limit;
+  mRootBridge.PMemAbove4G.Base      = PMemAbove4G->Base;
+  mRootBridge.PMemAbove4G.Limit     = PMemAbove4G->Limit;
+
+  mRootBridge.DevicePath =
+    (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 happens.
+
+  @param[in] Configuration  Pointer to PCI I/O and PCI memory resource
+                            descriptors. The Configuration contains the
+                            resources for all the root bridges. The resource
+                            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_PROTOCOL
+                            .SubmitResources().
+**/
+VOID
+EFIAPI
+PciHostBridgeUtilityResourceConflict (
+  IN VOID  *Configuration
+  )
+{
+  EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *Descriptor;
+  UINTN                             RootBridgeIndex;
+  DEBUG ((DEBUG_ERROR, "PciHostBridge: Resource conflict happens!\n"));
+
+  RootBridgeIndex = 0;
+  Descriptor = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR*)Configuration;
+  while (Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR) {
+    DEBUG ((DEBUG_ERROR, "RootBridge[%d]:\n", RootBridgeIndex++));
+    for (; Descriptor->Desc == ACPI_ADDRESS_SPACE_DESCRIPTOR; Descriptor++) {
+      ASSERT (Descriptor->ResType <
+              ARRAY_SIZE (mPciHostBridgeAcpiAddressSpaceTypeStr)
+              );
+      DEBUG ((
+        DEBUG_ERROR,
+        " %s: Length/Alignment = 0x%lx / 0x%lx\n",
+        mPciHostBridgeAcpiAddressSpaceTypeStr[Descriptor->ResType],
+        Descriptor->AddrLen,
+        Descriptor->AddrRangeMax
+        ));
+      if (Descriptor->ResType == ACPI_ADDRESS_SPACE_TYPE_MEM) {
+        DEBUG ((
+          DEBUG_ERROR,
+          "     Granularity/SpecificFlag = %ld / %02x%s\n",
+          Descriptor->AddrSpaceGranularity,
+          Descriptor->SpecificFlag,
+          ((Descriptor->SpecificFlag &
+            EFI_ACPI_MEMORY_RESOURCE_SPECIFIC_FLAG_CACHEABLE_PREFETCHABLE
+            ) != 0) ? L" (Prefetchable)" : L""
+          ));
+      }
+    }
+    //
+    // Skip the END descriptor for root bridge
+    //
+    ASSERT (Descriptor->Desc == ACPI_END_TAG_DESCRIPTOR);
+    Descriptor = (EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR*)(
+                   (EFI_ACPI_END_TAG_DESCRIPTOR*)Descriptor + 1
+                   );
+  }
+}
diff --git a/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf
new file mode 100644
index 000000000000..80fdd2b1e55e
--- /dev/null
+++ b/ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.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                    = 0x0001001B
+  BASE_NAME                      = ArmVirtPciHostBridgeUtilityLib
+  FILE_GUID                      = 22A8844E-2AE7-4BF1-91FA-6EFDE3FE540C
+  MODULE_TYPE                    = DXE_DRIVER
+  VERSION_STRING                 = 1.0
+  LIBRARY_CLASS                  = PciHostBridgeUtilityLib
+
+#
+# The following information is for reference only and not required by the build
+# tools.
+#
+#  VALID_ARCHITECTURES           = AARCH64 ARM
+#
+
+[Sources]
+  ArmVirtPciHostBridgeUtilityLib.c
+
+[Packages]
+  MdeModulePkg/MdeModulePkg.dec
+  MdePkg/MdePkg.dec
+  OvmfPkg/OvmfPkg.dec
+
+[LibraryClasses]
+  BaseMemoryLib
+  DebugLib
+  DevicePathLib
+  MemoryAllocationLib
+  PciLib
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH RESEND v1 2/2] ArmVirtPkg: Enable PCIe support for Kvmtool
  2021-06-15 15:21 [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
  2021-06-15 15:21 ` [PATCH RESEND v1 1/2] ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg PierreGondois
@ 2021-06-15 15:21 ` PierreGondois
  2021-06-16 14:36 ` [PATCH RESEND v1 0/2] " Ard Biesheuvel
  2021-06-21 13:43 ` [edk2-devel] " alexandru.elisei
  3 siblings, 0 replies; 8+ messages in thread
From: PierreGondois @ 2021-06-15 15:21 UTC (permalink / raw)
  To: Laszlo Ersek, Ard Biesheuvel, Sami Mujawar, devel; +Cc: Leif Lindholm

From: Sami Mujawar <sami.mujawar@arm.com>

PCIe support has been added to the Kvmtool virtual machine
manager. Therefore, enable PCIe support for Kvmtool firmware.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com>
---
 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/FdtPciPcdProducerLib.inf
   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
   PciHostBridgeLib|ArmVirtPkg/Library/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
-  PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
+  PciHostBridgeUtilityLib|ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf
 
   TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
   AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
@@ -175,6 +175,17 @@ [PcdsDynamicDefault.common]
   gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0
 
+  #
+  # 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 {
+    <LibraryClasses>
+      NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
+      NULL|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
+  }
+  MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
+    <LibraryClasses>
+      NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
+      NULL|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
+  }
+  MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
+    <LibraryClasses>
+      NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
+      NULL|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.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
 
+  #
+  # 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)
   #
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool
  2021-06-15 15:21 [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
  2021-06-15 15:21 ` [PATCH RESEND v1 1/2] ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg PierreGondois
  2021-06-15 15:21 ` [PATCH RESEND v1 2/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
@ 2021-06-16 14:36 ` Ard Biesheuvel
  2021-06-21 13:43 ` [edk2-devel] " alexandru.elisei
  3 siblings, 0 replies; 8+ messages in thread
From: Ard Biesheuvel @ 2021-06-16 14:36 UTC (permalink / raw)
  To: Pierre
  Cc: Laszlo Ersek, Ard Biesheuvel, Sami Mujawar, edk2-devel-groups-io,
	Leif Lindholm

On Tue, 15 Jun 2021 at 17:21, <Pierre.Gondois@arm.com> wrote:
>
> From: Pierre Gondois <Pierre.Gondois@arm.com>
>
> PCIe support has been added to the Kvmtool virtual machine
> manager. Therefore, add a PciHostBridgeUtilityLib and enable
> PCIe support for Kvmtool firmware.
>
> The patches were re-send as the devel@edk2.groups.io was not included.
>
> The patches can be seen at: https://github.com/PierreARM/edk2/tree/1413_Enable_ArmVirt_Pci_v1
> The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1718
>
> Sami Mujawar (2):
>   ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg
>   ArmVirtPkg: Enable PCIe support for Kvmtool
>

For the series,

Acked-by: Ard Biesheuvel <ardb@kernel.org>

>  ArmVirtPkg/ArmVirtKvmTool.dsc                 |  35 ++-
>  ArmVirtPkg/ArmVirtKvmTool.fdf                 |  11 +-
>  .../ArmVirtPciHostBridgeUtilityLib.c          | 219 ++++++++++++++++++
>  .../ArmVirtPciHostBridgeUtilityLib.inf        |  39 ++++
>  4 files changed, 301 insertions(+), 3 deletions(-)
>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf
>
> --
> 2.17.1
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [edk2-devel] [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool
  2021-06-15 15:21 [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
                   ` (2 preceding siblings ...)
  2021-06-16 14:36 ` [PATCH RESEND v1 0/2] " Ard Biesheuvel
@ 2021-06-21 13:43 ` alexandru.elisei
  2021-06-22 11:00   ` Laszlo Ersek
  3 siblings, 1 reply; 8+ messages in thread
From: alexandru.elisei @ 2021-06-21 13:43 UTC (permalink / raw)
  To: devel, pierre.gondois, Laszlo Ersek, Ard Biesheuvel, Sami Mujawar
  Cc: Leif Lindholm

Hi Pierre,

On 6/15/21 4:21 PM, PierreGondois via groups.io wrote:
> From: Pierre Gondois <Pierre.Gondois@arm.com>
>
> PCIe support has been added to the Kvmtool virtual machine
> manager. Therefore, add a PciHostBridgeUtilityLib and enable
> PCIe support for Kvmtool firmware.
>
> The patches were re-send as the devel@edk2.groups.io was not included.
>
> The patches can be seen at: https://github.com/PierreARM/edk2/tree/1413_Enable_ArmVirt_Pci_v1
> The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1718

Tested the patches with the latest version of the kvmtool PCI Express support [1],
and everything worked as expected. A summary of the tests that I ran can be found
at [1]. So you can add for the entire series:

Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>

One thing of note is that applying patch #2 of this series on top of 11b1c1d4b98b
("SecurityPkg: TcgStorageOpalLib: Initialize SupportedAttributes parameter")
failed. However, building from your repo went fine, and the binary that I used for
testing was built from your repo.

[1] https://lore.kernel.org/kvm/20210621092128.11313-1-alexandru.elisei@arm.com/

Thanks,

Alex

>
> Sami Mujawar (2):
>   ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg
>   ArmVirtPkg: Enable PCIe support for Kvmtool
>
>  ArmVirtPkg/ArmVirtKvmTool.dsc                 |  35 ++-
>  ArmVirtPkg/ArmVirtKvmTool.fdf                 |  11 +-
>  .../ArmVirtPciHostBridgeUtilityLib.c          | 219 ++++++++++++++++++
>  .../ArmVirtPciHostBridgeUtilityLib.inf        |  39 ++++
>  4 files changed, 301 insertions(+), 3 deletions(-)
>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf
>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [edk2-devel] [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool
  2021-06-21 13:43 ` [edk2-devel] " alexandru.elisei
@ 2021-06-22 11:00   ` Laszlo Ersek
  2021-06-22 16:48     ` Sami Mujawar
       [not found]     ` <168AF58048EE8581.25454@groups.io>
  0 siblings, 2 replies; 8+ messages in thread
From: Laszlo Ersek @ 2021-06-22 11:00 UTC (permalink / raw)
  To: devel, alexandru.elisei, pierre.gondois, Ard Biesheuvel,
	Sami Mujawar
  Cc: Leif Lindholm

On 06/21/21 15:43, Alexandru Elisei wrote:
> Hi Pierre,
> 
> On 6/15/21 4:21 PM, PierreGondois via groups.io wrote:
>> From: Pierre Gondois <Pierre.Gondois@arm.com>
>>
>> PCIe support has been added to the Kvmtool virtual machine
>> manager. Therefore, add a PciHostBridgeUtilityLib and enable
>> PCIe support for Kvmtool firmware.
>>
>> The patches were re-send as the devel@edk2.groups.io was not included.
>>
>> The patches can be seen at: https://github.com/PierreARM/edk2/tree/1413_Enable_ArmVirt_Pci_v1
>> The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1718
> 
> Tested the patches with the latest version of the kvmtool PCI Express support [1],
> and everything worked as expected. A summary of the tests that I ran can be found
> at [1]. So you can add for the entire series:
> 
> Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
> 
> One thing of note is that applying patch #2 of this series on top of 11b1c1d4b98b
> ("SecurityPkg: TcgStorageOpalLib: Initialize SupportedAttributes parameter")
> failed.

If there is a conflict that needs to be resolved, then Pierre, can you
please repost?

Otherwise: Sami, can you please merge the series with Ard's and Alex's tags?

Thanks!
Laszlo


> However, building from your repo went fine, and the binary that I used for
> testing was built from your repo.
> 
> [1] https://lore.kernel.org/kvm/20210621092128.11313-1-alexandru.elisei@arm.com/
> 
> Thanks,
> 
> Alex
> 
>>
>> Sami Mujawar (2):
>>   ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg
>>   ArmVirtPkg: Enable PCIe support for Kvmtool
>>
>>  ArmVirtPkg/ArmVirtKvmTool.dsc                 |  35 ++-
>>  ArmVirtPkg/ArmVirtKvmTool.fdf                 |  11 +-
>>  .../ArmVirtPciHostBridgeUtilityLib.c          | 219 ++++++++++++++++++
>>  .../ArmVirtPciHostBridgeUtilityLib.inf        |  39 ++++
>>  4 files changed, 301 insertions(+), 3 deletions(-)
>>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
>>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf
>>
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [edk2-devel] [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool
  2021-06-22 11:00   ` Laszlo Ersek
@ 2021-06-22 16:48     ` Sami Mujawar
       [not found]     ` <168AF58048EE8581.25454@groups.io>
  1 sibling, 0 replies; 8+ messages in thread
From: Sami Mujawar @ 2021-06-22 16:48 UTC (permalink / raw)
  To: devel@edk2.groups.io, lersek@redhat.com, Alexandru Elisei,
	Pierre Gondois, Ard Biesheuvel
  Cc: Leif Lindholm, Akanksha Jain, nd

Hi Laszlo,


On 22/06/2021, 12:01, "devel@edk2.groups.io on behalf of Laszlo Ersek via groups.io" <devel@edk2.groups.io on behalf of lersek=redhat.com@groups.io> wrote:

    On 06/21/21 15:43, Alexandru Elisei wrote:
    > Hi Pierre,
    > 
    > On 6/15/21 4:21 PM, PierreGondois via groups.io wrote:
    >> From: Pierre Gondois <Pierre.Gondois@arm.com>
    >>
    >> PCIe support has been added to the Kvmtool virtual machine
    >> manager. Therefore, add a PciHostBridgeUtilityLib and enable
    >> PCIe support for Kvmtool firmware.
    >>
    >> The patches were re-send as the devel@edk2.groups.io was not included.
    >>
    >> The patches can be seen at: https://github.com/PierreARM/edk2/tree/1413_Enable_ArmVirt_Pci_v1
    >> The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1718
    > 
    > Tested the patches with the latest version of the kvmtool PCI Express support [1],
    > and everything worked as expected. A summary of the tests that I ran can be found
    > at [1]. So you can add for the entire series:
    > 
    > Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
    > 
    > One thing of note is that applying patch #2 of this series on top of 11b1c1d4b98b
    > ("SecurityPkg: TcgStorageOpalLib: Initialize SupportedAttributes parameter")
    > failed.

    If there is a conflict that needs to be resolved, then Pierre, can you
    please repost?

    Otherwise: Sami, can you please merge the series with Ard's and Alex's tags?

[SAMI] I will merge this series shortly.

Regards,

Sami Mujawar

    Thanks!
    Laszlo


    > However, building from your repo went fine, and the binary that I used for
    > testing was built from your repo.
    > 
    > [1] https://lore.kernel.org/kvm/20210621092128.11313-1-alexandru.elisei@arm.com/
    > 
    > Thanks,
    > 
    > Alex
    > 
    >>
    >> Sami Mujawar (2):
    >>   ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg
    >>   ArmVirtPkg: Enable PCIe support for Kvmtool
    >>
    >>  ArmVirtPkg/ArmVirtKvmTool.dsc                 |  35 ++-
    >>  ArmVirtPkg/ArmVirtKvmTool.fdf                 |  11 +-
    >>  .../ArmVirtPciHostBridgeUtilityLib.c          | 219 ++++++++++++++++++
    >>  .../ArmVirtPciHostBridgeUtilityLib.inf        |  39 ++++
    >>  4 files changed, 301 insertions(+), 3 deletions(-)
    >>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
    >>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf
    >>
    > 
    > 
    > 
    > 
    > 



    




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [edk2-devel] [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool
       [not found]     ` <168AF58048EE8581.25454@groups.io>
@ 2021-06-22 17:07       ` Sami Mujawar
  0 siblings, 0 replies; 8+ messages in thread
From: Sami Mujawar @ 2021-06-22 17:07 UTC (permalink / raw)
  To: devel@edk2.groups.io, Sami Mujawar, lersek@redhat.com,
	Alexandru Elisei, Pierre Gondois, Ard Biesheuvel
  Cc: Leif Lindholm, Akanksha Jain, nd, Jianyong Wu

Pushed as d9a7612f8d1d..4dda0f7ab44a.

Regards,

Sami Mujawar

On 22/06/2021, 17:49, "devel@edk2.groups.io on behalf of Sami Mujawar via groups.io" <devel@edk2.groups.io on behalf of sami.mujawar=arm.com@groups.io> wrote:

    Hi Laszlo,


    On 22/06/2021, 12:01, "devel@edk2.groups.io on behalf of Laszlo Ersek via groups.io" <devel@edk2.groups.io on behalf of lersek=redhat.com@groups.io> wrote:

        On 06/21/21 15:43, Alexandru Elisei wrote:
        > Hi Pierre,
        > 
        > On 6/15/21 4:21 PM, PierreGondois via groups.io wrote:
        >> From: Pierre Gondois <Pierre.Gondois@arm.com>
        >>
        >> PCIe support has been added to the Kvmtool virtual machine
        >> manager. Therefore, add a PciHostBridgeUtilityLib and enable
        >> PCIe support for Kvmtool firmware.
        >>
        >> The patches were re-send as the devel@edk2.groups.io was not included.
        >>
        >> The patches can be seen at: https://github.com/PierreARM/edk2/tree/1413_Enable_ArmVirt_Pci_v1
        >> The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1718
        > 
        > Tested the patches with the latest version of the kvmtool PCI Express support [1],
        > and everything worked as expected. A summary of the tests that I ran can be found
        > at [1]. So you can add for the entire series:
        > 
        > Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
        > 
        > One thing of note is that applying patch #2 of this series on top of 11b1c1d4b98b
        > ("SecurityPkg: TcgStorageOpalLib: Initialize SupportedAttributes parameter")
        > failed.

        If there is a conflict that needs to be resolved, then Pierre, can you
        please repost?

        Otherwise: Sami, can you please merge the series with Ard's and Alex's tags?

    [SAMI] I will merge this series shortly.

    Regards,

    Sami Mujawar

        Thanks!
        Laszlo


        > However, building from your repo went fine, and the binary that I used for
        > testing was built from your repo.
        > 
        > [1] https://lore.kernel.org/kvm/20210621092128.11313-1-alexandru.elisei@arm.com/
        > 
        > Thanks,
        > 
        > Alex
        > 
        >>
        >> Sami Mujawar (2):
        >>   ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg
        >>   ArmVirtPkg: Enable PCIe support for Kvmtool
        >>
        >>  ArmVirtPkg/ArmVirtKvmTool.dsc                 |  35 ++-
        >>  ArmVirtPkg/ArmVirtKvmTool.fdf                 |  11 +-
        >>  .../ArmVirtPciHostBridgeUtilityLib.c          | 219 ++++++++++++++++++
        >>  .../ArmVirtPciHostBridgeUtilityLib.inf        |  39 ++++
        >>  4 files changed, 301 insertions(+), 3 deletions(-)
        >>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.c
        >>  create mode 100644 ArmVirtPkg/Library/ArmVirtPciHostBridgeUtilityLib/ArmVirtPciHostBridgeUtilityLib.inf
        >>
        > 
        > 
        > 
        > 
        > 









    




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-06-22 17:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-15 15:21 [PATCH RESEND v1 0/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
2021-06-15 15:21 ` [PATCH RESEND v1 1/2] ArmVirtPkg: Add PCIe host bridge utility lib for ArmVirtPkg PierreGondois
2021-06-15 15:21 ` [PATCH RESEND v1 2/2] ArmVirtPkg: Enable PCIe support for Kvmtool PierreGondois
2021-06-16 14:36 ` [PATCH RESEND v1 0/2] " Ard Biesheuvel
2021-06-21 13:43 ` [edk2-devel] " alexandru.elisei
2021-06-22 11:00   ` Laszlo Ersek
2021-06-22 16:48     ` Sami Mujawar
     [not found]     ` <168AF58048EE8581.25454@groups.io>
2021-06-22 17:07       ` Sami Mujawar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox