From: "Michael S. Tsirkin" <mst@redhat.com>
To: Liran Alon <liran.alon@oracle.com>
Cc: ehabkost@redhat.com, qemu-devel@nongnu.org,
Nikita Leshenko <nikita.leshchenko@oracle.com>,
pbonzini@redhat.com, rth@twiddle.net
Subject: Re: [PATCH 07/14] hw/i386/vmport: Add support for CMD_GETBIOSUUID
Date: Tue, 10 Mar 2020 10:39:54 -0400 [thread overview]
Message-ID: <20200310103555-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <0a826472-2fd4-75f8-2b32-9029fe980556@oracle.com>
On Tue, Mar 10, 2020 at 04:24:45PM +0200, Liran Alon wrote:
>
> On 10/03/2020 13:22, Michael S. Tsirkin wrote:
> > On Tue, Mar 10, 2020 at 01:13:21PM +0200, Liran Alon wrote:
> > > On 10/03/2020 11:34, Michael S. Tsirkin wrote:
> > > > On Tue, Mar 10, 2020 at 01:54:04AM +0200, Liran Alon wrote:
> > > > > This is VMware documented functionallity that some guests rely on.
> > > > > Returns the BIOS UUID of the current virtual machine.
> > > > >
> > > > > Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
> > > > > Signed-off-by: Liran Alon <liran.alon@oracle.com>
> > > > So this at least seems guest-visible.
> > > >
> > > > So I suspect you need to add properties to
> > > > disable this for old machine types, to avoid
> > > > breaking compatibility with live-migration.
> > > It is indeed guest visible.
> > > In theory, you are right that for every guest-visible change, we should make
> > > sure to expose it to only new machine-types.
> > >
> > > However, in this case, I feel it just unnecessary over-complicates the code.
> > > I don't see how a guest which previously failed to use this command, will
> > > fail because after Live-Migration it could succeed.
> > The reverse can happen, start guest on a new qemu, command seems to
> > work, then we migrate and it fails.
> >
> > And I guess this applies to the version right?
> >
> > > If you insist, I will add such functionality. In that case, do you think a
> > > single flag will suffice for the addition of all new commands
> > > (i.e. "commands-version" that it's number specifies set of commands to
> > > expose), or you want to have a per-command flag?
> > >
> > > -Liran
> > Can be a single flag but I'd just do it a boolean that enables a group
> > of commands. E.g. "commands-v2".
> >
> Re-thinking about this...
>
> QEMU VMPort interface was quite broken already (See first patch in series
> "hw/i386/vmport: Propagate IOPort read to vCPU EAX register").
> The introduction of that fix already changes the result of all existing
> commands from guest perspective which relied on return-value from
> vmport_ioport_read().
> E.g. CMD_GETVERSION and CMD_GETRAMSIZE.
>
> In theory, we should have also made that bug-fix be tied to machine-type. To
> similarly avoid the issue of migrating a VM from a working VMPort command
> implementation to a non-working one.
> i.e. In case of migrating from new QEMU to old QEMU. Do we wish to create a
> property-flag for that fix as-well?
Yes, I meants that too. Just include everything in the same property.
> Or can we just drop all the machine-type
> flags alltogether (Including the suggested "commands-v2")
> and declare this the first actually working VMPort implementation?
>
> -Liran
It's hard to be sure no one used this, and the overhead isn't big. But
that would be a maintainer call. In any case you need to call this out
explicitly in the commit log, and I guess block migration for old
machine types.
next prev parent reply other threads:[~2020-03-10 14:40 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-09 23:53 [PATCH 00/14]: hw/i386/vmport: Bug fixes and improvements Liran Alon
2020-03-09 23:53 ` [PATCH 01/14] hw/i386/vmport: Propagate IOPort read to vCPU EAX register Liran Alon
2020-03-09 23:53 ` [PATCH 02/14] hw/i386/vmport: Set EAX to -1 on failed and unsupported commands Liran Alon
2020-03-09 23:54 ` [PATCH 03/14] hw/i386/vmport: Add device properties Liran Alon
2020-03-09 23:54 ` [PATCH 04/14] hw/i386/vmport: Introduce vmx-version property Liran Alon
2020-03-10 9:32 ` Michael S. Tsirkin
2020-03-10 11:05 ` Liran Alon
2020-03-10 11:18 ` Michael S. Tsirkin
2020-03-10 11:28 ` Liran Alon
2020-03-10 11:44 ` Michael S. Tsirkin
2020-03-10 11:53 ` Liran Alon
2020-03-09 23:54 ` [PATCH 05/14] hw/i386/vmport: Report VMX type in CMD_GETVERSION Liran Alon
2020-03-10 9:20 ` Michael S. Tsirkin
2020-03-10 11:18 ` Liran Alon
2020-03-10 11:23 ` Michael S. Tsirkin
2020-03-10 11:40 ` Liran Alon
2020-03-10 11:47 ` Michael S. Tsirkin
2020-03-10 12:14 ` Michael S. Tsirkin
2020-03-10 12:25 ` Liran Alon
2020-03-10 12:35 ` Michael S. Tsirkin
2020-03-10 12:43 ` Liran Alon
2020-03-10 12:53 ` Michael S. Tsirkin
2020-03-10 13:35 ` Liran Alon
2020-03-10 14:08 ` Michael S. Tsirkin
2020-03-10 14:46 ` Liran Alon
2020-03-10 15:10 ` Michael S. Tsirkin
2020-03-10 16:39 ` Liran Alon
2020-03-10 17:36 ` Michael S. Tsirkin
2020-03-10 17:58 ` Liran Alon
2020-03-10 21:16 ` Michael S. Tsirkin
2020-03-10 21:34 ` Liran Alon
2020-03-10 21:49 ` Michael S. Tsirkin
2020-03-10 21:59 ` Liran Alon
2020-03-10 22:04 ` Michael S. Tsirkin
2020-03-09 23:54 ` [PATCH 06/14] hw/i386/vmport: Define enum for all commands Liran Alon
2020-03-10 9:28 ` Michael S. Tsirkin
2020-03-10 11:16 ` Liran Alon
2020-03-10 11:23 ` Michael S. Tsirkin
2020-03-10 11:37 ` Liran Alon
2020-03-10 11:46 ` Michael S. Tsirkin
2020-03-10 11:54 ` Liran Alon
2020-03-09 23:54 ` [PATCH 07/14] hw/i386/vmport: Add support for CMD_GETBIOSUUID Liran Alon
2020-03-10 9:22 ` Michael S. Tsirkin
2020-03-10 11:44 ` Liran Alon
2020-03-10 12:01 ` Michael S. Tsirkin
2020-03-10 12:37 ` Liran Alon
2020-03-10 13:01 ` Michael S. Tsirkin
2020-03-10 9:34 ` Michael S. Tsirkin
2020-03-10 11:13 ` Liran Alon
2020-03-10 11:22 ` Michael S. Tsirkin
2020-03-10 11:35 ` Liran Alon
2020-03-10 14:24 ` Liran Alon
2020-03-10 14:39 ` Michael S. Tsirkin [this message]
2020-03-10 14:56 ` Liran Alon
2020-03-09 23:54 ` [PATCH 08/14] hw/i386/vmport: Add support for CMD_GETTIME Liran Alon
2020-03-09 23:54 ` [PATCH 09/14] hw/i386/vmport: Add support for CMD_GETTIMEFULL Liran Alon
2020-03-09 23:54 ` [PATCH 10/14] hw/i386/vmport: Add support for CMD_GET_VCPU_INFO Liran Alon
2020-03-09 23:54 ` [PATCH 11/14] hw/i386/vmport: Allow x2apic without IR Liran Alon
2020-03-09 23:54 ` [PATCH 12/14] i386/cpu: Store LAPIC bus frequency in CPU structure Liran Alon
2020-03-10 9:29 ` Michael S. Tsirkin
2020-03-10 10:53 ` Liran Alon
2020-03-10 12:27 ` Michael S. Tsirkin
2020-03-10 12:29 ` Liran Alon
2020-03-09 23:54 ` [PATCH 13/14] hw/i386/vmport: Add support for CMD_GETHZ Liran Alon
2020-03-09 23:54 ` [PATCH 14/14] hw/i386/vmport: Assert vmport initialized before registering commands Liran Alon
2020-03-10 9:30 ` Michael S. Tsirkin
2020-03-10 10:57 ` Liran Alon
2020-03-10 0:13 ` [PATCH 00/14]: hw/i386/vmport: Bug fixes and improvements no-reply
2020-03-10 0:16 ` Liran Alon
2020-03-10 0:53 ` no-reply
2020-03-10 0:54 ` no-reply
2020-03-10 0:57 ` Liran Alon
2020-03-10 1:10 ` no-reply
2020-03-10 1:49 ` no-reply
2020-03-10 1:50 ` no-reply
2020-03-10 2:04 ` no-reply
2020-03-10 2:22 ` no-reply
2020-03-10 2:56 ` no-reply
2020-03-10 2:56 ` no-reply
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=20200310103555-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=liran.alon@oracle.com \
--cc=nikita.leshchenko@oracle.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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).