[PATCH v3 0/8] KVM/ARM Implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

-- 
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux