From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LAsWU-0007cx-2q for qemu-devel@nongnu.org; Thu, 11 Dec 2008 15:52:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LAsWS-0007c8-Eh for qemu-devel@nongnu.org; Thu, 11 Dec 2008 15:52:37 -0500 Received: from [199.232.76.173] (port=56121 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LAsWS-0007bn-4Q for qemu-devel@nongnu.org; Thu, 11 Dec 2008 15:52:36 -0500 Received: from e8.ny.us.ibm.com ([32.97.182.138]:55661) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LAsWR-0005Wv-Fo for qemu-devel@nongnu.org; Thu, 11 Dec 2008 15:52:35 -0500 Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e8.ny.us.ibm.com (8.13.1/8.13.1) with ESMTP id mBBKlfuo004283 for ; Thu, 11 Dec 2008 15:47:41 -0500 Received: from d01av03.pok.ibm.com (d01av03.pok.ibm.com [9.56.224.217]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id mBBKqUpg184298 for ; Thu, 11 Dec 2008 15:52:30 -0500 Received: from d01av03.pok.ibm.com (loopback [127.0.0.1]) by d01av03.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id mBBKqU5K029247 for ; Thu, 11 Dec 2008 15:52:30 -0500 From: Hollis Blanchard Date: Thu, 11 Dec 2008 14:52:26 -0600 Message-Id: <1229028752-9480-1-git-send-email-hollisb@us.ibm.com> Subject: [Qemu-devel] PowerPC KVM support 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-ppc@vger.kernel.org These patches implement KVM support for the PowerPC Bamboo board, a system built around the 440EP SoC. In the KVM model, the KVM kernel module is responsible for all instruction execution, so it doesn't matter that TCG doesn't emulate the 440 core. We've only tested KVM and Bamboo with the -kernel option. I have no idea what it would take to run a firmware like u-boot inside the VM, but it's basically the same problem as running u-boot inside a 405 VM (which I know Jean-Christophe is working on). There are a couple issues I'd appreciate feedback on: - The "bamboo" machine shows up as an option ("-M \?"), but if a user selects it without KVM support, they will just get an error. I don't like that, but register_machines() is called before --enable-kvm is recognized. - We call cpu_ppc_init("405") to create a CPUState, because some CPUState fields are required outside of TCG. We could instead create a "KVM" CPU name, or a cpu_ppc_init_kvm() function. I'd prefer to stay on a common code path though, so that if new CPUState fields are introduced in the future, there's no KVM-specific path that breaks. - I'd like to use ppc4xx_sdram_adjust() with the existing 405 targets as well, but nobody can tell me how to get a functioning 405 qemu so I can't test it. I may submit a separate patch series for this anyways. -Hollis