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/osdep.h"
|
||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
|
#include "qapi/error.h"
|
||||||
#include "qapi/visitor.h"
|
#include "qapi/visitor.h"
|
||||||
#include "qemu/range.h"
|
#include "qemu/range.h"
|
||||||
#include "hw/isa/isa.h"
|
#include "hw/isa/isa.h"
|
||||||
@ -676,6 +677,18 @@ static void ich9_lpc_realize(PCIDevice *d, Error **errp)
|
|||||||
DeviceState *dev = DEVICE(d);
|
DeviceState *dev = DEVICE(d);
|
||||||
ISABus *isa_bus;
|
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(),
|
isa_bus = isa_bus_new(DEVICE(d), get_system_memory(), get_system_io(),
|
||||||
errp);
|
errp);
|
||||||
if (!isa_bus) {
|
if (!isa_bus) {
|
||||||
|
Loading…
Reference in New Issue
Block a user