From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [PATCH v8 00/15] KVM/ARM Implementation Date: Thu, 28 Jun 2012 18:49:26 -0300 Message-ID: <20120628214926.GB7767@amt.cnet> References: <20120615190553.24590.18391.stgit@ubuntu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: android-virt@lists.cs.columbia.edu, kvm@vger.kernel.org To: Christoffer Dall Return-path: Received: from mx1.redhat.com ([209.132.183.28]:45639 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755231Ab2F1Wkj (ORCPT ); Thu, 28 Jun 2012 18:40:39 -0400 Content-Disposition: inline In-Reply-To: <20120615190553.24590.18391.stgit@ubuntu> Sender: kvm-owner@vger.kernel.org List-ID: On Fri, Jun 15, 2012 at 03:06:39PM -0400, Christoffer Dall wrote: > The following series implements KVM support for ARM processors, > specifically on the Cortex A-15 platform. Work is done in > collaboration between Columbia University, Virtual Open Systems and > ARM/Linaro. > > The patch series applies to kvm/next, specifically commit: > 25e531a988ea5a64bd97a72dc9d3c65ad5850120 > > This is Version 8 of the patch series, but the first two versions > were reviewed outside of the KVM mailing list. Changes can also be > pulled from: > git://github.com/virtualopensystems/linux-kvm-arm.git kvm-a15-v8 > > A non-flattened edition of the patch series can be found at: > git://github.com/virtualopensystems/linux-kvm-arm.git kvm-a15-v8-stage > > The implementation is broken up into a logical set of patches, the first > four are preparatory patches: > 1. Add mem_type prot_pte accessor (ARM community) > 2. Use KVM_CAP_IRQ_ROUTING to protect routing code (KVM community) > 3. Introduce __KVM_HAVE_IRQ_LINE (KVM community) > 4. Guard code with CONFIG_MMU_NOTIFIER (KVM community) > > KVM guys, please consider pulling the KVM generic patches as early as > possible. Thanks. > > The main implementation is broken up into separate patches, the first > containing a skeleton of files, makefile changes, the basic user space > interface and KVM architecture specific stubs. Subsequent patches > implement parts of the system as listed: > 1. Preparatory patch introducing __KVM_HAVE_IRQ_LINE > 2. Preparatory patch guarding mmu_notifier code with CONFIG_MMU_NOTIFIER > 3. Skeleton > 4. Identity Mapping for Hyp mode > 5. Hypervisor initialization > 6. Hypervisor module unloading > 7. Memory virtualization setup (hyp mode mappings and 2nd stage) > 8. Inject IRQs and FIQs from userspace > 9. World-switch implementation and Hyp exception vectors > 10. Emulation framework and CP15 emulation > 11. Handle guest user memory aborts > 12. Handle guest MMIO aborts > 13. Support guest wait-for-interrupt instructions > > Testing: > Limited testing, but have run GCC inside guest, which compiled a small > hello-world program, which was successfully run. For v8 both ARM/Thumb-2 > kernels were tested as both host/guest and both a compiled-in version > and a kernel module version of KVM was tested. Hardware still > unavailable to me, so all testing has been done on ARM Fast Models. > > For a guide on how to set up a testing environment and try out these > patches, see: > http://www.virtualopensystems.com/media/pdf/kvm-arm-guide.pdf > > There is an issue list available using the issue tracker on: > https://github.com/virtualopensystems/linux-kvm-arm Is there public documentation for "hyp-mode" available?