Hi Corvin According to the process, we need 1) Reviewed-by from package maintainer. (or) 2) Reviewed-by from feature review + Acked-by from package maintainer.
You got 4 Acked-by now, including package maintainer. We need one Reviewed-by at least, from either Bhyve reviewer or Ovmf maintainer. Since I do not know enough on Bhyve, I will delegate to Bhyve reviewer or Ard. Thank you Yao Jiewen > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Corvin > Köhne > Sent: Monday, April 25, 2022 7:54 PM > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>; Justen, Jordan L > <jordan.l.jus...@intel.com>; devel@edk2.groups.io; FreeBSD Virtualization > <freebsd-virtualizat...@freebsd.org>; Yao, Jiewen <jiewen....@intel.com>; > Gerd Hoffmann <kra...@redhat.com>; Rebecca Cran <rebe...@bsdio.com>; > Peter Grehan <gre...@freebsd.org> > Subject: Re: [edk2-devel] [PATCH v4] OvmfPkg/BhyveBhfPkg: add support for > QemuFwCfg > > Hi, > > does it require more review to get merged? > > > Best regards > Corvin > > Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans > Beckhoff > Registered office: Verl, Germany | Register court: Guetersloh HRA 7075 > > > -----Original Message----- > From: Corvin Köhne <c.koe...@beckhoff.com> > Sent: Friday, April 8, 2022 10:15 AM > Cc: Corvin Köhne <c.koe...@beckhoff.com>; Corvin Köhne > <c.koe...@beckhoff.com>; Ard Biesheuvel <ardb+tianoc...@kernel.org>; > Jordan Justen <jordan.l.jus...@intel.com>; devel@edk2.groups.io; FreeBSD > Virtualization <freebsd-virtualizat...@freebsd.org>; Jiewen Yao > <jiewen....@intel.com>; Gerd Hoffmann <kra...@redhat.com>; Rebecca Cran > <rebe...@bsdio.com>; Peter Grehan <gre...@freebsd.org> > Subject: [PATCH v4] OvmfPkg/BhyveBhfPkg: add support for QemuFwCfg > > From: Corvin Köhne <corv...@beckhoff.com> > > 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.koe...@beckhoff.com> > Acked-by: Gerd Hoffmann <kra...@redhat.com> > Acked-by: Rebecca Cran <rebe...@bsdio.com> > Acked-by: Peter Grehan <gre...@freebsd.org> > Acked-by: Jiewen Yao <jiewen....@intel.com> > CC: Ard Biesheuvel <ardb+tianoc...@kernel.org> > CC: Jordan Justen <jordan.l.jus...@intel.com> > CC: devel@edk2.groups.io > CC: FreeBSD Virtualization <freebsd-virtualizat...@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 > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89319): https://edk2.groups.io/g/devel/message/89319 Mute This Topic: https://groups.io/mt/90331362/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-