From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=52454 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PcfeV-0006wq-9p for qemu-devel@nongnu.org; Tue, 11 Jan 2011 09:56:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PcfeU-0005mD-2G for qemu-devel@nongnu.org; Tue, 11 Jan 2011 09:56:51 -0500 Received: from mx1.redhat.com ([209.132.183.28]:62118) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PcfeT-0005m5-Oy for qemu-devel@nongnu.org; Tue, 11 Jan 2011 09:56:50 -0500 Message-ID: <4D2C6FAB.3050209@redhat.com> Date: Tue, 11 Jan 2011 16:56:43 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH 26/35] kvm: Eliminate KVMState arguments References: <4D2616D6.4080309@linux.vnet.ibm.com> <4D26D6CF.5070405@web.de> <4D27A16F.9030809@linux.vnet.ibm.com> <4D282489.90506@web.de> <4D2B6506.6070907@linux.vnet.ibm.com> <4D2B6845.7050809@web.de> <4D2B6ADD.4090505@codemonkey.ws> <4D2C1C5D.2050504@redhat.com> <4D2C6290.1060607@linux.vnet.ibm.com> <1EA102F5-B6C2-43BC-9493-0271B287FC18@suse.de> <4D2C649F.6080508@linux.vnet.ibm.com> <4D2C67C2.5080000@redhat.com> <4D2C6AFA.4040104@linux.vnet.ibm.com> In-Reply-To: <4D2C6AFA.4040104@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Marcelo Tosatti , Jan Kiszka , Alexander Graf , kvm@vger.kernel.org, qemu-devel@nongnu.org On 01/11/2011 04:36 PM, Anthony Liguori wrote: >> They need to use the same device id then. And if they share code, >> that indicates that they need to be the same device even more. > > > No, it really doesn't :-) Cirrus VGA and std VGA share a lot of > code. But that doesn't mean that we treat them as one device. Cirrus and VGA really are separate devices. They share code because on evolved from the other, and is backwards compatible with the other. i8254 and i8254-kvm did not evolve from each other, both are implementations of the i8254 spec, and both are 100% compatible with each other (modulu bugs). > > And BTW, there are guest visible differences between the KVM > IOAPIC/PIC/PIT than the QEMU versions. The only reason PIT live > migration works today is because usually delivers all interrupts > quickly. But it actually does maintain state in the work queue that > isn't saved. If PIT tried to implement gradual catchup, there would > be no way not to expose that state to userspace. Why not? Whatever state the kernel keeps, we expose to userspace and allow sending it over the wire. -- error compiling committee.c: too many arguments to function