Message ID | 47254ae0b8c6cc6945422978b6b2af2d213ef891.1613615732.git.isaku.yamahata@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ACPI related fixes to comform the spec better | expand |
On Wed, 17 Feb 2021 21:51:11 -0800 isaku.yamahata@gmail.com wrote: subj: s/properoty/property/ perhaps Michael can fix it up when merging > From: Isaku Yamahata <isaku.yamahata@intel.com> > > The following patch will introduce incompatible behavior of SMM. > Introduce a property to keep the old behavior for compatibility. > To enable smm compat, use "-global ICH9-LPC.smm-compat=on" or > "-global PIIX4_PM.smm-compat=on" > > Suggested-by: Igor Mammedov <imammedo@redhat.com> > Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > hw/acpi/piix4.c | 2 ++ > hw/isa/lpc_ich9.c | 1 + > include/hw/acpi/ich9.h | 1 + > 3 files changed, 4 insertions(+) > > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c > index 669be5bbf6..30dd9b2309 100644 > --- a/hw/acpi/piix4.c > +++ b/hw/acpi/piix4.c > @@ -74,6 +74,7 @@ struct PIIX4PMState { > qemu_irq irq; > qemu_irq smi_irq; > int smm_enabled; > + bool smm_compat; > Notifier machine_ready; > Notifier powerdown_notifier; > > @@ -642,6 +643,7 @@ static Property piix4_pm_properties[] = { > use_acpi_root_pci_hotplug, true), > DEFINE_PROP_BOOL("memory-hotplug-support", PIIX4PMState, > acpi_memory_hotplug.is_enabled, true), > + DEFINE_PROP_BOOL("smm-compat", PIIX4PMState, smm_compat, false), > DEFINE_PROP_END_OF_LIST(), > }; > > diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c > index d3145bf014..3963b73520 100644 > --- a/hw/isa/lpc_ich9.c > +++ b/hw/isa/lpc_ich9.c > @@ -775,6 +775,7 @@ static const VMStateDescription vmstate_ich9_lpc = { > > static Property ich9_lpc_properties[] = { > DEFINE_PROP_BOOL("noreboot", ICH9LPCState, pin_strap.spkr_hi, true), > + DEFINE_PROP_BOOL("smm-compat", ICH9LPCState, pm.smm_compat, false), > DEFINE_PROP_BIT64("x-smi-broadcast", ICH9LPCState, smi_host_features, > ICH9_LPC_SMI_F_BROADCAST_BIT, true), > DEFINE_PROP_BIT64("x-smi-cpu-hotplug", ICH9LPCState, smi_host_features, > diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h > index 54571c77e0..df519e40b5 100644 > --- a/include/hw/acpi/ich9.h > +++ b/include/hw/acpi/ich9.h > @@ -59,6 +59,7 @@ typedef struct ICH9LPCPMRegs { > uint8_t disable_s4; > uint8_t s4_val; > uint8_t smm_enabled; > + bool smm_compat; > bool enable_tco; > TCOIORegs tco_regs; > } ICH9LPCPMRegs;
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index 669be5bbf6..30dd9b2309 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -74,6 +74,7 @@ struct PIIX4PMState { qemu_irq irq; qemu_irq smi_irq; int smm_enabled; + bool smm_compat; Notifier machine_ready; Notifier powerdown_notifier; @@ -642,6 +643,7 @@ static Property piix4_pm_properties[] = { use_acpi_root_pci_hotplug, true), DEFINE_PROP_BOOL("memory-hotplug-support", PIIX4PMState, acpi_memory_hotplug.is_enabled, true), + DEFINE_PROP_BOOL("smm-compat", PIIX4PMState, smm_compat, false), DEFINE_PROP_END_OF_LIST(), }; diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index d3145bf014..3963b73520 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -775,6 +775,7 @@ static const VMStateDescription vmstate_ich9_lpc = { static Property ich9_lpc_properties[] = { DEFINE_PROP_BOOL("noreboot", ICH9LPCState, pin_strap.spkr_hi, true), + DEFINE_PROP_BOOL("smm-compat", ICH9LPCState, pm.smm_compat, false), DEFINE_PROP_BIT64("x-smi-broadcast", ICH9LPCState, smi_host_features, ICH9_LPC_SMI_F_BROADCAST_BIT, true), DEFINE_PROP_BIT64("x-smi-cpu-hotplug", ICH9LPCState, smi_host_features, diff --git a/include/hw/acpi/ich9.h b/include/hw/acpi/ich9.h index 54571c77e0..df519e40b5 100644 --- a/include/hw/acpi/ich9.h +++ b/include/hw/acpi/ich9.h @@ -59,6 +59,7 @@ typedef struct ICH9LPCPMRegs { uint8_t disable_s4; uint8_t s4_val; uint8_t smm_enabled; + bool smm_compat; bool enable_tco; TCOIORegs tco_regs; } ICH9LPCPMRegs;