xemu/hw/i386
Igor Mammedov c5be7517d6 x86: cpuhp: prevent guest crash on CPU hotplug when broadcast SMI is in use
There were reports of guest crash on CPU hotplug, when using q35 machine
type and OVMF with SMM, due to hotplugged CPU trying to process SMI at
default SMI handler location without it being relocated by firmware first.

Fix it by refusing hotplug if firmware hasn't negotiated CPU hotplug with
SMI support while SMI broadcast is in use.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Message-Id: <20200923094650.1301166-3-imammedo@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-09-29 02:15:24 -04:00
..
kvm Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
xen qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
acpi-build.c x86: move acpi_dev from pc/microvm 2020-09-17 14:16:19 +02:00
acpi-build.h nvdimm: Use configurable ACPI IO base and size 2020-05-04 10:25:02 -04:00
acpi-common.c acpi: madt: skip pci override on pci-less systems. 2020-06-12 10:17:06 -04:00
acpi-common.h acpi: madt: skip pci override on pci-less systems. 2020-06-12 10:17:06 -04:00
acpi-microvm.c x86: move acpi_dev from pc/microvm 2020-09-17 14:16:19 +02:00
acpi-microvm.h microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
amd_iommu.c x86-iommu: Rename QOM type macros 2020-09-02 07:29:25 -04:00
amd_iommu.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
e820_memory_layout.c hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
e820_memory_layout.h hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
fw_cfg.c meson: infrastructure for building emulators 2020-08-21 06:30:17 -04:00
fw_cfg.h acpi: factor out fw_cfg_add_acpi_dsdt() 2020-06-24 17:18:28 -04:00
generic_event_device_x86.c acpi: ged: add x86 device variant. 2020-09-17 14:16:19 +02:00
intel_iommu_internal.h intel_iommu: Use correct shift for 256 bits qi descriptor 2020-07-22 07:57:07 -04:00
intel_iommu.c x86-iommu: Rename QOM type macros 2020-09-02 07:29:25 -04:00
Kconfig microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
kvmvapic.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
meson.build microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
microvm.c microvm: enable ramfb 2020-09-17 14:16:19 +02:00
multiboot.c hw/core/loader: Let load_elf() populate a field with CPU-specific flags 2020-01-29 19:28:52 +01:00
multiboot.h refer to FWCfgState explicitly 2013-06-02 18:14:02 +03:00
pc_piix.c cphp: remove deprecated cpu-add command(s) 2020-09-29 02:14:30 -04:00
pc_q35.c pc: fix auto_enable_numa_with_memhp/auto_enable_numa_with_memdev for the 5.0 machine 2020-09-29 02:14:29 -04:00
pc_sysfw.c * Make checkpatch say 'qemu' instead of 'kernel' (Aleksandar) 2020-07-11 16:52:24 +01:00
pc.c x86: lpc9: let firmware negotiate 'CPU hotplug with SMI' features 2020-09-29 02:15:24 -04:00
port92.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
trace-events hw/i386/pc: Extract the port92 device 2019-12-17 19:33:51 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vmmouse.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
vmport.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
x86-iommu-stub.c hw/i386/x86-iommu: Add missing stubs 2020-01-09 11:41:25 +00:00
x86-iommu.c x86-iommu: Rename QOM type macros 2020-09-02 07:29:25 -04:00
x86.c x86: cpuhp: prevent guest crash on CPU hotplug when broadcast SMI is in use 2020-09-29 02:15:24 -04:00