qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: qemu-devel@nongnu.org
Cc: lersek@redhat.com, ankur.a.arora@oracle.com, mst@redhat.com
Subject: [PATCH v2 0/8] add support for cpu hot-unplug with SMI broadcast enabled
Date: Mon,  7 Dec 2020 09:07:31 -0500	[thread overview]
Message-ID: <20201207140739.3829993-1-imammedo@redhat.com> (raw)

Changelog:
 v2:
  - support fw_remove event when excuting CPHP_GET_NEXT_CPU_WITH_EVENT_CMD
  - drop reserved bit before CPU_FW_EJECT_EVENT field, otherwise  AML will
    point to bit #5 instead on intended bit #4
      (Ankur Arora <ankur.a.arora@oracle.com>)

 v1:
  - split one big patch on smaller chunks
  - clear bit #4 in CPU eject
  - drop bit #4 toggle semantics and let it set only to 1 from guest side
  - do not allow unplug without hotplug
  - update expected ACPI tables to let CI pass

It's QEMU side to support CPU hot-unplug when using OVMF as firmware with SMI
broadcast enabled (default). It adds new bit in CPU hotplug hw, to mark CPU
as pending for removal by firmware and passes control to it to perform CPU
eject once it's ready (i.e. forgot and no longer uses that CPU).

Patches 2-7 are preparatory, adding neccesary HW and ACPI bits for the feature
and the last patch enables feature by default since 6.0 machine type.

git tree for testing:
    https://github.com/imammedo/qemu.git ovmf_cpu_unplug_v2

Cornelia Huck (1):
  hw: add compat machines for 6.0

Igor Mammedov (7):
  acpi: cpuhp: introduce 'firmware performs eject' status/control bits
  x86: acpi: introduce AcpiPmInfo::smi_on_cpu_unplug
  tests/acpi: allow expected files change
  x86: acpi: let the firmware handle pending "CPU remove" events in SMM
  tests/acpi: update expected files
  x86: ich9: factor out "guest_cpu_hotplug_features"
  x86: ich9: let firmware negotiate 'CPU hot-unplug with SMI' feature

 include/hw/acpi/cpu.h             |   2 ++
 include/hw/boards.h               |   3 +++
 include/hw/i386/pc.h              |   3 +++
 docs/specs/acpi_cpu_hotplug.txt   |  19 ++++++++++++++-----
 hw/acpi/cpu.c                     |  26 +++++++++++++++++++++++---
 hw/acpi/trace-events              |   2 ++
 hw/arm/virt.c                     |   9 ++++++++-
 hw/core/machine.c                 |   3 +++
 hw/i386/acpi-build.c              |   5 +++++
 hw/i386/pc.c                      |   5 +++++
 hw/i386/pc_piix.c                 |  14 +++++++++++++-
 hw/i386/pc_q35.c                  |  13 ++++++++++++-
 hw/isa/lpc_ich9.c                 |  16 +++++++++++++---
 hw/ppc/spapr.c                    |  15 +++++++++++++--
 hw/s390x/s390-virtio-ccw.c        |  14 +++++++++++++-
 tests/data/acpi/pc/DSDT           | Bin 5060 -> 5065 bytes
 tests/data/acpi/pc/DSDT.acpihmat  | Bin 6385 -> 6390 bytes
 tests/data/acpi/pc/DSDT.bridge    | Bin 6919 -> 6924 bytes
 tests/data/acpi/pc/DSDT.cphp      | Bin 5524 -> 5529 bytes
 tests/data/acpi/pc/DSDT.dimmpxm   | Bin 6714 -> 6719 bytes
 tests/data/acpi/pc/DSDT.hpbridge  | Bin 5021 -> 5026 bytes
 tests/data/acpi/pc/DSDT.hpbrroot  | Bin 3079 -> 3084 bytes
 tests/data/acpi/pc/DSDT.ipmikcs   | Bin 5132 -> 5137 bytes
 tests/data/acpi/pc/DSDT.memhp     | Bin 6419 -> 6424 bytes
 tests/data/acpi/pc/DSDT.numamem   | Bin 5066 -> 5071 bytes
 tests/data/acpi/pc/DSDT.roothp    | Bin 5256 -> 5261 bytes
 tests/data/acpi/q35/DSDT          | Bin 7796 -> 7801 bytes
 tests/data/acpi/q35/DSDT.acpihmat | Bin 9121 -> 9126 bytes
 tests/data/acpi/q35/DSDT.bridge   | Bin 7814 -> 7819 bytes
 tests/data/acpi/q35/DSDT.cphp     | Bin 8260 -> 8265 bytes
 tests/data/acpi/q35/DSDT.dimmpxm  | Bin 9450 -> 9455 bytes
 tests/data/acpi/q35/DSDT.ipmibt   | Bin 7871 -> 7876 bytes
 tests/data/acpi/q35/DSDT.memhp    | Bin 9155 -> 9160 bytes
 tests/data/acpi/q35/DSDT.mmio64   | Bin 8927 -> 8932 bytes
 tests/data/acpi/q35/DSDT.numamem  | Bin 7802 -> 7807 bytes
 tests/data/acpi/q35/DSDT.tis      | Bin 8402 -> 8407 bytes
 36 files changed, 132 insertions(+), 17 deletions(-)

-- 
2.27.0



             reply	other threads:[~2020-12-07 14:09 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-07 14:07 Igor Mammedov [this message]
2020-12-07 14:07 ` [PATCH v2 1/8] hw: add compat machines for 6.0 Igor Mammedov
2020-12-07 14:07 ` [PATCH v2 2/8] acpi: cpuhp: introduce 'firmware performs eject' status/control bits Igor Mammedov
2020-12-07 14:07 ` [PATCH v2 3/8] x86: acpi: introduce AcpiPmInfo::smi_on_cpu_unplug Igor Mammedov
2020-12-07 14:07 ` [PATCH v2 4/8] tests/acpi: allow expected files change Igor Mammedov
2020-12-07 14:07 ` [PATCH v2 5/8] x86: acpi: let the firmware handle pending "CPU remove" events in SMM Igor Mammedov
2020-12-07 14:07 ` [PATCH v2 6/8] tests/acpi: update expected files Igor Mammedov
2020-12-07 14:07 ` [PATCH v2 7/8] x86: ich9: factor out "guest_cpu_hotplug_features" Igor Mammedov
2020-12-07 14:07 ` [PATCH v2 8/8] x86: ich9: let firmware negotiate 'CPU hot-unplug with SMI' feature Igor Mammedov

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-all 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=20201207140739.3829993-1-imammedo@redhat.com \
    --to=imammedo@redhat.com \
    --cc=ankur.a.arora@oracle.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --subject='Re: [PATCH v2 0/8] add support for cpu hot-unplug with SMI broadcast enabled' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).