All of lore.kernel.org
 help / color / mirror / Atom feed
From: Don Slutz <Don@CloudSwitch.Com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: Igor Mammedov <imammedo@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-devel@nongnu.org>,
	<ehabkost@redhat.com>, <avi@redhat.com>,
	<peter.maydell@linaro.org>, <kvm@vger.kernel.org>,
	<anthony@codemonkey.ws>
Subject: Re: [PATCH v6 03/16] target-i386: Add cpu object access routines for Hypervisor level.
Date: Thu, 11 Oct 2012 18:20:01 -0400	[thread overview]
Message-ID: <50774611.1020505@CloudSwitch.Com> (raw)
In-Reply-To: <507596D2.2000505@suse.de>

On 10/10/12 11:40, Andreas Färber wrote:
> Am 10.10.2012 17:22, schrieb Don Slutz:
>> On 10/09/12 15:13, Don Slutz wrote:
>>> On 10/09/12 12:25, Marcelo Tosatti wrote:
>>>> On Mon, Sep 24, 2012 at 10:32:05AM -0400, Don Slutz wrote:
>>>>> +static void x86_cpuid_set_hv_level(Object *obj, Visitor *v, void
>>>>> *opaque,
>>>>> +                                const char *name, Error **errp)
>>>>> +{
>>>>> +    X86CPU *cpu = X86_CPU(obj);
>>>>> +    uint32_t value;
>>>>> +
>>>>> +    visit_type_uint32(v, &value, name, errp);
>>>>> +    if (error_is_set(errp)) {
>>>>> +        return;
>>>>> +    }
>>>>> +
>>>>> +    if (value != 0 && value < 0x40000000) {
>>>>> +        value += 0x40000000;
>>>>> +    }
>>>> Whats the purpose of this? Adds ambiguity.
> [...]
>> This is direct copy with adjustment from x86_cpuid_set_xlevel():
>>
>>      if (value < 0x80000000) {
>>          value += 0x80000000;
>>      }
>>
>> (Pending patch:
>> http://comments.gmane.org/gmane.comp.emulators.qemu/172703 adds this)
> (Any pending patch can be changed ;))
>
>> The adjustment is that 0 is a legal value. See
>> http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
>>
>> This does mean that just like xlevel=1 and xlevel=0x80000001 are the
>> same; hypervisor-level=1 and hypervisor-level=0x4000001 are the same.
>> If this is not wanted, I have no issue with removing it.
> I have no strong opinion either way, but if there's only one call site,
> I'd prefer to apply these fixups to user input before setting the
> property and to have the property setter error out on invalid values. I
> consider that cleaner than silently fixing up values inside the setter.
>
> Regards,
> Andreas
>
I find more then one call site.  And one of them is converting the 
predefined x86 cpus (like 486).  So I am not planning on a change.

I have finished up the v7 changes except for this.  I will wait until 
some time tomorrow to send it in case there is more on this topic.
     -Don Slutz



WARNING: multiple messages have this Message-ID (diff)
From: Don Slutz <Don@CloudSwitch.Com>
To: "Andreas Färber" <afaerber@suse.de>
Cc: peter.maydell@linaro.org, ehabkost@redhat.com,
	kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-devel@nongnu.org, avi@redhat.com, anthony@codemonkey.ws,
	Igor Mammedov <imammedo@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v6 03/16] target-i386: Add cpu object access routines for Hypervisor level.
Date: Thu, 11 Oct 2012 18:20:01 -0400	[thread overview]
Message-ID: <50774611.1020505@CloudSwitch.Com> (raw)
In-Reply-To: <507596D2.2000505@suse.de>

On 10/10/12 11:40, Andreas Färber wrote:
> Am 10.10.2012 17:22, schrieb Don Slutz:
>> On 10/09/12 15:13, Don Slutz wrote:
>>> On 10/09/12 12:25, Marcelo Tosatti wrote:
>>>> On Mon, Sep 24, 2012 at 10:32:05AM -0400, Don Slutz wrote:
>>>>> +static void x86_cpuid_set_hv_level(Object *obj, Visitor *v, void
>>>>> *opaque,
>>>>> +                                const char *name, Error **errp)
>>>>> +{
>>>>> +    X86CPU *cpu = X86_CPU(obj);
>>>>> +    uint32_t value;
>>>>> +
>>>>> +    visit_type_uint32(v, &value, name, errp);
>>>>> +    if (error_is_set(errp)) {
>>>>> +        return;
>>>>> +    }
>>>>> +
>>>>> +    if (value != 0 && value < 0x40000000) {
>>>>> +        value += 0x40000000;
>>>>> +    }
>>>> Whats the purpose of this? Adds ambiguity.
> [...]
>> This is direct copy with adjustment from x86_cpuid_set_xlevel():
>>
>>      if (value < 0x80000000) {
>>          value += 0x80000000;
>>      }
>>
>> (Pending patch:
>> http://comments.gmane.org/gmane.comp.emulators.qemu/172703 adds this)
> (Any pending patch can be changed ;))
>
>> The adjustment is that 0 is a legal value. See
>> http://lkml.indiana.edu/hypermail/linux/kernel/1205.0/00100.html
>>
>> This does mean that just like xlevel=1 and xlevel=0x80000001 are the
>> same; hypervisor-level=1 and hypervisor-level=0x4000001 are the same.
>> If this is not wanted, I have no issue with removing it.
> I have no strong opinion either way, but if there's only one call site,
> I'd prefer to apply these fixups to user input before setting the
> property and to have the property setter error out on invalid values. I
> consider that cleaner than silently fixing up values inside the setter.
>
> Regards,
> Andreas
>
I find more then one call site.  And one of them is converting the 
predefined x86 cpus (like 486).  So I am not planning on a change.

I have finished up the v7 changes except for this.  I will wait until 
some time tomorrow to send it in case there is more on this topic.
     -Don Slutz

  reply	other threads:[~2012-10-11 22:20 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-24 14:32 [PATCH v6 00/16] Allow changing of Hypervisor CPUIDs Don Slutz
2012-09-24 14:32 ` [Qemu-devel] " Don Slutz
2012-09-24 14:32 ` [PATCH v6 01/16] target-i386: Add missing kvm bits Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-09-24 14:32 ` [PATCH v6 02/16] target-i386: Add Hypervisor level Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-09-24 14:32 ` [PATCH v6 03/16] target-i386: Add cpu object access routines for " Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-10-09 16:25   ` Marcelo Tosatti
2012-10-09 19:13     ` Don Slutz
2012-10-09 19:13       ` [Qemu-devel] " Don Slutz
2012-10-10 15:22       ` Don Slutz
2012-10-10 15:22         ` [Qemu-devel] " Don Slutz
2012-10-10 15:40         ` Andreas Färber
2012-10-10 15:40           ` [Qemu-devel] " Andreas Färber
2012-10-11 22:20           ` Don Slutz [this message]
2012-10-11 22:20             ` Don Slutz
2012-09-24 14:32 ` [PATCH v6 04/16] target-i386: Add x86_set_hyperv Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-10-09 16:34   ` Marcelo Tosatti
2012-10-09 17:17     ` Marcelo Tosatti
2012-10-09 17:17       ` [Qemu-devel] " Marcelo Tosatti
2012-10-09 19:12       ` Don Slutz
2012-10-09 19:12         ` [Qemu-devel] " Don Slutz
2012-10-09 19:15         ` Marcelo Tosatti
2012-10-09 19:15           ` [Qemu-devel] " Marcelo Tosatti
2012-09-24 14:32 ` [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc,accel=kvm Don Slutz
2012-09-24 14:32   ` [Qemu-devel] [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc, accel=kvm Don Slutz
2012-10-09 17:18   ` [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc,accel=kvm Marcelo Tosatti
2012-10-09 17:18     ` [Qemu-devel] [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc, accel=kvm Marcelo Tosatti
2012-10-09 18:27     ` Marcelo Tosatti
2012-10-09 18:27       ` [Qemu-devel] " Marcelo Tosatti
2012-10-09 18:47       ` Marcelo Tosatti
2012-10-09 18:47         ` [Qemu-devel] " Marcelo Tosatti
2012-10-09 19:09         ` [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc,accel=kvm Don Slutz
2012-10-09 19:09           ` [Qemu-devel] [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc, accel=kvm Don Slutz
2012-10-09 19:11           ` [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc,accel=kvm Marcelo Tosatti
2012-10-09 19:11             ` [Qemu-devel] [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc, accel=kvm Marcelo Tosatti
2012-10-10 13:03             ` [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc,accel=kvm Don Slutz
2012-10-10 13:03               ` [Qemu-devel] [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc, accel=kvm Don Slutz
2012-10-10 14:08               ` [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc,accel=kvm Marcelo Tosatti
2012-10-10 14:08                 ` [Qemu-devel] [PATCH v6 05/16] target-i386: Use Hypervisor level in -machine pc, accel=kvm Marcelo Tosatti
2012-09-24 14:32 ` [PATCH v6 06/16] target-i386: Use Hypervisor level in -machine pc,accel=tcg Don Slutz
2012-09-24 14:32   ` [Qemu-devel] [PATCH v6 06/16] target-i386: Use Hypervisor level in -machine pc, accel=tcg Don Slutz
2012-10-09 19:01   ` [PATCH v6 06/16] target-i386: Use Hypervisor level in -machine pc,accel=tcg Marcelo Tosatti
2012-10-09 19:01     ` [Qemu-devel] [PATCH v6 06/16] target-i386: Use Hypervisor level in -machine pc, accel=tcg Marcelo Tosatti
2012-10-10 13:07     ` [PATCH v6 06/16] target-i386: Use Hypervisor level in -machine pc,accel=tcg Don Slutz
2012-10-10 13:07       ` [Qemu-devel] [PATCH v6 06/16] target-i386: Use Hypervisor level in -machine pc, accel=tcg Don Slutz
2012-09-24 14:32 ` [PATCH v6 07/16] target-i386: Add Hypervisor vendor Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-09-24 14:32 ` [PATCH v6 08/16] target-i386: Add cpu object access routines for " Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-10-09 19:02   ` Marcelo Tosatti
2012-10-09 19:02     ` [Qemu-devel] " Marcelo Tosatti
2012-09-24 14:32 ` [PATCH v6 09/16] target-i386: Use Hypervisor vendor in -machine pc,accel=kvm Don Slutz
2012-09-24 14:32   ` [Qemu-devel] [PATCH v6 09/16] target-i386: Use Hypervisor vendor in -machine pc, accel=kvm Don Slutz
2012-09-24 14:32 ` [PATCH v6 10/16] target-i386: Use Hypervisor vendor in -machine pc,accel=tcg Don Slutz
2012-09-24 14:32   ` [Qemu-devel] [PATCH v6 10/16] target-i386: Use Hypervisor vendor in -machine pc, accel=tcg Don Slutz
2012-09-24 14:32 ` [PATCH v6 11/16] target-i386: Add some known names to Hypervisor vendor Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-09-24 14:32 ` [PATCH v6 12/16] target-i386: Add optional Hypervisor leaf extra Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-09-24 14:32 ` [PATCH v6 13/16] target-i386: Add cpu object access routines for " Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-09-24 14:32 ` [PATCH v6 14/16] target-i386: Add setting of Hypervisor leaf extra for known vmare4 Don Slutz
2012-09-24 14:32   ` [Qemu-devel] " Don Slutz
2012-10-09 19:09   ` Marcelo Tosatti
2012-10-09 19:09     ` [Qemu-devel] " Marcelo Tosatti
2012-09-24 14:32 ` [PATCH v6 15/16] target-i386: Use Hypervisor leaf extra in -machine pc,accel=kvm Don Slutz
2012-09-24 14:32   ` [Qemu-devel] [PATCH v6 15/16] target-i386: Use Hypervisor leaf extra in -machine pc, accel=kvm Don Slutz
2012-09-24 14:32 ` [PATCH v6 16/16] target-i386: Use Hypervisor leaf extra in -machine pc,accel=tcg Don Slutz
2012-09-24 14:32   ` [Qemu-devel] [PATCH v6 16/16] target-i386: Use Hypervisor leaf extra in -machine pc, accel=tcg Don Slutz

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=50774611.1020505@CloudSwitch.Com \
    --to=don@cloudswitch.com \
    --cc=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=peter.maydell@linaro.org \
    --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.