From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Corey Minyard <minyard@acm.org>, lvivier@redhat.com, dgibson@redhat.com
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
Corey Minyard <cminyard@mvista.com>,
Eduardo Habkost <ehabkost@redhat.com>,
Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: Re: [Qemu-devel] [PATCH v2 06/12] boards.h: Ignore migration for SMBus devices on older machines
Date: Tue, 27 Nov 2018 18:14:49 +0000 [thread overview]
Message-ID: <20181127181448.GC2616@work-vm> (raw)
In-Reply-To: <d01dc051-f078-c703-bd19-e1874afdfc33@acm.org>
* Corey Minyard (minyard@acm.org) wrote:
> On 11/27/18 10:01 AM, Dr. David Alan Gilbert wrote:
> > * Corey Minyard (minyard@acm.org) wrote:
> > > On 11/26/18 11:23 AM, Dr. David Alan Gilbert wrote:
> > > > * minyard@acm.org (minyard@acm.org) wrote:
> > > > > From: Corey Minyard <cminyard@mvista.com>
> > > > >
> > > > > Migration capability is being added for pm_smbus and SMBus devices.
> > > > > This change will allow backwards compatibility to be kept when
> > > > > migrating back to an old qemu version. Add a bool to the machine
> > > > > class tho keep smbus migration from happening. Future changes
> > > > > will use this.
> > > > So this is also going to have to be in the 3.0 and 3.1 machine options
> > > > and maybe some other architectures?
> > > I'm not sure why it would need to be in both the 3.0 and 3.1 machine
> > > options.
> > > If this goes in, I'm assuming it's for 3.1 and it should only need to be
> > > there.
> > > That's if it's too late for 3.0.
> > You're out by 1-2 releases; 3.0 shipped in August, 3.1 is in freeze at
> > the moment (hence you've missed it unless some part of this is
> > critical); so this will go in during the 4.0 release.
>
> Yes, you are right, this is for 4.0.
>
>
> >
> > > The pm_smbus device is also used by mips fulong. From what I can tell, that
> > > machine doesn't have any concept of backwards compatibility, so it seemed
> > > save to no worry about it there. If it weren't for that, this bool could go
> > > into the
> > Yeh that's fine.
> >
> > What about the eeprom's are they used more widely?
>
> The only other I2C EEPROM I see is hw/nvram/eeprom_at24c.c. That device is
> only
> configured for PPC. It has a block device backend, too. This is a little
> annoying
> because smbus_eeprom.c emulates an at24c02. It would be nice to only have
> one of these.
Added in David and Laurent for odd-ppc stuff; if I'm reading it right
it's not used by one of the versioned machines.
> I can add it to that file, too, it wouldn't be hard to do and I could put it
> into the
> x86 config to test. It would be nicer to combine the two; smbus_eeprom
> seems
> like a hack to me. at24c.c is done as an SMBus slave, its done as a raw I2C
> device, which is IMHO is more correct since the at24cxx devices are not
> SMBus
> devices, they are I2C devices.
>
> In fact, smbus_eeprom.c is the only thing currently using the smbus_slave
> code.
> The IPMI interface on SMBus that I have pending uses the smbus_slave code,
> too,
> so perhaps there's value, though it's no big deal either way. It would be
> nice to get
> this right the first time and not hack it up in the future.
Dave
>
> Thanks,
>
> -corey
>
>
> >
> > Dave
> >
> > > PC specific structure.
> > >
> > > Thanks,
> > >
> > > -corey
> > >
> > > > Dave
> > > >
> > > > > Signed-off-by: Corey Minyard <cminyard@mvista.com>
> > > > > Cc: Eduardo Habkost <ehabkost@redhat.com>
> > > > > Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> > > > > ---
> > > > > hw/i386/pc_piix.c | 1 +
> > > > > hw/i386/pc_q35.c | 1 +
> > > > > include/hw/boards.h | 1 +
> > > > > 3 files changed, 3 insertions(+)
> > > > >
> > > > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> > > > > index cb28227cc3..3d1ccb1af1 100644
> > > > > --- a/hw/i386/pc_piix.c
> > > > > +++ b/hw/i386/pc_piix.c
> > > > > @@ -443,6 +443,7 @@ static void pc_i440fx_2_12_machine_options(MachineClass *m)
> > > > > pc_i440fx_3_0_machine_options(m);
> > > > > m->is_default = 0;
> > > > > m->alias = NULL;
> > > > > + m->smbus_no_migration_support = true;
> > > > > SET_MACHINE_COMPAT(m, PC_COMPAT_2_12);
> > > > > }
> > > > > diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
> > > > > index 90e88c9b28..0c6fca6a40 100644
> > > > > --- a/hw/i386/pc_q35.c
> > > > > +++ b/hw/i386/pc_q35.c
> > > > > @@ -324,6 +324,7 @@ static void pc_q35_2_12_machine_options(MachineClass *m)
> > > > > {
> > > > > pc_q35_3_0_machine_options(m);
> > > > > m->alias = NULL;
> > > > > + m->smbus_no_migration_support = true;
> > > > > SET_MACHINE_COMPAT(m, PC_COMPAT_2_12);
> > > > > }
> > > > > diff --git a/include/hw/boards.h b/include/hw/boards.h
> > > > > index f82f28468b..65314fbe2a 100644
> > > > > --- a/include/hw/boards.h
> > > > > +++ b/include/hw/boards.h
> > > > > @@ -207,6 +207,7 @@ struct MachineClass {
> > > > > void (*numa_auto_assign_ram)(MachineClass *mc, NodeInfo *nodes,
> > > > > int nb_nodes, ram_addr_t size);
> > > > > bool ignore_boot_device_suffixes;
> > > > > + bool smbus_no_migration_support;
> > > > > HotplugHandler *(*get_hotplug_handler)(MachineState *machine,
> > > > > DeviceState *dev);
> > > > > --
> > > > > 2.17.1
> > > > >
> > > > --
> > > > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> > >
> > --
> > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-11-27 18:15 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-15 19:24 [Qemu-devel] [PATCH v2 00/12] RFC: Fix/add vmstate handling in some I2C code minyard
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 01/12] i2c: Split smbus into parts minyard
2018-11-15 22:22 ` Philippe Mathieu-Daudé
2018-11-16 13:20 ` Corey Minyard
2018-11-20 15:47 ` Peter Maydell
2018-11-20 19:30 ` Philippe Mathieu-Daudé
2018-11-21 11:59 ` Peter Maydell
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 02/12] i2c: have I2C receive operation return uint8_t minyard
2018-11-20 15:31 ` Peter Maydell
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 03/12] i2c: Simplify and correct the SMBus state machine minyard
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 04/12] i2c: Add a length check to the SMBus write handling minyard
2018-11-20 15:33 ` Peter Maydell
2018-11-20 16:58 ` Corey Minyard
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 05/12] i2c: Fix pm_smbus handling of I2C block read minyard
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 06/12] boards.h: Ignore migration for SMBus devices on older machines minyard
2018-11-26 17:23 ` Dr. David Alan Gilbert
2018-11-26 18:22 ` Corey Minyard
2018-11-27 16:01 ` Dr. David Alan Gilbert
2018-11-27 16:59 ` Corey Minyard
2018-11-27 18:14 ` Dr. David Alan Gilbert [this message]
2018-11-27 18:41 ` Laurent Vivier
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 07/12] i2c:pm_smbus: Fix state transfer minyard
2018-11-26 17:20 ` Dr. David Alan Gilbert
2018-11-26 18:24 ` Corey Minyard
2018-11-26 19:41 ` Corey Minyard
2018-11-27 18:20 ` Dr. David Alan Gilbert
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 08/12] i2c: Add an SMBus vmstate structure minyard
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 09/12] i2c: Add normal type name and cast to smbus_eeprom.c minyard
2018-11-20 15:34 ` Peter Maydell
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 10/12] i2c: Add a size constant for the smbus_eeprom size minyard
2018-11-15 22:34 ` Philippe Mathieu-Daudé
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 11/12] i2c: Add vmstate handling to the smbus eeprom minyard
2018-11-26 17:30 ` Dr. David Alan Gilbert
2018-11-15 19:24 ` [Qemu-devel] [PATCH v2 12/12] i2c: Add a reset function to smbus_eeprom minyard
2018-11-15 23:01 ` [Qemu-devel] [PATCH v2 00/12] RFC: Fix/add vmstate handling in some I2C code Philippe Mathieu-Daudé
2018-11-16 13:30 ` Corey Minyard
2018-11-26 14:11 ` Corey Minyard
2018-11-26 14:35 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181127181448.GC2616@work-vm \
--to=dgilbert@redhat.com \
--cc=cminyard@mvista.com \
--cc=dgibson@redhat.com \
--cc=ehabkost@redhat.com \
--cc=lvivier@redhat.com \
--cc=marcel.apfelbaum@gmail.com \
--cc=minyard@acm.org \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).