public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel" <ard.biesheuvel@linaro.org>
To: Laszlo Ersek <lersek@redhat.com>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>,
	"Igor Mammedov" <imammedo@redhat.com>,
	"Jiewen Yao" <jiewen.yao@intel.com>,
	"Jordan Justen" <jordan.l.justen@intel.com>,
	"Michael Kinney" <michael.d.kinney@intel.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>
Subject: Re: [PATCH v2 03/16] OvmfPkg: clone SmmCpuPlatformHookLib from UefiCpuPkg
Date: Mon, 2 Mar 2020 14:27:34 +0100	[thread overview]
Message-ID: <CAKv+Gu_VcQH8gp2ycOY94vWoKRMVYGt8x76FadqFrKfV8Y6-ow@mail.gmail.com> (raw)
In-Reply-To: <20200226221156.29589-4-lersek@redhat.com>

On Wed, 26 Feb 2020 at 23:12, Laszlo Ersek <lersek@redhat.com> wrote:
>
> Clone the Null instance of SmmCpuPlatformHookLib from UefiCpuPkg to
> OvmfPkg. In this patch, customize the lib instance only with the following
> no-op steps:
>
> - Replace Null/NULL references in filenames and comments with Qemu/QEMU
>   references.
> - Update copyright notices.
> - Clean up and rewrap comment blocks.
> - Update INF_VERSION to the latest INF spec version (1.29).
> - Update FILE_GUID.
> - Drop the UNI file.
>
> This patch is best reviewed with:
>
> $ git show --find-copies=43 --find-copies-harder
>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Michael Kinney <michael.d.kinney@intel.com>
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1512
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
>

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> Notes:
>     v2:
>
>     - Pick up Ard's Acked-by, which is conditional on approval from Intel
>       reviewers on Cc. (I'd like to save Ard the churn of re-acking
>       unmodified patches.)
>
>  OvmfPkg/OvmfPkgIa32.dsc                                                                                                                               |  2 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc                                                                                                                            |  2 +-
>  OvmfPkg/OvmfPkgX64.dsc                                                                                                                                |  2 +-
>  UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf => OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf | 21 +++++-------
>  UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.c => OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.c     | 36 ++++++++++++--------
>  5 files changed, 32 insertions(+), 31 deletions(-)
>
> diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
> index 19728f20b34e..813995fefad8 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -858,45 +858,45 @@ [Components]
>    UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf
>
>    #
>    # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)
>    #
>    MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
>
>    #
>    # SMM_CORE
>    #
>    MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
>
>    #
>    # Privileged drivers (DXE_SMM_DRIVER modules)
>    #
>    UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
>    MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {
>      <LibraryClasses>
>        LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
>    }
>    UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
>      <LibraryClasses>
> -      SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> +      SmmCpuPlatformHookLib|OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
>        SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
>    }
>
>    #
>    # Variable driver stack (SMM)
>    #
>    OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf
>    MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
>    MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
>      <LibraryClasses>
>        NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
>    }
>    MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
>
>  !else
>
>    #
>    # Variable driver stack (non-SMM)
>    #
>    OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
>    OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
>      <LibraryClasses>
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index 3c0c229e3a72..a256c7084a7e 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -872,45 +872,45 @@ [Components.X64]
>    UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf
>
>    #
>    # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)
>    #
>    MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
>
>    #
>    # SMM_CORE
>    #
>    MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
>
>    #
>    # Privileged drivers (DXE_SMM_DRIVER modules)
>    #
>    UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
>    MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {
>      <LibraryClasses>
>        LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
>    }
>    UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
>      <LibraryClasses>
> -      SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> +      SmmCpuPlatformHookLib|OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
>        SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
>    }
>
>    #
>    # Variable driver stack (SMM)
>    #
>    OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf
>    MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
>    MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
>      <LibraryClasses>
>        NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
>    }
>    MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
>
>  !else
>
>    #
>    # Variable driver stack (non-SMM)
>    #
>    OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
>    OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
>      <LibraryClasses>
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index f6c1d8d228c6..78079b9f8e13 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -870,45 +870,45 @@ [Components]
>    UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf
>
>    #
>    # SMM Initial Program Load (a DXE_RUNTIME_DRIVER)
>    #
>    MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
>
>    #
>    # SMM_CORE
>    #
>    MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
>
>    #
>    # Privileged drivers (DXE_SMM_DRIVER modules)
>    #
>    UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
>    MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf {
>      <LibraryClasses>
>        LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf
>    }
>    UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf {
>      <LibraryClasses>
> -      SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> +      SmmCpuPlatformHookLib|OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
>        SmmCpuFeaturesLib|OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
>    }
>
>    #
>    # Variable driver stack (SMM)
>    #
>    OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesSmm.inf
>    MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
>    MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
>      <LibraryClasses>
>        NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
>    }
>    MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
>
>  !else
>
>    #
>    # Variable driver stack (non-SMM)
>    #
>    OvmfPkg/QemuFlashFvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
>    OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.inf {
>      <LibraryClasses>
> diff --git a/UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf b/OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
> similarity index 43%
> copy from UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> copy to OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
> index fab6b30b7a3f..82edeca3d12d 100644
> --- a/UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
> +++ b/OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf
> @@ -1,34 +1,29 @@
>  ## @file
> -#  SMM CPU Platform Hook NULL library instance.
> +#  SMM CPU Platform Hook library instance for QEMU.
>  #
> +#  Copyright (c) 2020, Red Hat, Inc.
>  #  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> -#
>  ##
>
> -################################################################################
> -#
> -# Defines Section - statements that will be processed to create a Makefile.
> -#
> -################################################################################
>  [Defines]
> -  INF_VERSION                    = 0x00010005
> -  BASE_NAME                      = SmmCpuPlatformHookLibNull
> -  MODULE_UNI_FILE                = SmmCpuPlatformHookLibNull.uni
> -  FILE_GUID                      = D6494E1B-E06F-4ab5-B64D-48B25AA9EB33
> +  INF_VERSION                    = 1.29
> +  BASE_NAME                      = SmmCpuPlatformHookLibQemu
> +  FILE_GUID                      = 154D6D26-54B8-45BC-BA3A-CBAA20C02A6A
>    MODULE_TYPE                    = DXE_DRIVER
>    VERSION_STRING                 = 1.0
>    LIBRARY_CLASS                  = SmmCpuPlatformHookLib
>
>  #
> -# The following information is for reference only and not required by the build tools.
> +# The following information is for reference only and not required by the build
> +# tools.
>  #
>  #  VALID_ARCHITECTURES           = IA32 X64
>  #
>
>  [Sources]
> -  SmmCpuPlatformHookLibNull.c
> +  SmmCpuPlatformHookLibQemu.c
>
>  [Packages]
>    MdePkg/MdePkg.dec
>    UefiCpuPkg/UefiCpuPkg.dec
> diff --git a/UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.c b/OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.c
> similarity index 67%
> copy from UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.c
> copy to OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.c
> index 6c2010dc0a67..257e1d399cc6 100644
> --- a/UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.c
> +++ b/OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.c
> @@ -1,102 +1,108 @@
>  /** @file
> -SMM CPU Platform Hook NULL library instance.
> +SMM CPU Platform Hook library instance for QEMU.
>
> +Copyright (c) 2020, Red Hat, Inc.
>  Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
>  SPDX-License-Identifier: BSD-2-Clause-Patent
>
>  **/
>  #include <PiSmm.h>
>  #include <Library/SmmCpuPlatformHookLib.h>
>
>  /**
>    Checks if platform produces a valid SMI.
>
>    This function checks if platform produces a valid SMI. This function is
>    called at SMM entry to detect if this is a spurious SMI. This function
>    must be implemented in an MP safe way because it is called by multiple CPU
>    threads.
>
>    @retval TRUE              There is a valid SMI
>    @retval FALSE             There is no valid SMI
>
>  **/
>  BOOLEAN
>  EFIAPI
>  PlatformValidSmi (
>    VOID
>    )
>  {
>    return TRUE;
>  }
>
>  /**
>    Clears platform top level SMI status bit.
>
>    This function clears platform top level SMI status bit.
>
>    @retval TRUE              The platform top level SMI status is cleared.
> -  @retval FALSE             The platform top level SMI status cannot be cleared.
> +  @retval FALSE             The platform top level SMI status cannot be
> +                            cleared.
>
>  **/
>  BOOLEAN
>  EFIAPI
>  ClearTopLevelSmiStatus (
>    VOID
>    )
>  {
>    return TRUE;
>  }
>
>  /**
>    Performs platform specific way of SMM BSP election.
>
>    This function performs platform specific way of SMM BSP election.
>
> -  @param  IsBsp             Output parameter. TRUE: the CPU this function executes
> -                            on is elected to be the SMM BSP. FALSE: the CPU this
> -                            function executes on is to be SMM AP.
> +  @param  IsBsp             Output parameter. TRUE: the CPU this function
> +                            executes on is elected to be the SMM BSP. FALSE:
> +                            the CPU this function executes on is to be SMM AP.
>
>    @retval EFI_SUCCESS       The function executes successfully.
> -  @retval EFI_NOT_READY     The function does not determine whether this CPU should be
> -                            BSP or AP. This may occur if hardware init sequence to
> -                            enable the determination is yet to be done, or the function
> -                            chooses not to do BSP election and will let SMM CPU driver to
> -                            use its default BSP election process.
> -  @retval EFI_DEVICE_ERROR  The function cannot determine whether this CPU should be
> -                            BSP or AP due to hardware error.
> +  @retval EFI_NOT_READY     The function does not determine whether this CPU
> +                            should be BSP or AP. This may occur if hardware
> +                            init sequence to enable the determination is yet to
> +                            be done, or the function chooses not to do BSP
> +                            election and will let SMM CPU driver to use its
> +                            default BSP election process.
> +  @retval EFI_DEVICE_ERROR  The function cannot determine whether this CPU
> +                            should be BSP or AP due to hardware error.
>
>  **/
>  EFI_STATUS
>  EFIAPI
>  PlatformSmmBspElection (
>    OUT BOOLEAN     *IsBsp
>    )
>  {
>    return EFI_NOT_READY;
>  }
>
>  /**
>    Get platform page table attribute.
>
>    This function gets page table attribute of platform.
>
> -  @param  Address        Input parameter. Obtain the page table entries attribute on this address.
> +  @param  Address        Input parameter. Obtain the page table entries
> +                         attribute on this address.
>    @param  PageSize       Output parameter. The size of the page.
>    @param  NumOfPages     Output parameter. Number of page.
>    @param  PageAttribute  Output parameter. Paging Attributes (WB, UC, etc).
>
> -  @retval EFI_SUCCESS      The platform page table attribute from the address is determined.
> -  @retval EFI_UNSUPPORTED  The platform does not support getting page table attribute for the address.
> +  @retval EFI_SUCCESS      The platform page table attribute from the address
> +                           is determined.
> +  @retval EFI_UNSUPPORTED  The platform does not support getting page table
> +                           attribute for the address.
>
>  **/
>  EFI_STATUS
>  EFIAPI
>  GetPlatformPageTableAttribute (
>    IN  UINT64                Address,
>    IN OUT SMM_PAGE_SIZE_TYPE *PageSize,
>    IN OUT UINTN              *NumOfPages,
>    IN OUT UINTN              *PageAttribute
>    )
>  {
>    return EFI_UNSUPPORTED;
>  }
> --
> 2.19.1.3.g30247aa5d201
>
>

  reply	other threads:[~2020-03-02 13:27 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26 22:11 [PATCH v2 00/16] OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE Laszlo Ersek
2020-02-26 22:11 ` [PATCH v2 01/16] MdeModulePkg/PiSmmCore: log SMM image start failure Laszlo Ersek
2020-03-02 12:47   ` [edk2-devel] " Laszlo Ersek
2020-03-02 12:55     ` Liming Gao
2020-03-02 13:46   ` Philippe Mathieu-Daudé
2020-03-03  0:46   ` Dong, Eric
2020-02-26 22:11 ` [PATCH v2 02/16] UefiCpuPkg/PiSmmCpuDxeSmm: fix S3 Resume for CPU hotplug Laszlo Ersek
2020-02-28  3:05   ` [edk2-devel] " Dong, Eric
2020-02-28 10:50     ` Laszlo Ersek
2020-03-04 12:23     ` Laszlo Ersek
2020-03-04 14:36       ` Dong, Eric
2020-02-26 22:11 ` [PATCH v2 03/16] OvmfPkg: clone SmmCpuPlatformHookLib from UefiCpuPkg Laszlo Ersek
2020-03-02 13:27   ` Ard Biesheuvel [this message]
2020-03-02 13:49   ` Philippe Mathieu-Daudé
2020-02-26 22:11 ` [PATCH v2 04/16] OvmfPkg: enable SMM Monarch Election in PiSmmCpuDxeSmm Laszlo Ersek
2020-03-02 13:32   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 05/16] OvmfPkg: enable CPU hotplug support " Laszlo Ersek
2020-03-02 13:33   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 06/16] OvmfPkg/CpuHotplugSmm: introduce skeleton for CPU Hotplug SMM driver Laszlo Ersek
2020-03-02 13:44   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 07/16] OvmfPkg/CpuHotplugSmm: add hotplug register block helper functions Laszlo Ersek
2020-03-02 13:24   ` Philippe Mathieu-Daudé
2020-03-02 13:45   ` [edk2-devel] " Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 08/16] OvmfPkg/CpuHotplugSmm: define the QEMU_CPUHP_CMD_GET_ARCH_ID macro Laszlo Ersek
2020-03-02 13:22   ` Philippe Mathieu-Daudé
2020-03-02 13:45   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 09/16] OvmfPkg/CpuHotplugSmm: add function for collecting CPUs with events Laszlo Ersek
2020-03-02 13:49   ` Ard Biesheuvel
2020-03-02 20:34   ` Philippe Mathieu-Daudé
2020-03-03 10:31     ` Laszlo Ersek
2020-02-26 22:11 ` [PATCH v2 10/16] OvmfPkg/CpuHotplugSmm: collect " Laszlo Ersek
2020-03-02 13:58   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 11/16] OvmfPkg/CpuHotplugSmm: introduce Post-SMM Pen for hot-added CPUs Laszlo Ersek
2020-03-02 14:02   ` [edk2-devel] " Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 12/16] OvmfPkg/CpuHotplugSmm: introduce First SMI Handler " Laszlo Ersek
2020-03-02 14:03   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 13/16] OvmfPkg/CpuHotplugSmm: complete root MMI handler for CPU hotplug Laszlo Ersek
2020-03-02 14:05   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 14/16] OvmfPkg: clone CpuS3DataDxe from UefiCpuPkg Laszlo Ersek
2020-03-02 13:44   ` Philippe Mathieu-Daudé
2020-03-02 14:06   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 15/16] OvmfPkg/CpuS3DataDxe: superficial cleanups Laszlo Ersek
2020-03-02 13:25   ` Philippe Mathieu-Daudé
2020-03-02 14:06   ` Ard Biesheuvel
2020-02-26 22:11 ` [PATCH v2 16/16] OvmfPkg/CpuS3DataDxe: enable S3 resume after CPU hotplug Laszlo Ersek
2020-03-02 14:16   ` Ard Biesheuvel
2020-03-02 15:46 ` [edk2-devel] [PATCH v2 00/16] OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE Boris Ostrovsky
2020-03-02 19:22   ` Laszlo Ersek
2020-03-02 19:59 ` Laszlo Ersek
2020-03-04 13:29   ` Philippe Mathieu-Daudé
2020-03-04 18:09     ` Laszlo Ersek
2020-03-04 12:29 ` Laszlo Ersek
2020-03-05  8:32   ` Laszlo Ersek

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=CAKv+Gu_VcQH8gp2ycOY94vWoKRMVYGt8x76FadqFrKfV8Y6-ow@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