All of lore.kernel.org
 help / color / mirror / Atom feed
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 05/14] hw/i386/vmport: Report VMX type in CMD_GETVERSION
Date: Tue, 10 Mar 2020 08:53:46 -0400	[thread overview]
Message-ID: <20200310084758-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <506ba498-ba50-9415-18b3-bcaff1561c55@oracle.com>

On Tue, Mar 10, 2020 at 02:43:51PM +0200, Liran Alon wrote:
> 
> On 10/03/2020 14:35, Michael S. Tsirkin wrote:
> > On Tue, Mar 10, 2020 at 02:25:28PM +0200, Liran Alon wrote:
> > > On 10/03/2020 14:14, Michael S. Tsirkin wrote:
> > > > On Tue, Mar 10, 2020 at 01:54:02AM +0200, Liran Alon wrote:
> > > > > As can be seen from VmCheck_GetVersion() in open-vm-tools code,
> > > > > CMD_GETVERSION should return VMX type in ECX register.
> > > > > 
> > > > > Default is to fake host as VMware ESX server. But user can control
> > > > > this value by "-global vmport.vmx-type=X".
> > > > > 
> > > > > Reviewed-by: Nikita Leshenko <nikita.leshchenko@oracle.com>
> > > > > Signed-off-by: Liran Alon <liran.alon@oracle.com>
> > > > > ---
> > > > >    hw/i386/vmport.c | 13 +++++++++++++
> > > > >    1 file changed, 13 insertions(+)
> > > > > 
> > > > > diff --git a/hw/i386/vmport.c b/hw/i386/vmport.c
> > > > > index a2c8ff4b59cf..c03f57f2f636 100644
> > > > > --- a/hw/i386/vmport.c
> > > > > +++ b/hw/i386/vmport.c
> > > > > @@ -36,6 +36,15 @@
> > > > >    #define VMPORT_ENTRIES 0x2c
> > > > >    #define VMPORT_MAGIC   0x564D5868
> > > > > +typedef enum {
> > > > > +   VMX_TYPE_UNSET = 0,
> > > > > +   VMX_TYPE_EXPRESS,    /* Deprecated type used for VMware Express */
> > > > > +   VMX_TYPE_SCALABLE_SERVER,    /* VMware ESX server */
> > > > > +   VMX_TYPE_WGS,        /* Deprecated type used for VMware Server */
> > > > > +   VMX_TYPE_WORKSTATION,
> > > > > +   VMX_TYPE_WORKSTATION_ENTERPRISE /* Deprecated type used for ACE 1.x */
> > > > > +} VMX_Type;
> > > > > +
> > > > Is this really VMX type? And do users care what it is?
> > > This enum is copied from open-vm-tools source code
> > > (lib/include/vm_version.h). This is how it's called in VMware Tools
> > > terminology... Don't blame me :)
> > I don't even want to go look at it to check license compatibility, but
> > IMHO that's just another reason to avoid copying it.
> > Copying bad code isn't a good idea unless needed for
> > compatibility.
> Preserving original VMware terminology makes sense and is preferred in my
> opinion. I think diverging from it is more confusing.

Yea tell it to people who got in hot water because they copied
some variable names to avoid confusion. Oh wait.

This is not an official terminology I think.
So please just make it make sense by itself, and make it
easy to research.

> > 
> > 
> > > > Also, how about friendlier string values so people don't need to
> > > > figure out code numbers?
> > > I could have defined a new PropertyInfo struct in hw/core/qdev-properties.c
> > > for this enum and then define a proper macro in qdev-properties.h.
> > > But it seems like an overkill for a value that is suppose to rarely be
> > > changed. So I thought this should suffice for now for user-experience
> > > perspective.
> > > If you think otherwise, I can do what I just suggested above.
> > > 
> > > -Liran
> > I think that's better, and this allows you to use official
> > product names that people can relate to.
> Ok. Will do...
> > 
> > Alternatively just drop this enum completely.  As far as you are
> > concerned it's just a number VM executable gives together with the
> > version, right?  We don't even need the enum, just set it to 2 and add a
> > code comment saying it's esx server.
> I could do the latter alternative but why? It just hides information
> original patch author (myself) know about where this value comes from.
> I don't see a reason to hide information from future code maintainers.
> Similar to defining all flags of a given flag-field even if we use only a
> subset of it.
> 
> -Liran

That belongs in a code comment. Removes need to follow silly names from
unrelated and possibly incompatible license.  By comparison dead code is
dead code.  But sure, if you want to code up user friendly names, that's
ok too. But do follow official names then please, not something lifted
from some piece of code.

-- 
MST



  reply	other threads:[~2020-03-10 12:54 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 [this message]
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
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=20200310084758-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 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.