From: Igor Mammedov <imammedo@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
qemu-devel@nongnu.org, kvm@vger.kernel.org,
libvir-list@redhat.com, "Jiri Denemark" <jdenemar@redhat.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [uq/master PATCH 0/7] x86 CPU subclasses, take 7
Date: Fri, 31 Jan 2014 17:06:21 +0100 [thread overview]
Message-ID: <20140131170621.3857e584@thinkpad> (raw)
In-Reply-To: <20140131151753.GY2221@otherpad.lan.raisama.net>
On Fri, 31 Jan 2014 13:17:53 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:
> On Fri, Jan 31, 2014 at 03:50:23PM +0100, Paolo Bonzini wrote:
> > Il 31/01/2014 15:48, Igor Mammedov ha scritto:
> > >that's abusing of object-add interface and due to recent changes, object-add
> > >won't accept arbitrary objects.
> >
> > I hope that sooner or later device hotplug will be doable with
> > object-add too. But yes, in the meanwhile device_add could work,
> > and this patch series is in the right direction anyway.
>
> In that case, what is holding us from setting
> cannot_instantiate_with_device_add_yet on TYPE_X86_CPU? I don't think we
> can recommend using "-device" for CPUs just yet, but we would need to
> allow it in case object-add doesn't work.
>
> (But I liked the fact that object-add worked and (it looks like) it
> didn't run realize(). All libvirt needs is to be able to create the
> object and get instance_init() run, no need for realize() to run.)
>
> I still need to read the reasoning behind the object-add changes. But is
> there some chance we could allow object-add to work for TYPE_X86_CPU
> subclasses, to avoid the device_add/cannot_instantiate_with_device_add_yet issues?
you can hack around by inheriting from UserCreatable interface,
but question is what kind of information libvirt would expect from
-object xxx-cpu
if it's going to read/interpret feature words then CPU.instance_init()
is not sufficient, since properties (read as compat props) and
realize() itself are changing feature words and CPU model guest is going
to see is very different from what -object would create.
It looks like only -device would be able to create actual CPU models,
but for -device to work we need as minimum this series and conversion
of CPU features to properties in tree. Then I guess we can override
cannot_instantiate_with_device_add_yet for x86 CPUs.
>
> --
> Eduardo
--
Regards,
Igor
WARNING: multiple messages have this Message-ID (diff)
From: Igor Mammedov <imammedo@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: kvm@vger.kernel.org, libvir-list@redhat.com,
qemu-devel@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Jiri Denemark" <jdenemar@redhat.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [uq/master PATCH 0/7] x86 CPU subclasses, take 7
Date: Fri, 31 Jan 2014 17:06:21 +0100 [thread overview]
Message-ID: <20140131170621.3857e584@thinkpad> (raw)
In-Reply-To: <20140131151753.GY2221@otherpad.lan.raisama.net>
On Fri, 31 Jan 2014 13:17:53 -0200
Eduardo Habkost <ehabkost@redhat.com> wrote:
> On Fri, Jan 31, 2014 at 03:50:23PM +0100, Paolo Bonzini wrote:
> > Il 31/01/2014 15:48, Igor Mammedov ha scritto:
> > >that's abusing of object-add interface and due to recent changes, object-add
> > >won't accept arbitrary objects.
> >
> > I hope that sooner or later device hotplug will be doable with
> > object-add too. But yes, in the meanwhile device_add could work,
> > and this patch series is in the right direction anyway.
>
> In that case, what is holding us from setting
> cannot_instantiate_with_device_add_yet on TYPE_X86_CPU? I don't think we
> can recommend using "-device" for CPUs just yet, but we would need to
> allow it in case object-add doesn't work.
>
> (But I liked the fact that object-add worked and (it looks like) it
> didn't run realize(). All libvirt needs is to be able to create the
> object and get instance_init() run, no need for realize() to run.)
>
> I still need to read the reasoning behind the object-add changes. But is
> there some chance we could allow object-add to work for TYPE_X86_CPU
> subclasses, to avoid the device_add/cannot_instantiate_with_device_add_yet issues?
you can hack around by inheriting from UserCreatable interface,
but question is what kind of information libvirt would expect from
-object xxx-cpu
if it's going to read/interpret feature words then CPU.instance_init()
is not sufficient, since properties (read as compat props) and
realize() itself are changing feature words and CPU model guest is going
to see is very different from what -object would create.
It looks like only -device would be able to create actual CPU models,
but for -device to work we need as minimum this series and conversion
of CPU features to properties in tree. Then I guess we can override
cannot_instantiate_with_device_add_yet for x86 CPUs.
>
> --
> Eduardo
--
Regards,
Igor
next prev parent reply other threads:[~2014-01-31 16:06 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-30 19:48 [uq/master PATCH 0/7] x86 CPU subclasses, take 7 Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-01-30 19:48 ` [uq/master PATCH 1/7] target-i386: Eliminate CONFIG_KVM #ifdefs Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 11:42 ` Paolo Bonzini
2014-01-31 11:42 ` [Qemu-devel] " Paolo Bonzini
2014-01-30 19:48 ` [uq/master PATCH 2/7] target-i386: Don't change x86_def_t struct on cpu_x86_register() Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 11:42 ` Paolo Bonzini
2014-01-31 11:42 ` [Qemu-devel] " Paolo Bonzini
2014-01-30 19:48 ` [uq/master PATCH 3/7] target-i386: Move KVM default-vendor hack to instance_init Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 11:42 ` Paolo Bonzini
2014-01-31 11:42 ` [Qemu-devel] " Paolo Bonzini
2014-01-30 19:48 ` [uq/master PATCH 4/7] target-i386: Rename cpu_x86_register() to x86_cpu_load_def() Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 11:42 ` Paolo Bonzini
2014-01-31 11:42 ` [Qemu-devel] " Paolo Bonzini
2014-02-10 0:03 ` Andreas Färber
2014-01-30 19:48 ` [uq/master PATCH 5/7] target-i386: Call x86_cpu_load_def() earlier Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-02-10 0:13 ` Andreas Färber
2014-02-10 0:13 ` [Qemu-devel] " Andreas Färber
2014-01-30 19:48 ` [uq/master PATCH 6/7] target-i386: Rename x86_def_t to X86CPUDefinition Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 11:42 ` Paolo Bonzini
2014-01-31 11:42 ` [Qemu-devel] " Paolo Bonzini
2014-02-10 0:14 ` Andreas Färber
2014-01-30 19:48 ` [uq/master PATCH 7/7] target-i386: CPU model subclasses Eduardo Habkost
2014-01-30 19:48 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 17:20 ` Eduardo Habkost
2014-01-31 17:20 ` Eduardo Habkost
2014-01-31 18:13 ` [uq/master PATCH 7/7 v8] " Eduardo Habkost
2014-01-31 18:13 ` [Qemu-devel] " Eduardo Habkost
2014-02-10 0:23 ` Andreas Färber
2014-02-10 0:23 ` Andreas Färber
2014-02-10 8:19 ` Eduardo Habkost
2014-02-10 8:19 ` Eduardo Habkost
2014-02-10 8:26 ` Eduardo Habkost
2014-02-10 8:26 ` Eduardo Habkost
2014-02-10 10:21 ` [qom-cpu PATCH 7/7 v9] " Eduardo Habkost
2014-02-10 10:21 ` [Qemu-devel] " Eduardo Habkost
2014-02-10 22:39 ` Andreas Färber
2014-02-10 22:39 ` [Qemu-devel] " Andreas Färber
2014-02-11 8:05 ` Eduardo Habkost
2014-02-11 8:05 ` [Qemu-devel] " Eduardo Habkost
2014-02-11 8:07 ` Paolo Bonzini
2014-02-11 8:07 ` [Qemu-devel] " Paolo Bonzini
2014-02-10 9:48 ` [Qemu-devel] [uq/master PATCH 7/7 v8] " Igor Mammedov
2014-02-10 9:48 ` Igor Mammedov
2014-01-30 21:47 ` [uq/master PATCH 0/7] x86 CPU subclasses, take 7 Paolo Bonzini
2014-01-30 21:47 ` [Qemu-devel] " Paolo Bonzini
2014-01-31 11:30 ` Andreas Färber
2014-01-31 11:30 ` [Qemu-devel] " Andreas Färber
2014-01-31 11:42 ` Paolo Bonzini
2014-01-31 11:42 ` [Qemu-devel] " Paolo Bonzini
2014-01-31 12:17 ` Eduardo Habkost
2014-01-31 12:17 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 12:14 ` Eduardo Habkost
2014-01-31 12:14 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 14:36 ` Igor Mammedov
2014-01-31 14:36 ` [Qemu-devel] " Igor Mammedov
2014-01-31 14:48 ` Igor Mammedov
2014-01-31 14:48 ` Igor Mammedov
2014-01-31 14:50 ` Paolo Bonzini
2014-01-31 14:50 ` Paolo Bonzini
2014-01-31 15:17 ` Eduardo Habkost
2014-01-31 15:17 ` Eduardo Habkost
2014-01-31 16:06 ` Igor Mammedov [this message]
2014-01-31 16:06 ` Igor Mammedov
2014-01-31 16:42 ` Eduardo Habkost
2014-01-31 16:42 ` Eduardo Habkost
2014-01-31 16:52 ` Paolo Bonzini
2014-01-31 16:52 ` Paolo Bonzini
2014-01-31 18:51 ` Eduardo Habkost
2014-01-31 18:51 ` Eduardo Habkost
2014-01-31 18:56 ` [libvirt] " Eric Blake
2014-01-31 18:56 ` [Qemu-devel] [libvirt] " Eric Blake
2014-01-31 19:08 ` [libvirt] [Qemu-devel] " Eduardo Habkost
2014-01-31 19:08 ` [Qemu-devel] [libvirt] " Eduardo Habkost
2014-01-31 19:18 ` Igor Mammedov
2014-01-31 19:18 ` Igor Mammedov
2014-01-31 19:25 ` Eduardo Habkost
2014-01-31 19:25 ` Eduardo Habkost
2014-01-31 15:10 ` [Qemu-devel] " Eduardo Habkost
2014-01-31 15:10 ` Eduardo Habkost
2014-01-31 15:11 ` Paolo Bonzini
2014-01-31 15:11 ` Paolo Bonzini
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=20140131170621.3857e584@thinkpad \
--to=imammedo@redhat.com \
--cc=afaerber@suse.de \
--cc=ehabkost@redhat.com \
--cc=jdenemar@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=libvir-list@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.