public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Christoffer Dall <cdall@cs.columbia.edu>
To: catalin.marinas@arm.com, android-virt@lists.cs.columbia.edu
Cc: s.raho@virtualopensystems.com, a.motakis@virtualopensystems.com,
	c.dall@virtualopensystems.com, kvm@vger.kernel.org,
	a.costa@virtualopensystems.com
Subject: [PATCH v3 0/8] KVM/ARM Implementation
Date: Fri, 03 Jun 2011 16:57:16 +0200	[thread overview]
Message-ID: <20110603145711.15612.32711.stgit@ubuntu> (raw)

The following series implements partial KVM support for ARM processors,
specifically on the Cortex A-15 platform. The patch set is broken up
into a logical set of patches, the first one containing a skeleton
of files, makefile changes, the basic user space interface and KVM
architecture specific stubs.  Subsequent patches implement parts of
the system.

This patch set is still not functional and heavily being developed, but
I send these out early to give people a chance to comment and follow the
design at an early state.

Further, I did not meticulously go over the code with respect to
commenting, but will keep up with this for next release version.

Changes since v2:
 - Performs world-switch code
 - Maps guest memory using 2nd stage translation
 - Emulates co-processor 15 instructions
 - Forwards I/O faults to QEMU.

---

Christoffer Dall (8):
      ARM: KVM: Initial skeleton to compile KVM support
      ARM: KVM: Hypervisor identity mapping
      ARM: KVM: Add hypervisor inititalization
      ARM: KVM: Memory virtualization setup
      ARM: KVM: World-switch implementation
      ARM: KVM: Emulation framework and CP15 emulation
      ARM: KVM: Handle guest faults in KVM
      ARM: KVM: Handle I/O aborts


 arch/arm/Kconfig                            |    2 
 arch/arm/Makefile                           |    1 
 arch/arm/include/asm/kvm.h                  |   65 +++
 arch/arm/include/asm/kvm_arm.h              |  127 +++++
 arch/arm/include/asm/kvm_asm.h              |   40 ++
 arch/arm/include/asm/kvm_emulate.h          |   96 ++++
 arch/arm/include/asm/kvm_host.h             |  120 +++++
 arch/arm/include/asm/kvm_mmu.h              |   46 ++
 arch/arm/include/asm/kvm_para.h             |    9 
 arch/arm/include/asm/pgtable-3level-hwdef.h |    6 
 arch/arm/include/asm/pgtable-3level.h       |    9 
 arch/arm/include/asm/pgtable.h              |   14 +
 arch/arm/include/asm/unified.h              |   12 
 arch/arm/kernel/asm-offsets.c               |   26 +
 arch/arm/kernel/entry-armv.S                |    1 
 arch/arm/kvm/Kconfig                        |   44 ++
 arch/arm/kvm/Makefile                       |   13 +
 arch/arm/kvm/arm.c                          |  670 +++++++++++++++++++++++++++
 arch/arm/kvm/arm_emulate.c                  |  236 ++++++++++
 arch/arm/kvm/arm_guest.c                    |  142 ++++++
 arch/arm/kvm/arm_interrupts.S               |  520 +++++++++++++++++++++
 arch/arm/kvm/arm_mmu.c                      |  439 ++++++++++++++++++
 arch/arm/kvm/trace.c                        |  436 ++++++++++++++++++
 arch/arm/kvm/trace.h                        |  108 ++++
 arch/arm/mach-vexpress/Kconfig              |    1 
 arch/arm/mm/Kconfig                         |    7 
 arch/arm/mm/idmap.c                         |   47 ++
 arch/arm/mm/mmu.c                           |    3 
 include/linux/kvm.h                         |    1 
 29 files changed, 3240 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/include/asm/kvm.h
 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_emulate.h
 create mode 100644 arch/arm/include/asm/kvm_host.h
 create mode 100644 arch/arm/include/asm/kvm_mmu.h
 create mode 100644 arch/arm/include/asm/kvm_para.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/arm_emulate.c
 create mode 100644 arch/arm/kvm/arm_guest.c
 create mode 100644 arch/arm/kvm/arm_interrupts.S
 create mode 100644 arch/arm/kvm/arm_mmu.c
 create mode 100644 arch/arm/kvm/trace.c
 create mode 100644 arch/arm/kvm/trace.h

-- 

                 reply	other threads:[~2011-06-03 14:57 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110603145711.15612.32711.stgit@ubuntu \
    --to=cdall@cs.columbia.edu \
    --cc=a.costa@virtualopensystems.com \
    --cc=a.motakis@virtualopensystems.com \
    --cc=android-virt@lists.cs.columbia.edu \
    --cc=c.dall@virtualopensystems.com \
    --cc=catalin.marinas@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=s.raho@virtualopensystems.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox