From patchwork Wed Jan 23 19:22:23 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoffer Dall X-Patchwork-Id: 215026 Return-Path: X-Original-To: incoming-imx@patchwork.ozlabs.org Delivered-To: patchwork-incoming-imx@bilbo.ozlabs.org Received: from merlin.infradead.org (merlin.infradead.org [IPv6:2001:4978:20e::2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id BD09D2C009C for ; Thu, 24 Jan 2013 06:25:39 +1100 (EST) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Ty5u0-00033N-Fm; Wed, 23 Jan 2013 19:22:28 +0000 Received: from mail-ie0-f179.google.com ([209.85.223.179]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1Ty5tx-000333-1Z for linux-arm-kernel@lists.infradead.org; Wed, 23 Jan 2013 19:22:25 +0000 Received: by mail-ie0-f179.google.com with SMTP id k14so14156589iea.38 for ; Wed, 23 Jan 2013 11:22:23 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-received:x-originating-ip:date:message-id:subject :from:to:cc:content-type:x-gm-message-state; bh=GXk+P3BZyquM7hfA5tqF7VkYRyoRcY7xoc5i4C6VMsQ=; b=ILfd9I1zZgu8KmJhwSkoKGUZ1kAHWdh0CRw5kMe2Kvo96Dy0UOI3e0nmxwfjdsoyZz IwyAu1Un7B3T6Bg+OzSlCR71HXslatL4gEgLDVib00ffefc8d+EiBuV/eN9G51eB1Dc2 lNKJLOLkk5doQ9EFwqEnAhJ50pNy9o3LVAV7PuWFYP/g+x5/jgyQgogINqOt/kEPtvau uVTWfBqtYlRWIQb8qG29iAVVoQb/XTFypJfE7vZqUkQaBdFaJygWV/kDbbSkoNukIG3l ZAsCtHuaXYv01D9QOnFEc7KUNR1FYwdwrpf6/VSeNCbbq/XmDtyVfUt4fk4pnMR9CdVq FzpQ== MIME-Version: 1.0 X-Received: by 10.42.19.197 with SMTP id d5mr1833833icb.29.1358968943443; Wed, 23 Jan 2013 11:22:23 -0800 (PST) Received: by 10.64.37.70 with HTTP; Wed, 23 Jan 2013 11:22:23 -0800 (PST) X-Originating-IP: [72.80.83.148] Date: Wed, 23 Jan 2013 14:22:23 -0500 Message-ID: Subject: [GIT PULL] KVM/ARM core implementation From: Christoffer Dall To: Will Deacon X-Gm-Message-State: ALoCoQmtkDaFJVUqlFNrPMD2QVMhjK9b5KOefetzRHW7EAfa6MU8+si5d4NXbc8ZNirJv7O6WzaS X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130123_142225_120094_94497AC9 X-CRM114-Status: GOOD ( 10.81 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.223.179 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org List-Id: linux-imx-kernel.lists.patchwork.ozlabs.org Hi Will, I've prepared a stable branch for you, for-will/kvm/core, based on your stable perf branch. Since the last patch series, I've addressed the reviewer comments, and rev'ed KVM_CAP_ARM_PSCI to 87, since 86 is already used by PPC in kvm/next. kvmtool should probably be updated acoordingly. I rebased the VGIC and the Arch. Timers series on the stable branch and made these available in kvm/vgic and kvm/vgic-timers, respectively. These branches are, however, not yet stable. Thanks, -Christoffer The following changes since commit 6abc749f635005be78dfcb562c2235511965db6d: Merge branch 'for-rmk/perf' into for-rmk/virt/kvm/core (2013-01-23 17:17:52 +0000) are available in the git repository at: git://github.com/virtualopensystems/linux-kvm-arm.git for-will/kvm/core for you to fetch changes up to a749474de5f0f5902f59acb5c7f4dc6b816ac788: KVM: ARM: Add maintainer entry for KVM/ARM (2013-01-23 13:29:19 -0500) ---------------------------------------------------------------- Christoffer Dall (13): ARM: Add page table and page defines needed by KVM ARM: Section based HYP idmap KVM: ARM: Initial skeleton to compile KVM support KVM: ARM: Hypervisor initialization KVM: ARM: Memory virtualization setup KVM: ARM: Inject IRQs and FIQs from userspace KVM: ARM: World-switch implementation KVM: ARM: Emulation framework and CP15 emulation KVM: ARM: User space API for getting/setting co-proc registers KVM: ARM: Demux CCSIDR in the userspace API KVM: ARM: Handle guest faults in KVM KVM: ARM: Handle I/O aborts KVM: ARM: Add maintainer entry for KVM/ARM Marc Zyngier (1): KVM: ARM: Power State Coordination Interface implementation Rusty Russell (1): KVM: ARM: VFP userspace interface Documentation/virtual/kvm/api.txt | 99 ++- MAINTAINERS | 9 + arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/include/asm/idmap.h | 1 + arch/arm/include/asm/kvm_arm.h | 214 ++++++ arch/arm/include/asm/kvm_asm.h | 82 +++ arch/arm/include/asm/kvm_coproc.h | 47 ++ arch/arm/include/asm/kvm_emulate.h | 72 ++ arch/arm/include/asm/kvm_host.h | 161 +++++ arch/arm/include/asm/kvm_mmio.h | 56 ++ arch/arm/include/asm/kvm_mmu.h | 50 ++ arch/arm/include/asm/kvm_psci.h | 23 + arch/arm/include/asm/pgtable-3level-hwdef.h | 5 + arch/arm/include/asm/pgtable-3level.h | 18 + arch/arm/include/asm/pgtable.h | 7 + arch/arm/include/uapi/asm/kvm.h | 164 +++++ arch/arm/kernel/asm-offsets.c | 25 + arch/arm/kernel/vmlinux.lds.S | 6 +- arch/arm/kvm/Kconfig | 56 ++ arch/arm/kvm/Makefile | 21 + arch/arm/kvm/arm.c | 1015 ++++++++++++++++++++++++++ arch/arm/kvm/coproc.c | 1046 +++++++++++++++++++++++++++ arch/arm/kvm/coproc.h | 153 ++++ arch/arm/kvm/coproc_a15.c | 162 +++++ arch/arm/kvm/emulate.c | 373 ++++++++++ arch/arm/kvm/guest.c | 222 ++++++ arch/arm/kvm/init.S | 114 +++ arch/arm/kvm/interrupts.S | 478 ++++++++++++ arch/arm/kvm/interrupts_head.S | 441 +++++++++++ arch/arm/kvm/mmio.c | 153 ++++ arch/arm/kvm/mmu.c | 787 ++++++++++++++++++++ arch/arm/kvm/psci.c | 108 +++ arch/arm/kvm/reset.c | 74 ++ arch/arm/kvm/trace.h | 235 ++++++ arch/arm/mm/idmap.c | 55 +- arch/arm/mm/mmu.c | 22 + include/uapi/linux/kvm.h | 9 + 38 files changed, 6546 insertions(+), 20 deletions(-) create mode 100644 arch/arm/include/asm/kvm_arm.h create mode 100644 arch/arm/include/asm/kvm_asm.h create mode 100644 arch/arm/include/asm/kvm_coproc.h create mode 100644 arch/arm/include/asm/kvm_emulate.h create mode 100644 arch/arm/include/asm/kvm_host.h create mode 100644 arch/arm/include/asm/kvm_mmio.h create mode 100644 arch/arm/include/asm/kvm_mmu.h create mode 100644 arch/arm/include/asm/kvm_psci.h create mode 100644 arch/arm/include/uapi/asm/kvm.h create mode 100644 arch/arm/kvm/Kconfig create mode 100644 arch/arm/kvm/Makefile create mode 100644 arch/arm/kvm/arm.c create mode 100644 arch/arm/kvm/coproc.c create mode 100644 arch/arm/kvm/coproc.h create mode 100644 arch/arm/kvm/coproc_a15.c create mode 100644 arch/arm/kvm/emulate.c create mode 100644 arch/arm/kvm/guest.c create mode 100644 arch/arm/kvm/init.S create mode 100644 arch/arm/kvm/interrupts.S create mode 100644 arch/arm/kvm/interrupts_head.S create mode 100644 arch/arm/kvm/mmio.c create mode 100644 arch/arm/kvm/mmu.c create mode 100644 arch/arm/kvm/psci.c create mode 100644 arch/arm/kvm/reset.c create mode 100644 arch/arm/kvm/trace.h