summaryrefslogtreecommitdiffstats
path: root/hw/i386
diff options
context:
space:
mode:
authorIgor Mammedov2020-12-07 15:07:36 +0100
committerMichael S. Tsirkin2020-12-09 19:04:17 +0100
commit69dea9d6b3d1070ee49498a18c9bee5b60d00619 (patch)
tree9c5fd008eb7094b2ff4296ccf22b36e593fc2e8c /hw/i386
parenttests/acpi: allow expected files change (diff)
downloadqemu-69dea9d6b3d1070ee49498a18c9bee5b60d00619.tar.gz
qemu-69dea9d6b3d1070ee49498a18c9bee5b60d00619.tar.xz
qemu-69dea9d6b3d1070ee49498a18c9bee5b60d00619.zip
x86: acpi: let the firmware handle pending "CPU remove" events in SMM
if firmware and QEMU negotiated CPU hotunplug support, generate _EJ0 method so that it will mark CPU for removal by firmware and pass control to it by triggering SMI. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Message-Id: <20201207140739.3829993-6-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/i386')
-rw-r--r--hw/i386/acpi-build.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
index 44c9da5112..f18b71dea9 100644
--- a/hw/i386/acpi-build.c
+++ b/hw/i386/acpi-build.c
@@ -1293,6 +1293,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
CPUHotplugFeatures opts = {
.acpi_1_compatible = true, .has_legacy_cphp = true,
.smi_path = pm->smi_on_cpuhp ? "\\_SB.PCI0.SMI0.SMIC" : NULL,
+ .fw_unplugs_cpu = pm->smi_on_cpu_unplug,
};
build_cpus_aml(dsdt, machine, opts, pm->cpu_hp_io_base,
"\\_SB.PCI0", "\\_GPE._E02");