q35: catch invalid cpu hotplug configuration
Related: https://bugzilla.redhat.com//show_bug.cgi?id=1985924 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Message-Id: <20210812102341.3316254-1-kraxel@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
aa29466b48
commit
67cebca328
@ -31,6 +31,7 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu/log.h"
|
||||
#include "cpu.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qapi/visitor.h"
|
||||
#include "qemu/range.h"
|
||||
#include "hw/isa/isa.h"
|
||||
@ -676,6 +677,18 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp)
|
||||
DeviceState *dev = DEVICE(d);
|
||||
ISABus *isa_bus;
|
||||
|
||||
if ((lpc->smi_host_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT)) &&
|
||||
!(lpc->smi_host_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT))) {
|
||||
/*
|
||||
* smi_features_ok_callback() throws an error on this.
|
||||
*
|
||||
* So bail out here instead of advertizing the invalid
|
||||
* configuration and get obscure firmware failures from that.
|
||||
*/
|
||||
error_setg(errp, "cpu hot-unplug requires cpu hot-plug");
|
||||
return;
|
||||
}
|
||||
|
||||
isa_bus = isa_bus_new(DEVICE(d), get_system_memory(), get_system_io(),
|
||||
errp);
|
||||
if (!isa_bus) {
|
||||
|
Loading…
Reference in New Issue
Block a user