From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JL47l-0008QU-59 for qemu-devel@nongnu.org; Fri, 01 Feb 2008 17:12:41 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JL47i-0008OY-N3 for qemu-devel@nongnu.org; Fri, 01 Feb 2008 17:12:39 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JL47i-0008O9-4N for qemu-devel@nongnu.org; Fri, 01 Feb 2008 17:12:38 -0500 Received: from e35.co.us.ibm.com ([32.97.110.153]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JL47h-0002ey-Gk for qemu-devel@nongnu.org; Fri, 01 Feb 2008 17:12:37 -0500 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e35.co.us.ibm.com (8.13.8/8.13.8) with ESMTP id m11MCUl4023374 for ; Fri, 1 Feb 2008 17:12:30 -0500 Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v8.7) with ESMTP id m11MCU6V211954 for ; Fri, 1 Feb 2008 15:12:30 -0700 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id m11MCTFP022493 for ; Fri, 1 Feb 2008 15:12:30 -0700 From: Anthony Liguori Date: Fri, 1 Feb 2008 16:11:55 -0600 Message-Id: <1201903921-1125-1-git-send-email-aliguori@us.ibm.com> Subject: [Qemu-devel] [PATCH 0/6] Support for the Kernel Virtual Machine interface (v2) Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kvm-devel@lists.sourceforge.net, Paul Brook KVM is a Linux interface for providing userspace interfaces for accelerated virtualization. It has been included since 2.6.20 and supports Intel VT and AMD-V. Ports are under way for ia64, embedded PowerPC, and s390. This set of patches provide basic support for KVM in QEMU. It does not include all of the changes in the KVM QEMU branch (such as virtio, live migration, extboot, etc). However, if we can get these first portions merged, I will follow up with the remainder of the changes and I believe we can be fully merged in the very near future. The first 5 patches of this series are not KVM specific but are critical fixes for KVM to be functional. The 6th patch provides KVM support. The goal in providing KVM support is to make sure that when KVM support is not compiled in, the code paths aren't changed at all. I hope this makes it very easy to merge. KVM moves very quickly, so I'd appreciate if these patches can be reviewed as soon as possible as it's going to be tough to keep them in sync with the main KVM tree while they're out of tree. To enable KVM support, you have to have to libkvm installed. You should also explicitly specify the location of your kernel tree (with KVM headers) with the --kernel-path option. We will improve libkvm such that this isn't required in future versions. KVM also has an enhanced Bochs BIOS. I've tested these patches with out it and it's not strictly necessary for basic functionality. I would recommend pulling in a copy of it though as it has useful fixes even in the absence of KVM. A very large number of people have contributed to these patches with Avi Kivity being the main developer of this support. For a full listing of contributers, please consult the KVM ChangeLog[1]. Since v2, I've incorporated all the feedback received for v1. I was able to drop the option ROM refactoring too but introduced a new patch to fix an obvious bug with the VMware vga initialization pointed out by Paul Brook. [1] http://kvm.qumranet.com/kvmwiki/ChangeLog