RE: [edk2-devel] [PATCH v5] OvmfPkg/Bhyve: add support for QemuFwCfg
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 27 Apr 2022 10:06:26 UTC
Hi, sry, I'm unfamiliar with the merge process and how to try CI. I've updated my patch. It should pass CI now. Thanks Corvin Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Beckhoff Registered office: Verl, Germany | Register court: Guetersloh HRA 7075 -----Original Message----- From: Rebecca Cran <quic_rcran@quicinc.com> Sent: Tuesday, April 26, 2022 4:23 PM To: devel@edk2.groups.io; jiewen.yao@intel.com; Corvin Köhne <C.Koehne@beckhoff.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>; Justen, Jordan L <jordan.l.justen@intel.com>; FreeBSD Virtualization <freebsd-virtualization@freebsd.org>; Gerd Hoffmann <kraxel@redhat.com>; Rebecca Cran <rebecca@bsdio.com>; Peter Grehan <grehan@freebsd.org> Subject: Re: [edk2-devel] [PATCH v5] OvmfPkg/Bhyve: add support for QemuFwCfg CAUTION: External Email!! Specifically: The commit message format is not valid: * 'CC' should be 'Cc' * 'CC' should be 'Cc' * 'CC' should be 'Cc' * 'CC' should be 'Cc' The 'Cc' email address is not valid: * Email format is invalid: devel@edk2.groups.io https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format <https://github.com/tianocore/tianocore.github.io/wiki/Commit-Message-Format> -- Rebecca Cran On 4/26/22 08:07, Yao, Jiewen wrote: > Hi > CI failed -https://github.com/tianocore/edk2/pull/2829 > > Would you please try CI by yourself before you submit next patch? > It is mandatory process. > > Thank you > Yao Jiewen > >> -----Original Message----- >> From: Corvin Köhne<c.koehne@beckhoff.com> >> Sent: Tuesday, April 26, 2022 9:08 PM >> Cc: Köhne, Corvin<c.koehne@beckhoff.com>; Ard Biesheuvel >> <ardb+tianocore@kernel.org>; Justen, Jordan L<jordan.l.justen@intel.com>; >> devel@edk2.groups.io; FreeBSD Virtualization <freebsd- >> virtualization@freebsd.org>; Yao, Jiewen <jiewen.yao@intel.com>; Gerd >> Hoffmann<kraxel@redhat.com>; Rebecca Cran<rebecca@bsdio.com>; Peter >> Grehan<grehan@freebsd.org> >> Subject: [PATCH v5] OvmfPkg/Bhyve: add support for QemuFwCfg >> >> QemuFwCfg is much more powerful than BhyveFwCtl. Sadly, BhyveFwCtl >> decided to use the same IO ports as QemuFwCfg. It's not possible to use >> both interfaces simultaneously. So, prefer QemuFwCfg over BhyveFwCtl. >> >> Signed-off-by: Corvin Köhne<c.koehne@beckhoff.com> >> Reviewed-by: Rebecca Cran<rebecca@bsdio.com> >> Acked-by: Gerd Hoffmann<kraxel@redhat.com> >> Acked-by: Peter Grehan<grehan@freebsd.org> >> Acked-by: Jiewen Yao<jiewen.yao@intel.com> >> CC: Ard Biesheuvel<ardb+tianocore@kernel.org> >> CC: Jordan Justen<jordan.l.justen@intel.com> >> CC:devel@edk2.groups.io >> CC: FreeBSD Virtualization<freebsd-virtualization@freebsd.org> >> --- >> OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatformDxe.inf | 1 + >> OvmfPkg/Bhyve/AcpiPlatformDxe/Bhyve.c | 41 ++++++++++++++++++++- >> -- >> OvmfPkg/Bhyve/BhyveX64.dsc | 4 +-- >> 3 files changed, 40 insertions(+), 6 deletions(-) >> >> diff --git a/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatformDxe.inf >> b/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatformDxe.inf >> index 595fd055f9..94c65f32dc 100644 >> --- a/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatformDxe.inf >> +++ b/OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatformDxe.inf >> @@ -43,6 +43,7 @@ >> MemoryAllocationLib >> OrderedCollectionLib >> PcdLib >> + QemuFwCfgLib >> UefiBootServicesTableLib >> UefiDriverEntryPoint >> UefiLib >> diff --git a/OvmfPkg/Bhyve/AcpiPlatformDxe/Bhyve.c >> b/OvmfPkg/Bhyve/AcpiPlatformDxe/Bhyve.c >> index 8e80aa33e1..e216a21bfa 100644 >> --- a/OvmfPkg/Bhyve/AcpiPlatformDxe/Bhyve.c >> +++ b/OvmfPkg/Bhyve/AcpiPlatformDxe/Bhyve.c >> @@ -11,6 +11,41 @@ >> #include <Library/BaseMemoryLib.h> >> #include <Library/BhyveFwCtlLib.h> >> #include <Library/MemoryAllocationLib.h> >> +#include <Library/QemuFwCfgLib.h> // QemuFwCfgFindFile() >> + >> +STATIC >> +EFI_STATUS >> +EFIAPI >> +BhyveGetCpuCount ( >> + OUT UINT32 *CpuCount >> + ) >> +{ >> + FIRMWARE_CONFIG_ITEM Item; >> + UINTN Size; >> + >> + if (QemuFwCfgIsAvailable ()) { >> + if (EFI_ERROR (QemuFwCfgFindFile ("opt/bhyve/hw.ncpu", &Item, &Size))) { >> + return EFI_NOT_FOUND; >> + } else if (Size != sizeof (*CpuCount)) { >> + return EFI_BAD_BUFFER_SIZE; >> + } >> + >> + QemuFwCfgSelectItem (Item); >> + QemuFwCfgReadBytes (Size, CpuCount); >> + >> + return EFI_SUCCESS; >> + } >> + >> + // >> + // QemuFwCfg not available, try BhyveFwCtl. >> + // >> + Size = sizeof (*CpuCount); >> + if (BhyveFwCtlGet ("hw.ncpu", CpuCount, &Size) == RETURN_SUCCESS) { >> + return EFI_SUCCESS; >> + } >> + >> + return EFI_UNSUPPORTED; >> +} >> >> STATIC >> EFI_STATUS >> @@ -23,7 +58,6 @@ BhyveInstallAcpiMadtTable ( >> ) >> { >> UINT32 CpuCount; >> - UINTN cSize; >> UINTN NewBufferSize; >> EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *Madt; >> EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE *LocalApic; >> @@ -36,9 +70,8 @@ BhyveInstallAcpiMadtTable ( >> ASSERT (AcpiTableBufferSize >= sizeof (EFI_ACPI_DESCRIPTION_HEADER)); >> >> // Query the host for the number of vCPUs >> - CpuCount = 0; >> - cSize = sizeof (CpuCount); >> - if (BhyveFwCtlGet ("hw.ncpu", &CpuCount, &cSize) == RETURN_SUCCESS) { >> + Status = BhyveGetCpuCount (&CpuCount); >> + if (!EFI_ERROR (Status)) { >> DEBUG ((DEBUG_INFO, "Retrieved CpuCount %d\n", CpuCount)); >> ASSERT (CpuCount >= 1); >> } else { >> diff --git a/OvmfPkg/Bhyve/BhyveX64.dsc b/OvmfPkg/Bhyve/BhyveX64.dsc >> index 5fa08bebd7..14070fd6dd 100644 >> --- a/OvmfPkg/Bhyve/BhyveX64.dsc >> +++ b/OvmfPkg/Bhyve/BhyveX64.dsc >> @@ -163,8 +163,7 @@ >> >> SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/D >> xeSecurityManagementLib.inf >> UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf >> >> SerializeVariablesLib|OvmfPkg/Library/SerializeVariablesLib/SerializeVariablesLi >> b.inf >> - QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibNull.inf >> - >> QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNu >> ll.inf >> + QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf >> BhyveFwCtlLib|OvmfPkg/Library/BhyveFwCtlLib/BhyveFwCtlLib.inf >> VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf >> >> MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/DxeMemEncryptS >> evLib.inf >> @@ -355,6 +354,7 @@ >> !endif >> PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf >> MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf >> + >> QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwC >> fg.inf >> >> [LibraryClasses.common.UEFI_APPLICATION] >> PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf >> -- >> 2.11.0 >> >> Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans >> Beckhoff >> Registered office: Verl, Germany | Register court: Guetersloh HRA 7075 >> >> > -=-=-=-=-=-=-=-=-=-=-=- > https://nospamproxywebp.beckhoff.com/enqsig/link?id=BCAAAABGd7m3lfMOLOIhx3uNR_1Qav4Ffx8-jQB0torD82ts_GgAAADzBJywd7ugwiARO0cBT_iv7_bIiRgHlWMUL6WkcMFGQ9VLPohc0UD2LiaXfUpLeW19CgOAXJPAtMpSqj7nfPYBImxx09yz3fZUafLgui-cstrFlDBTvw98ozA39bvzvVI4-zmW3OwHtg2 Links: You receive all messages sent to this group. > View/Reply Online (#89331):https://nospamproxywebp.beckhoff.com/enqsig/link?id=BCAAAABGd7m3lfMOLOIhx3uNR_1Qav4Ffx8-jQB0torD82ts_IMAAACwj7h8eIdbgbi7KKCg2bDOH3zvyFM5WYVipKJIUoKv-wdsnOsQQFTsJQgh-KJ4aXv4yu0daeFj_X1HpFeZOVPJSiE8W93nHboWRHKgnPeGFmOi24T58hh9T2FTZDP2z4W0pbrZ_1TT6btKKlO6iIg-fVHmbySsxIpdq7v0xu3C5MehIQ2 > Mute This Topic:https://nospamproxywebp.beckhoff.com/enqsig/link?id=BCAAAABGd7m3lfMOLOIhx3uNR_1Qav4Ffx8-jQB0torD82ts_HwAAABkxIOSqXAdbmB7SQnV3wWfL8SD9x8PwoQVR6IP8RhCShnhIj-As4WiSVzVxTkByo7H76dV1wLOApA-cwg0okzOLoutfRDbENkY_fryX4FJX6AggzUjE-9XrM9QHBYd_zc8NuZlsNyoLhOxODK9REZIilVlxQjqUP9IJG8w0 > Group Owner:devel+owner@edk2.groups.io > Unsubscribe:https://nospamproxywebp.beckhoff.com/enqsig/link?id=BCAAAABGd7m3lfMOLOIhx3uNR_1Qav4Ffx8-jQB0torD82ts_HsAAACyVZgi54sI8jJY8gTpJ7a52PTprtgQ3WXotwkTfdqWEkfMmm2Z5fYca7-S-WRQfc7zcI33DiQbL9_oZ9CRL-KwB-NO76lPizpV3gzInQ_qMxqqCCapJNghVrDfqby2AVlMKmfDe49wk4-9ZiEnjn3D3Hgkg5IlQsqmIQs1 [quic_rcran@quicinc.com] > -=-=-=-=-=-=-=-=-=-=-=- > >