All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy-TSDbQ3PG+2Y@public.gmane.org>
To: Zachary Amsden <zach-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
Cc: kvm-devel
	<kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>,
	James Bottomley
	<James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>,
	virtualization
	<virtualization-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>,
	"H. Peter Anvin" <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH 0/5] KVM paravirt_ops implementation
Date: Wed, 20 Jun 2007 14:07:34 -0700	[thread overview]
Message-ID: <46799716.9040402@goop.org> (raw)
In-Reply-To: <46799001.5020807-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>

Zachary Amsden wrote:
> Yes, but if we want to stay with that forward compatibility story, we 
> need a way to allow paravirt device probing to be completely 
> orthogonal to paravirt-ops probing.  Either the VMware hypervisor 
> needs to NOT implement a CPUID leaf, keeping the same ROM based 
> detection, or other VMI client drivers (say, as a wild example, a KVM 
> driver running on a VMI to KVM paravirt-ops backend) need not to check 
> CPUID leaf as a condition of execution.

Yes, this is something that keeps coming up.  hpa originally floated the 
idea of reserving some PCI bus namespace as a gateway for probing for 
virtual/paravirtual devices, and Jun Nakajima proposed it again in the 
context of smart hardware which is virtualization friendly (ie, how to 
represent PCI-IOV to guests).

I'm not wildly happy about the idea of using PCI for probing for 
otherwise completely non-PCI devices, but some kind of probing mechanism 
might be nice in the general case.  Xen deals with it with Xenbus, but I 
figure I'm unlikely to convince everyone to adopt that.

> We at least would like to use a CPUID leaf for the core paravirt-ops 
> on 64-bit and get rid of the need for ROM probing in that case, which 
> would mean we either need a CPUID sub-leaf for the device model, a 
> completely identical device model, or completely orthogonal device 
> probing.

Well, cpuid leaf 0x40000000 seems to be gaining currency as a 
(semi-?)formal way for hypervisors to advertise themselves, so that 
seems completely doable.

>   Since there hasn't been a formal specification for how the device 
> probing should work, or, at least, I don't know all the details of how 
> device probing works for all the various hypervisors, I worry that 
> weird ad-hoc tests could trample the compatibility effort.

Yes.  That's the thinking behind using PCI as a somewhat common 
mechanism for device discovery.  s390 folks hate it, of course.

> The completely identical device model is of course ideal, but the 
> implementation and consolidation of that is a long term prospect to 
> move towards, not something that will happen immediately.  We at least 
> emulate physical hardware devices already, and will continue to need 
> drivers compatible with those models for some time.

Well, physical devices and completely emulated physical devices are 
fairly straightforward - do it like real hardware.  Its the semi-virtual 
devices which pose problems.  Either device emulations with a bit of 
performance paravirtualization sprinkled over them, or virtualization 
friendly devices which allow safe direct guest access, but need some 
paravirtual management interfaces as well.

    J

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/

  parent reply	other threads:[~2007-06-20 21:07 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-18  2:56 [PATCH 0/5] KVM paravirt_ops implementation Anthony Liguori
     [not found] ` <4675F462.1010708-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18  2:58   ` [PATCH 1/5] KVM paravirt_ops core infrastructure Anthony Liguori
     [not found]     ` <4675F4C3.6050700-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18  8:03       ` Avi Kivity
     [not found]         ` <46763C6B.9050004-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 12:25           ` Anthony Liguori
     [not found]             ` <467679C5.6030201-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 12:28               ` Avi Kivity
2007-06-26  8:04       ` Dor Laor
     [not found]         ` <64F9B87B6B770947A9F8391472E032160C73025E-yEcIvxbTEBqsx+V+t5oei8rau4O3wl8o3fe8/T/H7NteoWH0uzbU5w@public.gmane.org>
2007-06-26  8:45           ` Jun Koi
     [not found]             ` <fdaac4d50706260145x1ebceadt432edd5b6a6ac1f2-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2007-06-26 11:57               ` Anthony Liguori
2007-06-26 11:56           ` Anthony Liguori
2007-06-18  2:58   ` [PATCH 2/5] KVM: Implement CR read caching for KVM paravirt_ops Anthony Liguori
     [not found]     ` <4675F4F1.5090207-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18  8:05       ` Avi Kivity
     [not found]         ` <46763CD3.3060704-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 12:26           ` Anthony Liguori
2007-06-18  8:11       ` Avi Kivity
     [not found]         ` <46763E35.8020108-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 12:27           ` Anthony Liguori
2007-06-18  3:00   ` [PATCH 3/5] KVM: Add paravirt MMU write support Anthony Liguori
     [not found]     ` <4675F533.40809-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18  8:20       ` Avi Kivity
     [not found]         ` <46764061.9080705-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 12:33           ` Anthony Liguori
     [not found]             ` <46767B8C.9050001-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 12:38               ` Avi Kivity
     [not found]                 ` <46767CD1.7030208-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 12:48                   ` Anthony Liguori
2007-06-19 21:57           ` Anthony Liguori
     [not found]             ` <46785132.3070505-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-19 22:19               ` Jeremy Fitzhardinge
     [not found]                 ` <4678567C.6040400-TSDbQ3PG+2Y@public.gmane.org>
2007-06-19 22:28                   ` Anthony Liguori
2007-06-18  3:00   ` [PATCH 4/5] KVM: Add hypercall queue for paravirt_ops implementation Anthony Liguori
     [not found]     ` <4675F568.90608-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18  4:00       ` Jeremy Fitzhardinge
     [not found]         ` <46760343.5070401-TSDbQ3PG+2Y@public.gmane.org>
2007-06-18  4:09           ` Jeremy Fitzhardinge
2007-06-18 12:22           ` Anthony Liguori
2007-06-18  9:07       ` Avi Kivity
     [not found]         ` <46764B47.5060403-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 12:40           ` Anthony Liguori
     [not found]             ` <46767D47.1010104-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 12:50               ` Avi Kivity
     [not found]                 ` <46767F98.70109-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 13:03                   ` Gregory Haskins
     [not found]                     ` <1182171781.4593.38.camel-5CR4LY5GPkvLDviKLk5550HKjMygAv58XqFh9Ls21Oc@public.gmane.org>
2007-06-18 13:19                       ` Anthony Liguori
     [not found]                         ` <4676867E.1090208-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 13:25                           ` Gregory Haskins
2007-06-18 13:22                   ` Anthony Liguori
     [not found]                     ` <46768724.3000509-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 13:35                       ` Avi Kivity
     [not found]                         ` <46768A3F.2010202-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 14:02                           ` Anthony Liguori
     [not found]                             ` <4676905B.6000805-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 15:08                               ` Avi Kivity
     [not found]                                 ` <46769FFE.6040502-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 15:20                                   ` Anthony Liguori
     [not found]                                     ` <4676A2D4.2040704-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 16:01                                       ` Avi Kivity
2007-06-18 16:00                                   ` Avi Kivity
     [not found]                                     ` <4676AC10.3090007-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-18 17:47                                       ` Anthony Liguori
2007-06-18  3:03   ` [PATCH 5/5] KVM: paravirt time source Anthony Liguori
     [not found]     ` <4675F601.3090706-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18  9:24       ` Avi Kivity
2007-06-18 19:11       ` Jeremy Fitzhardinge
     [not found]         ` <4676D8E4.3020806-TSDbQ3PG+2Y@public.gmane.org>
2007-06-18 21:52           ` Anthony Liguori
     [not found]             ` <4676FEB9.6060308-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 22:04               ` Jeremy Fitzhardinge
     [not found]                 ` <46770162.6030101-TSDbQ3PG+2Y@public.gmane.org>
2007-06-18 23:33                   ` Anthony Liguori
     [not found]                     ` <4677163F.2030308-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 23:56                       ` Jeremy Fitzhardinge
     [not found]                         ` <46771BA0.2000308-TSDbQ3PG+2Y@public.gmane.org>
2007-06-19  0:53                           ` Anthony Liguori
2007-06-19  7:44                       ` Avi Kivity
     [not found]                         ` <4677894D.3050500-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-06-19  8:04                           ` Rusty Russell
2007-06-19 20:38           ` Anthony Liguori
     [not found]             ` <46783EDB.5010808-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-19 21:26               ` Jeremy Fitzhardinge
     [not found]                 ` <46784A0E.3080502-TSDbQ3PG+2Y@public.gmane.org>
2007-06-19 21:38                   ` Anthony Liguori
2007-06-21  7:04               ` Dong, Eddie
2007-06-18  3:19   ` [PATCH 0/5] KVM paravirt_ops implementation Jeremy Fitzhardinge
     [not found]     ` <4675F9DE.6080806-TSDbQ3PG+2Y@public.gmane.org>
2007-06-18  3:36       ` Anthony Liguori
     [not found]         ` <4675FDCA.4040006-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18  4:21           ` Jeremy Fitzhardinge
     [not found]             ` <4676084F.3090901-TSDbQ3PG+2Y@public.gmane.org>
2007-06-18 12:46               ` Anthony Liguori
     [not found]                 ` <46767EB2.4090707-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-18 14:46                   ` Jeremy Fitzhardinge
     [not found]                     ` <46769AD2.9080105-TSDbQ3PG+2Y@public.gmane.org>
2007-06-18 15:07                       ` Anthony Liguori
2007-06-20  0:21               ` Zachary Amsden
     [not found]                 ` <46787325.30804-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-06-20 14:22                   ` Anthony Liguori
     [not found]                     ` <4679381E.9090404-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-20 15:32                       ` Jeremy Fitzhardinge
     [not found]                         ` <46794899.6070708-TSDbQ3PG+2Y@public.gmane.org>
2007-06-20 19:35                           ` Zachary Amsden
     [not found]                             ` <46798174.2060304-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-06-20 19:47                               ` Jeremy Fitzhardinge
2007-06-20 19:52                               ` Anthony Liguori
     [not found]                                 ` <46798597.4020903-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-20 20:03                                   ` Zachary Amsden
     [not found]                                     ` <4679882B.7070605-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-06-20 20:16                                       ` Jeremy Fitzhardinge
     [not found]                                         ` <46798B16.5090407-TSDbQ3PG+2Y@public.gmane.org>
2007-06-20 20:27                                           ` Anthony Liguori
     [not found]                                             ` <46798D9B.5000400-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-20 20:33                                               ` Jeremy Fitzhardinge
     [not found]                                                 ` <46798F1A.4090901-TSDbQ3PG+2Y@public.gmane.org>
2007-06-20 20:46                                                   ` Zachary Amsden
     [not found]                                                     ` <4679921A.8090607-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-06-20 20:55                                                       ` Jeremy Fitzhardinge
2007-06-20 22:08                                                   ` Anthony Liguori
     [not found]                                                     ` <4679A54F.5020908-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-20 22:33                                                       ` Jeremy Fitzhardinge
2007-06-20 20:43                                               ` Zachary Amsden
     [not found]                                                 ` <46799157.3070805-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-06-20 20:53                                                   ` Jeremy Fitzhardinge
     [not found]                                                     ` <467993B1.6000307-TSDbQ3PG+2Y@public.gmane.org>
2007-06-20 21:08                                                       ` Zachary Amsden
     [not found]                                                         ` <46799755.8060405-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-06-20 21:48                                                           ` Jeremy Fitzhardinge
2007-06-20 22:39                                                   ` Anthony Liguori
2007-06-20 20:22                                       ` Anthony Liguori
     [not found]                                         ` <46798C99.8010303-rdkfGonbjUSkNkDKm+mE6A@public.gmane.org>
2007-06-20 20:37                                           ` Zachary Amsden
     [not found]                                             ` <46799001.5020807-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2007-06-20 21:07                                               ` Jeremy Fitzhardinge [this message]
     [not found]                                                 ` <46799716.9040402-TSDbQ3PG+2Y@public.gmane.org>
2007-06-20 21:27                                                   ` ron minnich
2007-06-20 21:39                                                   ` H. Peter Anvin
2007-06-19 23:49           ` Zachary Amsden

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=46799716.9040402@goop.org \
    --to=jeremy-tsdbq3pg+2y@public.gmane.org \
    --cc=James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org \
    --cc=hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    --cc=virtualization-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
    --cc=zach-pghWNbHTmq7QT0dZR+AlfA@public.gmane.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.