From: Gleb Natapov <gleb@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Blue Swirl <blauwirbel@gmail.com>,
Chris Wright <chrisw@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] KVM call minutes for Feb 8
Date: Thu, 10 Feb 2011 11:07:48 +0200 [thread overview]
Message-ID: <20110210090748.GD673@redhat.com> (raw)
In-Reply-To: <4D539800.3070802@codemonkey.ws>
On Thu, Feb 10, 2011 at 08:47:12AM +0100, Anthony Liguori wrote:
> On 02/09/2011 09:15 PM, Blue Swirl wrote:
> >On Wed, Feb 9, 2011 at 9:59 PM, Anthony Liguori<anthony@codemonkey.ws> wrote:
> >>On 02/09/2011 06:48 PM, Blue Swirl wrote:
> >>>>ISASerialState dev;
> >>>>
> >>>>isa_serial_init(&dev, 0, 0x274, 0x07, NULL, NULL);
> >>>>
> >>>Do you mean that there should be a generic way of doing that, like
> >>>sysbus_create_varargs() for qdev, or just add inline functions which
> >>>hide qdev property setup?
> >>>
> >>>I still think that FDT should be used in the future. That would
> >>>require that the properties can be set up mechanically, and I don't
> >>>see how your proposal would help that.
> >>>
> >>Yeah, I don't think that is a good idea anymore. I think this is part of
> >>why we're having so many problems with qdev.
> >>
> >>While (most?) hardware hierarchies can be represented by device tree syntax,
> >>not all valid device trees correspond to interface and/or useful hardware
> >>hierarchies.
> >User creates a non-working machine and so gets to fix the problems?
> >How is that a problem for us?
>
> It's not about creating a non-working machine. It's about what
> user-level abstraction we need to provide.
>
> It's a whole lot easier to implement an i440fx device with a fixed
> set of parameters than it is to make every possible subdevice have a
> proper factory interface along with mechanisms to hook everything
> together.
>
So what if it is easier, it doesn't mean it is correct thing to do. What
you are proposing is just a huge step backwards. May be we shouldn't
support hooking everything together in completely arbitrary ways, but we
shouldn't force isa/pci devices upon our users just because they are
non-removable on real chip.
> Basically, we're making things much harder for ourselves than we should.
>
> >>We want to have an interface to create large chunks of hardware (like an
> >>i440fx) which then results in a significant portion of a device tree.
> >But how would this affect interface to devices? I don't see how that
> >would be any different with current model and the function call model.
>
> If all composition is done through a factory interface, it doesn't.
> But my main argument here is that we shouldn't try to make all
> composition done through a factory interface--only where it makes
> sense.
>
> So very concretely, I'm suggesting we do the following to target-i386:
>
> 1) make the i440fx device have an embedded ide controller, piix3,
> and usb controller that get initialized automatically. The piix3
> embeds the PCI-to-ISA bridge along with all of the default ISA
> devices (rtc, serial, etc.).
This may be a problem even from security point of view. What if usb code
(ide, serial, parallel) has guest exploitable bug? Currently I can happily
continue running guests if they do not need affected subsystem. If we'll
get it your way I will no longer be able to do so.
>
> 2) get rid of the entire concept of machines. Creating a i440fx is
> essentially equivalent to creating a bare machine.
>
> 3) just use the existing -device infrastructure to support all of
> this. A very simple device config corresponds to a very complex
> device tree but that's the desired effect.
>
> 4) model the CPUs as devices that take a pointer to a host
> controller, for x86, the normal case would be giving it a pointer to
> i440fx.
>
> Regards,
>
> Anthony Liguori
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Gleb.
next prev parent reply other threads:[~2011-02-10 9:07 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-08 15:55 KVM call minutes for Feb 8 Chris Wright
2011-02-08 15:55 ` [Qemu-devel] " Chris Wright
2011-02-08 16:14 ` Stefan Hajnoczi
2011-02-08 16:14 ` [Qemu-devel] " Stefan Hajnoczi
2011-02-08 16:39 ` [Qemu-devel] " Anthony Liguori
2011-02-08 16:39 ` Anthony Liguori
2011-02-08 17:13 ` Markus Armbruster
2011-02-08 17:13 ` Markus Armbruster
2011-02-08 19:02 ` Peter Maydell
2011-02-08 21:11 ` Anthony Liguori
2011-02-08 21:11 ` Anthony Liguori
2011-02-09 8:11 ` Markus Armbruster
2011-02-09 8:20 ` Peter Maydell
2011-02-09 9:02 ` Markus Armbruster
2011-02-08 19:30 ` Alexander Graf
2011-02-08 19:30 ` Aurelien Jarno
2011-02-09 8:23 ` Markus Armbruster
2011-02-09 10:43 ` Anthony Liguori
2011-02-09 10:43 ` Anthony Liguori
2011-02-09 17:38 ` Blue Swirl
2011-02-09 17:38 ` Blue Swirl
2011-02-08 21:12 ` Anthony Liguori
2011-02-09 8:01 ` Markus Armbruster
2011-02-09 10:31 ` Anthony Liguori
2011-02-09 12:28 ` Markus Armbruster
2011-02-09 14:44 ` Anthony Liguori
2011-02-09 17:48 ` Blue Swirl
2011-02-09 17:48 ` Blue Swirl
2011-02-09 19:53 ` Anthony Liguori
2011-02-09 19:59 ` Anthony Liguori
2011-02-09 20:15 ` Blue Swirl
2011-02-10 7:47 ` Anthony Liguori
2011-02-10 8:16 ` Peter Maydell
2011-02-10 8:36 ` Anthony Liguori
2011-02-10 9:04 ` Peter Maydell
2011-02-10 10:13 ` Anthony Liguori
2011-02-10 10:38 ` Peter Maydell
2011-02-10 11:24 ` Gleb Natapov
2011-02-10 11:24 ` Gleb Natapov
2011-02-10 12:23 ` Anthony Liguori
2011-02-10 13:06 ` Peter Maydell
2011-02-10 19:17 ` Scott Wood
2011-02-10 19:17 ` Scott Wood
2011-02-10 19:22 ` Peter Maydell
2011-02-10 19:22 ` Peter Maydell
2011-02-10 19:29 ` Scott Wood
2011-02-10 19:29 ` Scott Wood
2011-02-10 9:07 ` Gleb Natapov [this message]
2011-02-10 10:00 ` Anthony Liguori
2011-02-10 10:10 ` Gleb Natapov
2011-02-10 10:19 ` Anthony Liguori
2011-02-10 10:49 ` Gleb Natapov
2011-02-10 12:47 ` Anthony Liguori
2011-02-10 13:12 ` Gleb Natapov
2011-02-10 10:25 ` Avi Kivity
2011-02-10 10:25 ` Avi Kivity
2011-02-10 11:13 ` Gleb Natapov
2011-02-10 11:13 ` Gleb Natapov
2011-02-10 12:51 ` Anthony Liguori
2011-02-10 12:51 ` Anthony Liguori
2011-02-10 13:00 ` Avi Kivity
2011-02-10 13:00 ` Avi Kivity
2011-02-10 13:29 ` Gleb Natapov
2011-02-10 13:29 ` Gleb Natapov
2011-02-10 14:00 ` Anthony Liguori
2011-02-10 14:00 ` Anthony Liguori
2011-02-10 13:27 ` Gleb Natapov
2011-02-10 13:27 ` Gleb Natapov
2011-02-10 14:04 ` Anthony Liguori
2011-02-10 14:20 ` Gleb Natapov
2011-02-10 16:05 ` Anthony Liguori
2011-02-11 18:14 ` Blue Swirl
2011-02-11 18:14 ` Blue Swirl
2011-02-13 9:24 ` Gleb Natapov
2011-02-13 9:24 ` Gleb Natapov
2011-02-13 15:31 ` Anthony Liguori
2011-02-13 15:31 ` Anthony Liguori
2011-02-13 19:37 ` Blue Swirl
2011-02-13 19:37 ` Blue Swirl
2011-02-13 19:57 ` Anthony Liguori
2011-02-13 19:57 ` Anthony Liguori
2011-02-13 21:00 ` Blue Swirl
2011-02-13 21:00 ` Blue Swirl
2011-02-13 22:42 ` Anthony Liguori
2011-02-13 22:42 ` Anthony Liguori
2011-02-14 17:31 ` Blue Swirl
2011-02-14 17:31 ` Blue Swirl
2011-02-14 20:53 ` Anthony Liguori
2011-02-14 20:53 ` Anthony Liguori
2011-02-14 21:25 ` Blue Swirl
2011-02-14 21:25 ` Blue Swirl
2011-02-14 21:47 ` Anthony Liguori
2011-02-14 21:47 ` Anthony Liguori
2011-02-15 17:11 ` Blue Swirl
2011-02-15 17:11 ` Blue Swirl
2011-02-15 23:07 ` Anthony Liguori
2011-02-15 23:07 ` Anthony Liguori
2011-02-16 9:52 ` Gleb Natapov
2011-02-16 9:52 ` Gleb Natapov
2011-02-14 9:44 ` Paolo Bonzini
2011-02-14 9:44 ` Paolo Bonzini
2011-02-10 10:29 ` Avi Kivity
2011-02-13 15:38 ` Anthony Liguori
2011-02-13 15:38 ` Anthony Liguori
2011-02-13 15:56 ` Avi Kivity
2011-02-13 16:56 ` Anthony Liguori
2011-02-13 18:08 ` Gleb Natapov
2011-02-13 18:08 ` Gleb Natapov
2011-02-13 19:38 ` Anthony Liguori
2011-02-14 10:23 ` Gleb Natapov
2011-02-13 21:24 ` Peter Maydell
2011-02-13 21:24 ` Peter Maydell
2011-02-13 22:43 ` Anthony Liguori
2011-02-13 22:43 ` Anthony Liguori
2011-02-13 23:35 ` Peter Maydell
2011-02-13 15:39 ` Anthony Liguori
2011-02-13 15:39 ` Anthony Liguori
2011-02-11 17:54 ` Blue Swirl
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=20110210090748.GD673@redhat.com \
--to=gleb@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=armbru@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=chrisw@redhat.com \
--cc=kvm@vger.kernel.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.