v1: - fix typos and some phrases (Laszlo) - add unplug check (Laszlo) - redo AML scan logic to avoid race when adding multiple CPUs
CPU hotplug with Secure Boot was not really supported and firmware wasn't aware of hotplugged CPUs (which might lead to guest crashes). During 4.2 we introduced locked SMI handler RAM arrea to make sure that guest OS wasn't able to inject its own SMI handler and OVMF added initial CPU hotplug support. This series is QEMU part of that support which lets QMVF tell QEMU that CPU hotplug with SMI broadcast enabled is supported so that QEMU would be able to prevent hotplug in case it's not supported and trigger SMI on hotplug when it's necessary. Igor Mammedov (6): x86: lpc9: let firmware negotiate 'CPU hotplug with SMI' features x86: cphp: prevent guest crash on CPU hotplug when broadcast SMI is in use x86: cpuhp: refuse cpu hot-unplug request earlier if not supported tests: acpi: mark to be changed tables in bios-tables-test-allowed-diff x68: acpi: trigger SMI before scanning for hotplugged CPUs tests: acpi: update acpi blobs with new AML include/hw/acpi/cpu.h | 1 + include/hw/i386/ich9.h | 4 +++ hw/acpi/cpu.c | 50 ++++++++++++++++++++++++++++-- hw/acpi/ich9.c | 23 +++++++++++++- hw/i386/acpi-build.c | 35 ++++++++++++++++++++- hw/i386/pc.c | 16 +++++++++- hw/isa/lpc_ich9.c | 15 +++++++++ tests/data/acpi/pc/DSDT | Bin 4934 -> 4973 bytes tests/data/acpi/pc/DSDT.acpihmat | Bin 6258 -> 6297 bytes tests/data/acpi/pc/DSDT.bridge | Bin 6793 -> 6832 bytes tests/data/acpi/pc/DSDT.cphp | Bin 5397 -> 5436 bytes tests/data/acpi/pc/DSDT.dimmpxm | Bin 6587 -> 6626 bytes tests/data/acpi/pc/DSDT.ipmikcs | Bin 5006 -> 5045 bytes tests/data/acpi/pc/DSDT.memhp | Bin 6293 -> 6332 bytes tests/data/acpi/pc/DSDT.numamem | Bin 4940 -> 4979 bytes tests/data/acpi/q35/DSDT | Bin 7678 -> 7717 bytes tests/data/acpi/q35/DSDT.acpihmat | Bin 9002 -> 9041 bytes tests/data/acpi/q35/DSDT.bridge | Bin 7695 -> 7734 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8141 -> 8180 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 9331 -> 9370 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 7753 -> 7792 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9037 -> 9076 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 8808 -> 8847 bytes tests/data/acpi/q35/DSDT.numamem | Bin 7684 -> 7723 bytes tests/data/acpi/q35/DSDT.tis | Bin 8283 -> 8322 bytes 25 files changed, 139 insertions(+), 5 deletions(-) -- 2.26.2