On Mon, 15 Mar 2021 15:05:26 -0700 Isaku Yamahata <isaku.yamah...@gmail.com> wrote:
> On Mon, Mar 15, 2021 at 05:58:04PM +0100, > Reinoud Zandijk <rein...@netbsd.org> wrote: > > > I think its better to revert this and fix Linux ;) or make it a selectable > > feature as a workaround that's by default OFF :) > > Anyway here is a patch to flip the default. > At the moment, this is compile-only tested to provide the change quickly > and make discussion progress. > > From 50deeed38832ceccfb68f78dd66de5a1741b2897 Mon Sep 17 00:00:00 2001 > Message-Id: > <50deeed38832ceccfb68f78dd66de5a1741b2897.1615845421.git.isaku.yamah...@intel.com> > From: Isaku Yamahata <isaku.yamah...@intel.com> > Date: Mon, 15 Mar 2021 14:42:33 -0700 > Subject: [PATCH] ich9, piix4: flip default value for smm-compat > > Make default value for smm-compat of ich9, piix4 true to keep old > behavior. > To get new (and more conformance to ACPI spec) behavior, explicitly > set "-global ICH9-LPC.smm-compat=off" or > "-global PIIX4_PM.smm-compat=off". I'm not sure we should do that, it's fine for non-versioned/new machine type to change in incompatible way with old images, it's the job of old versioned machines types to maintain compatibility. It's of cause pain for users if they use are unable to boot old image on newest machine type, but we never promised that and if we made such promise we would never be able to fix bugs. > Reported-by: Reinoud Zandijk <rein...@netbsd.org> > Fixes: 24cd04fce0 ("ich9, piix4: add property, smm-compat, to keep > compatibility of SMM") > Signed-off-by: Isaku Yamahata <isaku.yamah...@intel.com> > --- > hw/acpi/piix4.c | 2 +- > hw/core/machine.c | 2 -- > hw/isa/lpc_ich9.c | 2 +- > 3 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c > index 1efc0ded9f..34ade2c9bb 100644 > --- a/hw/acpi/piix4.c > +++ b/hw/acpi/piix4.c > @@ -644,7 +644,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_BOOL("smm-compat", PIIX4PMState, smm_compat, true), > DEFINE_PROP_END_OF_LIST(), > }; > > diff --git a/hw/core/machine.c b/hw/core/machine.c > index 4386f57b5c..e644c4e07d 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -37,8 +37,6 @@ > #include "hw/virtio/virtio-pci.h" > > GlobalProperty hw_compat_5_2[] = { > - { "ICH9-LPC", "smm-compat", "on"}, > - { "PIIX4_PM", "smm-compat", "on"}, > }; > const size_t hw_compat_5_2_len = G_N_ELEMENTS(hw_compat_5_2); > > diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c > index 3963b73520..b7ff3a9747 100644 > --- a/hw/isa/lpc_ich9.c > +++ b/hw/isa/lpc_ich9.c > @@ -775,7 +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_BOOL("smm-compat", ICH9LPCState, pm.smm_compat, true), > 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,