All of lore.kernel.org
 help / color / mirror / Atom feed
From: Corey Minyard <minyard@acm.org>
To: "Dr. David Alan Gilbert" <dgilbert@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 10:59:39 -0600	[thread overview]
Message-ID: <d01dc051-f078-c703-bd19-e1874afdfc33@acm.org> (raw)
In-Reply-To: <20181127160144.GB2616@work-vm>

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.

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.

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

  reply	other threads:[~2018-11-27 17:00 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 [this message]
2018-11-27 18:14           ` Dr. David Alan Gilbert
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=d01dc051-f078-c703-bd19-e1874afdfc33@acm.org \
    --to=minyard@acm.org \
    --cc=cminyard@mvista.com \
    --cc=dgilbert@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.