public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Yao, Jiewen" <jiewen.yao@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Köhne, Corvin" <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 v4] OvmfPkg/BhyveBhfPkg: add support for QemuFwCfg
Date: Tue, 26 Apr 2022 02:19:27 +0000	[thread overview]
Message-ID: <MW4PR11MB587254AE3426640C14979FC08CFB9@MW4PR11MB5872.namprd11.prod.outlook.com> (raw)
In-Reply-To: <0957597b13da4fe58242b7a7fd2c389b@beckhoff.com>

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+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: 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.Koehne@beckhoff.com>
> Sent: Friday, April 8, 2022 10:15 AM
> Cc: Corvin Köhne <C.Koehne@beckhoff.com>; Corvin Köhne
> <C.Koehne@beckhoff.com>; Ard Biesheuvel <ardb+tianocore@kernel.org>;
> Jordan Justen <jordan.l.justen@intel.com>; devel@edk2.groups.io; FreeBSD
> Virtualization <freebsd-virtualization@freebsd.org>; Jiewen Yao
> <jiewen.yao@intel.com>; Gerd Hoffmann <kraxel@redhat.com>; Rebecca Cran
> <rebecca@bsdio.com>; Peter Grehan <grehan@freebsd.org>
> Subject: [PATCH v4] OvmfPkg/BhyveBhfPkg: add support for QemuFwCfg
> 
> From: Corvin Köhne <CorvinK@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.koehne@beckhoff.com>
> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
> Acked-by: Rebecca Cran <rebecca@bsdio.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
> 
> 
> 
> 
> 
> 
> 


  reply	other threads:[~2022-04-26  2:19 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-08  8:15 [PATCH v4] OvmfPkg/BhyveBhfPkg: add support for QemuFwCfg Corvin Köhne
2022-04-25 11:53 ` Corvin Köhne
2022-04-26  2:19   ` Yao, Jiewen [this message]
2022-04-26  2:38 ` Rebecca Cran
2022-04-26 13:08   ` Corvin Köhne

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=MW4PR11MB587254AE3426640C14979FC08CFB9@MW4PR11MB5872.namprd11.prod.outlook.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