From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=52276 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PfdAP-0008KK-De for qemu-devel@nongnu.org; Wed, 19 Jan 2011 13:54:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PfdAL-0001cY-U3 for qemu-devel@nongnu.org; Wed, 19 Jan 2011 13:54:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:3796) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PfdAL-0001c8-Gi for qemu-devel@nongnu.org; Wed, 19 Jan 2011 13:53:57 -0500 Date: Wed, 19 Jan 2011 18:53:50 +0000 From: "Daniel P. Berrange" Subject: Re: [Qemu-devel] [PATCH 28/35] kvm: x86: Introduce kvmclock device to save/restore its state Message-ID: <20110119185350.GM5113@redhat.com> References: <4D35B963.7000605@siemens.com> <4D35BA22.7060602@linux.vnet.ibm.com> <4D35BD30.1060900@siemens.com> <4D35C1CE.10509@linux.vnet.ibm.com> <4D35C648.7050809@siemens.com> <4D35C92D.7030000@linux.vnet.ibm.com> <4D36B362.70202@redhat.com> <4D37170A.20205@linux.vnet.ibm.com> <20110119173505.GK5113@redhat.com> <4D37227A.8080904@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4D37227A.8080904@linux.vnet.ibm.com> Reply-To: "Daniel P. Berrange" List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: "kvm@vger.kernel.org" , Jan Kiszka , Glauber Costa , Marcelo Tosatti , Markus Armbruster , "qemu-devel@nongnu.org" , Gerd Hoffmann , Avi Kivity On Wed, Jan 19, 2011 at 11:42:18AM -0600, Anthony Liguori wrote: > On 01/19/2011 11:35 AM, Daniel P. Berrange wrote: > >On Wed, Jan 19, 2011 at 10:53:30AM -0600, Anthony Liguori wrote: > >>On 01/19/2011 03:48 AM, Gerd Hoffmann wrote: > >>>On 01/18/11 18:09, Anthony Liguori wrote: > >>>>On 01/18/2011 10:56 AM, Jan Kiszka wrote: > >>>>>>The device model topology is 100% a hidden architectural detail. > >>>>>This is true for the sysbus, it is obviously not the case for PCI and > >>>>>similarly discoverable buses. There we have a guest-explorable topology > >>>>>that is currently equivalent to the the qdev layout. > >>>>But we also don't do PCI passthrough so we really haven't even explored > >>>>how that maps in qdev. I don't know if qemu-kvm has attempted to > >>>>qdev-ify it. > >>>It is qdev-ified. It is a normal pci device from qdev's point of view. > >>> > >>>BTW: is there any reason why (vfio-based) pci passthrough couldn't > >>>work with tcg? > >>> > >>>>The -device interface is a stable interface. Right now, you don't > >>>>specify any type of identifier of the pci bus when you create a PCI > >>>>device. It's implied in the interface. > >>>Wrong. You can specify the bus you want attach the device to via > >>>bus=. This is true for *every* device, including all pci > >>>devices. If unspecified qdev uses the first bus it finds. > >>> > >>>As long as there is a single pci bus only there is simply no need > >>>to specify it, thats why nobody does that today. > >>Right. In terms of specifying bus=, what are we promising re: > >>compatibility? Will there always be a pci.0? If we add some > >>PCI-to-PCI bridges in order to support more devices, is libvirt > >>support to parse the hierarchy and figure out which bus to put the > >>device on? > >The answer to your questions probably differ depending on > >whether '-nodefconfig' and '-nodefaults' are set on the > >command line. If they are set, then I'd expect to only > >ever see one PCI bus with name pci.0 forever more, unless > >i explicitly ask for more. If they are not set, then you > >might expect to see multiple PCI buses by appear by magic > > Yeah, we can't promise that. If you use -M pc, you aren't > guaranteed a stable PCI bus topology even with > -nodefconfig/-nodefaults. That's why we never use '-M pc' when actually invoking QEMU. If the user specifies 'pc' in the XML, we canonicalize that to the versioned alternative like 'pc-0.12' before invoking QEMU. We also expose the list of versioned machines to apps so they can do canonicalization themselves if desired. Regards, Daniel