mirror of https://github.com/xemu-project/xemu.git
![]() In case firmware has negotiated CPU hotplug SMI feature, generate AML to describe SMI IO port region and send SMI to firmware on each CPU hotplug SCI in case new CPUs were hotplugged. Since new CPUs can be hotplugged while CPU_SCAN_METHOD is running we can't send SMI before new CPUs are fetched from QEMU as it could cause sending Notify to a CPU that firmware hasn't seen yet. So fetch new CPUs into local cache first, then send SMI and after that send Notify events to cached CPUs. This should ensure that Notify is sent only to CPUs which were processed by firmware first. Any CPUs that were hotplugged after caching will be processed by the next CPU_SCAN_METHOD, when pending SCI is handled. 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-10-imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
||
---|---|---|
.. | ||
Kconfig | ||
acpi-stub.c | ||
acpi-x86-stub.c | ||
acpi_interface.c | ||
aml-build-stub.c | ||
aml-build.c | ||
bios-linker-loader.c | ||
core.c | ||
cpu.c | ||
cpu_hotplug.c | ||
generic_event_device.c | ||
ghes.c | ||
hmat.c | ||
hmat.h | ||
ich9.c | ||
ipmi-stub.c | ||
ipmi.c | ||
memory_hotplug.c | ||
meson.build | ||
nvdimm.c | ||
pci.c | ||
pcihp.c | ||
piix4.c | ||
tco.c | ||
tpm.c | ||
trace-events | ||
trace.h | ||
utils.c | ||
vmgenid.c |