[GIT PULL 1/4] core ARM kvm implementation for 3.9

Will Deacon will.deacon at arm.com
Mon Feb 4 08:55:28 EST 2013


Hi Russell, Arnd, Olof,

Here is the first (and most significant) pull request introducing KVM
support for ARM. I'm sending this later than I would have liked due to
various indirect dependencies on other branches that didn't stabilise
until the end of last week (then I was at FOSDEM over the weekend), but
this branch has been stable since -rc3.

The only direct dependency is on my for-rmk/perf branch, which you have
already pulled.

Cheers,

Will

--->8

The following changes since commit 9931faca02c604c22335f5a935a501bb2ace6e20:

  Linux 3.8-rc3 (2013-01-09 18:59:55 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git for-rmk/virt/kvm/core

for you to fetch changes up to da141b67d29a05267a9a0d56bd7856b7f3f58d44:

  Merge branch 'for-will/kvm/core' of git://github.com/virtualopensystems/linux-kvm-arm into for-rmk/virt/kvm/core (2013-01-24 10:37:49 +0000)

----------------------------------------------------------------

Christoffer Dall (15):
      ARM: Define CPU part numbers and implementors
      ARM: Use implementor and part defines from cputype.h
      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

Mark Rutland (3):
      ARM: perf: handle armpmu_register failing
      ARM: perf: remove unnecessary checks for idx < 0
      ARM: perf: simplify __hw_perf_event_init err handling

Rusty Russell (1):
      KVM: ARM: VFP userspace interface

Will Deacon (4):
      ARM: perf: remove redundant NULL check on cpu_pmu
      ARM: perf: don't pretend to support counting of L1I writes
      Merge branch 'for-rmk/perf' into for-rmk/virt/kvm/core
      Merge branch 'for-will/kvm/core' of git://github.com/virtualopensystems/linux-kvm-arm into for-rmk/virt/kvm/core

 Documentation/virtual/kvm/api.txt           |   99 ++-
 MAINTAINERS                                 |    9 +
 arch/arm/Kconfig                            |    2 +
 arch/arm/Makefile                           |    1 +
 arch/arm/include/asm/cputype.h              |   33 +
 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/perf_event.c                |   16 +-
 arch/arm/kernel/perf_event_cpu.c            |   51 +-
 arch/arm/kernel/perf_event_v6.c             |    4 +-
 arch/arm/kernel/perf_event_v7.c             |   18 +-
 arch/arm/kernel/perf_event_xscale.c         |    2 +-
 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 +
 44 files changed, 6621 insertions(+), 69 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



More information about the linux-arm-kernel mailing list