public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel" <ardb@kernel.org>
To: edk2-devel-groups-io <devel@edk2.groups.io>,
	Gerd Hoffmann <kraxel@redhat.com>
Cc: Ray Ni <ray.ni@intel.com>, Liming Gao <gaoliming@byosoft.com.cn>,
	 Abner Chang <abner.chang@hpe.com>,
	Jiewen Yao <jiewen.yao@intel.com>,
	 Jordan Justen <jordan.l.justen@intel.com>,
	Leif Lindholm <leif@nuviainc.com>,
	 Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Jian J Wang <jian.j.wang@intel.com>,
	 Pawel Polawski <ppolawsk@redhat.com>,
	Hao A Wu <hao.a.wu@intel.com>
Subject: Re: [edk2-devel] [PATCH v2 6/6] OvmfPkg/Microvm/pcie: add pcie support
Date: Mon, 17 Jan 2022 13:17:34 +0100	[thread overview]
Message-ID: <CAMj1kXGaT9ZGirXbhCHk6t4aVrdOLJQOGJgoQ1c_Q+REz37+-g@mail.gmail.com> (raw)
In-Reply-To: <20220117100146.1965662-7-kraxel@redhat.com>

Hello Gerd,

On Mon, 17 Jan 2022 at 11:02, Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> Link in pcie and host bridge bits.  Enables support for PCIe in microvm
> (qemu-system-x86_64 -M microvm,pcie=on).
>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3777
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  OvmfPkg/Microvm/MicrovmX64.dsc | 40 +++++++++++++++++++++-------------
>  OvmfPkg/Microvm/README         |  2 +-
>  2 files changed, 26 insertions(+), 16 deletions(-)
>
> diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
> index 1c2e600febee..218869ac91a4 100644
> --- a/OvmfPkg/Microvm/MicrovmX64.dsc
> +++ b/OvmfPkg/Microvm/MicrovmX64.dsc
> @@ -332,7 +332,9 @@ [LibraryClasses.common.DXE_RUNTIME_DRIVER]
>  !endif
>    UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> -  PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
> +#  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
> +#  PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
> +#  PciExpressLib|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf

Please don't add commented out lines like this.

>    QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
>    VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
>
> @@ -349,7 +351,9 @@ [LibraryClasses.common.UEFI_DRIVER]
>    DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
>  !endif
>    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
> -  PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
> +  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
> +  PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
> +  PciExpressLib|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
>
>  [LibraryClasses.common.DXE_DRIVER]
>    PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> @@ -371,7 +375,9 @@ [LibraryClasses.common.DXE_DRIVER]
>  !if $(SOURCE_DEBUG_ENABLE) == TRUE
>    DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
>  !endif
> -  PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
> +  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
> +  PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
> +  PciExpressLib|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
>    MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
>    QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
>    QemuLoadImageLib|OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.inf
> @@ -387,7 +393,9 @@ [LibraryClasses.common.UEFI_APPLICATION]
>  !else
>    DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
>  !endif
> -  PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
> +  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
> +  PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
> +  PciExpressLib|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
>
>  [LibraryClasses.common.DXE_SMM_DRIVER]
>    PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> @@ -408,7 +416,9 @@ [LibraryClasses.common.DXE_SMM_DRIVER]
>    DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf
>  !endif
>    BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> -  PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
> +  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
> +  PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
> +  PciExpressLib|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
>
>  [LibraryClasses.common.SMM_CORE]
>    PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
> @@ -424,7 +434,9 @@ [LibraryClasses.common.SMM_CORE]
>  !else
>    DebugLib|OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
>  !endif
> -  PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
> +  PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
> +  PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
> +  PciExpressLib|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
>
>  ################################################################################
>  #
> @@ -499,14 +511,6 @@ [PcdsFixedAtBuild]
>    gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
>  !endif
>
> -  # This PCD is used to set the base address of the PCI express hierarchy. It
> -  # is only consulted when OVMF runs on Q35. In that case it is programmed into
> -  # the PCIEXBAR register.
> -  #
> -  # On Q35 machine types that QEMU intends to support in the long term, QEMU
> -  # never lets the RAM below 4 GB exceed 2816 MB.
> -  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xB0000000
> -
>  !if $(SOURCE_DEBUG_ENABLE) == TRUE
>    gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
>  !endif
> @@ -571,6 +575,12 @@ [PcdsDynamicDefault]
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
>    gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
>
> +  # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
> +  # PCD and PcdPciDisableBusEnumeration below have not been assigned yet
> +  gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
> +  gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
> +
>    # Set video resolution for text setup.
>    gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
>    gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
> @@ -668,7 +678,7 @@ [Components]
>    OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
>    MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
>      <LibraryClasses>
> -      PciHostBridgeLib|MdeModulePkg/Library/PciHostBridgeLibNull/PciHostBridgeLibNull.inf
> +      PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
>        PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
>        NULL|OvmfPkg/Library/PlatformHasIoMmuLib/PlatformHasIoMmuLib.inf
>    }
> diff --git a/OvmfPkg/Microvm/README b/OvmfPkg/Microvm/README
> index 540d39f2ec21..813920d92a60 100644
> --- a/OvmfPkg/Microvm/README
> +++ b/OvmfPkg/Microvm/README
> @@ -29,7 +29,7 @@ features
>   [working] serial console
>   [working] direct kernel boot
>   [working] virtio-mmio support
> - [in progress] pcie support
> + [working] pcie support
>
>  known limitations
>  -----------------
> --
> 2.34.1
>
>
>
> 
>
>

      reply	other threads:[~2022-01-17 12:17 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-17 10:01 [PATCH v2 0/6] OvmfPkg/Microvm/pcie: add pcie support Gerd Hoffmann
2022-01-17 10:01 ` [PATCH v2 1/6] PciHostBridge: io range is not mandatory Gerd Hoffmann
2022-01-17 10:01 ` [PATCH v2 2/6] FdtPciHostBridgeLib: " Gerd Hoffmann
2022-01-24  3:46   ` Abner Chang
2022-01-17 10:01 ` [PATCH v2 3/6] OvmfPkg/PlatformPei: unfix PcdPciExpressBaseAddress Gerd Hoffmann
2022-01-24  3:49   ` Abner Chang
2022-01-17 10:01 ` [PATCH v2 4/6] OvmfPkg/Microvm/pcie: no vbeshim please Gerd Hoffmann
2022-01-17 10:01 ` [PATCH v2 5/6] OvmfPkg/Microvm/pcie: mPhysMemAddressWidth tweak Gerd Hoffmann
2022-01-17 10:01 ` [PATCH v2 6/6] OvmfPkg/Microvm/pcie: add pcie support Gerd Hoffmann
2022-01-17 12:17   ` Ard Biesheuvel [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMj1kXGaT9ZGirXbhCHk6t4aVrdOLJQOGJgoQ1c_Q+REz37+-g@mail.gmail.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox