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
>
>
>
>
>
>
prev parent 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