KVM for PowerPC only supports embedded cores at the moment.

While it makes sense to virtualize on small machines, it's even more fun
to do so on big boxes. So I figured we need KVM for PowerPC64 as well.

This patchset implements KVM support for PPC64 hosts and guest support
for PPC64 and G3/G4.

To really make use of this, you will also need a modified version of qemu
that can deal with KVM on desktop cores. I will send out patches for those
later, but want to get feedback on the kernel side first.

In the meanwhile, use the qemu version from
http://www.powerkvm.org/powerkvm.git which already includes all required
patches to run PPC32 and PPC64 guests.

Alexander Graf (23):
  Pass PVR in sregs
  Add PPC64 definitions
  Add PPC64 fields to vcpu structs
  Add asm/970_kvm.h
  Add common PPC64 KVM asm helpers
  Add 970 highmem asm code
  Add SLB switching code for entry/exit
  Add interrupt handling code
  Add 970.c
  Add 970 Host MMU handling
  Add 970 guest MMU
  Add 74xx guest MMU
  Add 970 specific opcode emulation
  Add mfdec emulation
  Add desktop PowerPC specific emulation
  Make head_64.S aware of KVM real mode code
  Patch SLB size
  Add PPC64 offsets to asm-offsets.c
  Export symbols for KVM module
  Export KVM symbols for module
  Include PPC64 target in buildsystem
  Hack in dirty logging for VGA
  Fix trace.h

 arch/powerpc/include/asm/exception.h   |    2 +
 arch/powerpc/include/asm/kvm.h         |    1 +
 arch/powerpc/include/asm/kvm_970.h     |  131 +++++
 arch/powerpc/include/asm/kvm_970_asm.h |  128 +++++
 arch/powerpc/include/asm/kvm_asm.h     |   39 ++
 arch/powerpc/include/asm/kvm_host.h    |   80 +++-
 arch/powerpc/include/asm/kvm_ppc.h     |    1 +
 arch/powerpc/kernel/asm-offsets.c      |   13 +
 arch/powerpc/kernel/exceptions-64s.S   |    8 +
 arch/powerpc/kernel/head_64.S          |    6 +
 arch/powerpc/kernel/ppc_ksyms.c        |    3 +-
 arch/powerpc/kernel/time.c             |    1 +
 arch/powerpc/kvm/74xx_mmu.c            |  357 ++++++++++++
 arch/powerpc/kvm/970.c                 |  947 ++++++++++++++++++++++++++++++++
 arch/powerpc/kvm/970_emulate.c         |  338 ++++++++++++
 arch/powerpc/kvm/970_exports.c         |   24 +
 arch/powerpc/kvm/970_interrupts.S      |  422 ++++++++++++++
 arch/powerpc/kvm/970_mmu.c             |  466 ++++++++++++++++
 arch/powerpc/kvm/970_mmu_host.c        |  439 +++++++++++++++
 arch/powerpc/kvm/970_rmhandlers.S      |  128 +++++
 arch/powerpc/kvm/970_slb.S             |  456 +++++++++++++++
 arch/powerpc/kvm/Kconfig               |   17 +
 arch/powerpc/kvm/Makefile              |   15 +-
 arch/powerpc/kvm/emulate.c             |   43 ++-
 arch/powerpc/kvm/powerpc.c             |   21 +-
 arch/powerpc/kvm/trace.h               |    6 +-
 arch/powerpc/mm/hash_utils_64.c        |    2 +
 arch/powerpc/mm/mmu_context_hash64.c   |    4 +
 arch/powerpc/mm/slb.c                  |   15 +
 kernel/fork.c                          |    1 +
 30 files changed, 4106 insertions(+), 8 deletions(-)
 create mode 100644 arch/powerpc/include/asm/kvm_970.h
 create mode 100644 arch/powerpc/include/asm/kvm_970_asm.h
 create mode 100644 arch/powerpc/kvm/74xx_mmu.c
 create mode 100644 arch/powerpc/kvm/970.c
 create mode 100644 arch/powerpc/kvm/970_emulate.c
 create mode 100644 arch/powerpc/kvm/970_exports.c
 create mode 100644 arch/powerpc/kvm/970_interrupts.S
 create mode 100644 arch/powerpc/kvm/970_mmu.c
 create mode 100644 arch/powerpc/kvm/970_mmu_host.c
 create mode 100644 arch/powerpc/kvm/970_rmhandlers.S
 create mode 100644 arch/powerpc/kvm/970_slb.S

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

Reply via email to