Kernel KVM-PPC virtualization development
 help / color / mirror / Atom feed
From: Alexander Graf <agraf@suse.de>
To: kvm-ppc@vger.kernel.org
Subject: [PATCH 00/23] Add KVM support for PPC64 (970) hosts
Date: Tue, 07 Jul 2009 14:17:19 +0000	[thread overview]
Message-ID: <1246976262-4826-1-git-send-email-agraf@suse.de> (raw)

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


             reply	other threads:[~2009-07-07 14:17 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-07 14:17 Alexander Graf [this message]
2009-07-07 15:44 ` [PATCH 00/23] Add KVM support for PPC64 (970) hosts Arnd Bergmann
2009-07-07 15:49 ` Alexander Graf
2009-07-07 15:54 ` Avi Kivity
2009-07-07 15:56 ` Alexander Graf
2009-07-07 16:08 ` Avi Kivity
2009-07-08  6:17 ` Benjamin Herrenschmidt
2009-07-08  6:22 ` Benjamin Herrenschmidt
2009-07-08  6:42 ` Benjamin Herrenschmidt
2009-07-08  7:35 ` Alexander Graf
2009-07-08  8:01 ` Benjamin Herrenschmidt
2009-07-08  8:06 ` Avi Kivity
2009-07-08  8:19 ` [PATCH 00/23] Add KVM support for PPC64 (970) host Benjamin Herrenschmidt
2009-07-08  8:28 ` [PATCH 00/23] Add KVM support for PPC64 (970) hosts Alexander Graf
2009-07-08  8:43 ` [PATCH 00/23] Add KVM support for PPC64 (970) host Avi Kivity
2009-07-08  9:51 ` Benjamin Herrenschmidt
2009-07-08 10:04 ` Avi Kivity
2009-07-08 10:24 ` Benjamin Herrenschmidt
2009-07-08 11:10 ` [PATCH 00/23] Add KVM support for PPC64 (970) hosts Benjamin Herrenschmidt
2009-07-08 12:29 ` Alexander Graf
2009-07-08 21:40 ` Benjamin Herrenschmidt
2009-07-22 22:58 ` Olof Johansson
2009-07-22 23:02 ` Olof Johansson

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=1246976262-4826-1-git-send-email-agraf@suse.de \
    --to=agraf@suse.de \
    --cc=kvm-ppc@vger.kernel.org \
    /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