From: "Laszlo Ersek" <lersek@redhat.com>
To: edk2-devel-groups-io <devel@edk2.groups.io>
Cc: "Ard Biesheuvel" <ard.biesheuvel@linaro.org>,
"Eric Dong" <eric.dong@intel.com>,
"Hao A Wu" <hao.a.wu@intel.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Jian J Wang" <jian.j.wang@intel.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>,
"Ray Ni" <ray.ni@intel.com>
Subject: Re: [edk2-devel] [PATCH v2 00/16] OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE
Date: Wed, 4 Mar 2020 13:29:46 +0100 [thread overview]
Message-ID: <58071145-b4a3-57bb-85ec-cc53539f22c2@redhat.com> (raw)
In-Reply-To: <20200226221156.29589-1-lersek@redhat.com>
On 02/26/20 23:11, Laszlo Ersek wrote:
> Supersedes: <20200223172537.28464-1-lersek@redhat.com>
> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=1512
> Repo: https://github.com/lersek/edk2.git
> Branch: vcpu_hotplug_smm_bz_1512_v2
>
> V1 was posted at:
>
> * [edk2-devel] [PATCH 00/16]
> OvmfPkg: support VCPU hotplug with -D SMM_REQUIRE
>
> https://edk2.groups.io/g/devel/message/54734
> http://mid.mail-archive.com/20200223172537.28464-1-lersek@redhat.com
>
> New in v2:
>
> - Document (in patch#11) and implement (in patch#12) the "combined"
> approach described here:
>
> http://mid.mail-archive.com/111145fc-be3d-2a9a-a126-c14345a8a8a4@redhat.com
> https://edk2.groups.io/g/devel/message/54754
>
> The idea is basically to make the SMM Monarch wait not just until the
> hot-added CPU hits the normal RAM Post-SMM Pen (which is safe wrt.
> ordering, but can be attacked by the OS), but *also* until the
> hot-added CPU is just about to execute RSM first (which is a bit less
> safe wrt. ordering, but cannot be attacked by the OS).
>
> - Pick up Ard's conditional A-b for the other patches, which have not
> been modified.
>
> - Rebase to master, and retest.
>
> See the Notes sections on the individual patches.
>
> I wanted to get v2 out on the list before having to ask Intel folks to
> do an incremental review.
>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Igor Mammedov <imammedo@redhat.com>
> Cc: Jian J Wang <jian.j.wang@intel.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>
> Cc: Ray Ni <ray.ni@intel.com>
>
> Thanks,
> Laszlo
>
> Laszlo Ersek (16):
> MdeModulePkg/PiSmmCore: log SMM image start failure
> UefiCpuPkg/PiSmmCpuDxeSmm: fix S3 Resume for CPU hotplug
> OvmfPkg: clone SmmCpuPlatformHookLib from UefiCpuPkg
> OvmfPkg: enable SMM Monarch Election in PiSmmCpuDxeSmm
> OvmfPkg: enable CPU hotplug support in PiSmmCpuDxeSmm
> OvmfPkg/CpuHotplugSmm: introduce skeleton for CPU Hotplug SMM driver
> OvmfPkg/CpuHotplugSmm: add hotplug register block helper functions
> OvmfPkg/CpuHotplugSmm: define the QEMU_CPUHP_CMD_GET_ARCH_ID macro
> OvmfPkg/CpuHotplugSmm: add function for collecting CPUs with events
> OvmfPkg/CpuHotplugSmm: collect CPUs with events
> OvmfPkg/CpuHotplugSmm: introduce Post-SMM Pen for hot-added CPUs
> OvmfPkg/CpuHotplugSmm: introduce First SMI Handler for hot-added CPUs
> OvmfPkg/CpuHotplugSmm: complete root MMI handler for CPU hotplug
> OvmfPkg: clone CpuS3DataDxe from UefiCpuPkg
> OvmfPkg/CpuS3DataDxe: superficial cleanups
> OvmfPkg/CpuS3DataDxe: enable S3 resume after CPU hotplug
>
> MdeModulePkg/Core/PiSmmCore/Dispatcher.c | 6 +
> OvmfPkg/CpuHotplugSmm/ApicId.h | 23 ++
> OvmfPkg/CpuHotplugSmm/CpuHotplug.c | 426 ++++++++++++++++++++
> OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf | 64 +++
> OvmfPkg/CpuHotplugSmm/FirstSmiHandler.nasm | 154 +++++++
> OvmfPkg/CpuHotplugSmm/FirstSmiHandlerContext.h | 47 +++
> OvmfPkg/CpuHotplugSmm/PostSmmPen.nasm | 151 +++++++
> OvmfPkg/CpuHotplugSmm/QemuCpuhp.c | 301 ++++++++++++++
> OvmfPkg/CpuHotplugSmm/QemuCpuhp.h | 61 +++
> OvmfPkg/CpuHotplugSmm/Smbase.c | 267 ++++++++++++
> OvmfPkg/CpuHotplugSmm/Smbase.h | 46 +++
> OvmfPkg/Include/IndustryStandard/Q35MchIch9.h | 5 +-
> OvmfPkg/Include/IndustryStandard/QemuCpuHotplug.h | 3 +
> OvmfPkg/OvmfPkgIa32.dsc | 7 +-
> OvmfPkg/OvmfPkgIa32.fdf | 3 +-
> OvmfPkg/OvmfPkgIa32X64.dsc | 7 +-
> OvmfPkg/OvmfPkgIa32X64.fdf | 3 +-
> OvmfPkg/OvmfPkgX64.dsc | 7 +-
> OvmfPkg/OvmfPkgX64.fdf | 3 +-
> UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.c => OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.c | 45 ++-
> UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf => OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf | 24 +-
> UefiCpuPkg/PiSmmCpuDxeSmm/CpuS3.c | 14 +-
> {UefiCpuPkg => OvmfPkg}/CpuS3DataDxe/CpuS3Data.c | 99 +++--
> {UefiCpuPkg => OvmfPkg}/CpuS3DataDxe/CpuS3DataDxe.inf | 30 +-
> 24 files changed, 1707 insertions(+), 89 deletions(-)
> copy UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.c => OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.c (61%)
> copy UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf => OvmfPkg/Library/SmmCpuPlatformHookLibQemu/SmmCpuPlatformHookLibQemu.inf (43%)
> copy {UefiCpuPkg => OvmfPkg}/CpuS3DataDxe/CpuS3Data.c (77%)
> copy {UefiCpuPkg => OvmfPkg}/CpuS3DataDxe/CpuS3DataDxe.inf (69%)
> create mode 100644 OvmfPkg/CpuHotplugSmm/ApicId.h
> create mode 100644 OvmfPkg/CpuHotplugSmm/CpuHotplug.c
> create mode 100644 OvmfPkg/CpuHotplugSmm/CpuHotplugSmm.inf
> create mode 100644 OvmfPkg/CpuHotplugSmm/FirstSmiHandler.nasm
> create mode 100644 OvmfPkg/CpuHotplugSmm/FirstSmiHandlerContext.h
> create mode 100644 OvmfPkg/CpuHotplugSmm/PostSmmPen.nasm
> create mode 100644 OvmfPkg/CpuHotplugSmm/QemuCpuhp.c
> create mode 100644 OvmfPkg/CpuHotplugSmm/QemuCpuhp.h
> create mode 100644 OvmfPkg/CpuHotplugSmm/Smbase.c
> create mode 100644 OvmfPkg/CpuHotplugSmm/Smbase.h
>
>
> base-commit: edfe16a6d9f8c6830d7ad93ee7616225fe4e9c13
>
Merged as commit range 61d3b2d4279e..1158fc8e2c7b, via
<https://github.com/tianocore/edk2/pull/416/>.
Thanks
Laszlo
next prev parent reply other threads:[~2020-03-04 12:30 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
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 [this message]
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=58071145-b4a3-57bb-85ec-cc53539f22c2@redhat.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