public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/17] Hypervisor-mode KVM on POWER7 and PPC970
@ 2011-06-29 10:15 Paul Mackerras
  2011-06-29 10:16 ` [PATCH 01/17] KVM: PPC: Fix machine checks on 32-bit Book3S Paul Mackerras
                   ` (17 more replies)
  0 siblings, 18 replies; 52+ messages in thread
From: Paul Mackerras @ 2011-06-29 10:15 UTC (permalink / raw)
  To: linuxppc-dev, kvm, kvm-ppc, Alexander Graf

The first patch of the following series is a pure bug-fix for 32-bit
kernels.

The remainder of the following series of patches enable KVM to exploit
the hardware hypervisor mode on 64-bit Power ISA Book3S machines.  At
present, POWER7 and PPC970 processors are supported.  (Note that the
PPC970 processors in Apple G5 machines don't have a usable hypervisor
mode and are not supported by these patches.)

Running the KVM host in hypervisor mode means that the guest can use
both supervisor mode and user mode.  That means that the guest can
execute supervisor-privilege instructions and access supervisor-
privilege registers.  In addition the hardware directs most exceptions
to the guest.  Thus we don't need to emulate any instructions in the
host.  Generally, the only times we need to exit the guest are when it
does a hypercall or when an external interrupt or host timer
(decrementer) interrupt occurs.

The focus of this KVM implementation is to run guests that use the
PAPR (Power Architecture Platform Requirements) paravirtualization
interface, which is the interface supplied by PowerVM on IBM pSeries
machines.  Currently the "pseries" machine type in qemu is only
supported by book3s_hv KVM, and book3s_hv KVM only supports the
"pseries" machine type.  That will hopefully change in future.

These patches are against the master branch of the kvm tree.

Paul.

^ permalink raw reply	[flat|nested] 52+ messages in thread
* [PULL 00/17] KVM PPC patch queue 2011-07-04
@ 2011-07-04 14:12 Alexander Graf
  2011-07-04 14:12 ` [PATCH 10/17] KVM: PPC: Add support for Book3S processors in hypervisor mode Alexander Graf
  0 siblings, 1 reply; 52+ messages in thread
From: Alexander Graf @ 2011-07-04 14:12 UTC (permalink / raw)
  To: kvm@vger.kernel.org list; +Cc: Avi Kivity, kvm-ppc

Hi Avi,

Here is my current patch queue for KVM on PPC. It contains support for
hardware accelerated KVM on 970 and POWER7 (no hardware) which is one
of the most interesting features we had added for a while now.

This new support doesn't work out-of-the-box with current Qemu, as it
requires some negotiation between KVM and qemu due to hardware limitations.
Support for this is in the works and will come soon.

Please pull.

Alex

The following changes since commit 2e0d8e289ef23d0e56923d778e9bea0601a0edb4:
  Avi Kivity (1):
        Merge branch 'master' of ssh://master.kernel.org/.../torvalds/linux-2.6 into next

are available in the git repository at:

  git://github.com/agraf/linux-2.6.git kvm-ppc-next

Alexander Graf (1):
      KVM: PPC: Remove prog_flags

David Gibson (1):
      KVM: PPC: Accelerate H_PUT_TCE by implementing it in real mode

Paul Mackerras (15):
      KVM: PPC: Fix machine checks on 32-bit Book3S
      KVM: PPC: Move fields between struct kvm_vcpu_arch and kvmppc_vcpu_book3s
      KVM: PPC: Split out code from book3s.c into book3s_pr.c
      powerpc, KVM: Rework KVM checks in first-level interrupt handlers
      KVM: PPC: Deliver program interrupts right away instead of queueing them
      KVM: PPC: Pass init/destroy vm and prepare/commit memory region ops down
      KVM: PPC: Move guest enter/exit down into subarch-specific code
      powerpc: Set up LPCR for running guest partitions
      KVM: PPC: Split host-state fields out of kvmppc_book3s_shadow_vcpu
      KVM: PPC: Add support for Book3S processors in hypervisor mode
      KVM: PPC: Handle some PAPR hcalls in the kernel
      KVM: PPC: Allow book3s_hv guests to use SMT processor modes
      KVM: PPC: Allocate RMAs (Real Mode Areas) at boot for use by guests
      powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits
      KVM: PPC: book3s_hv: Add support for PPC970-family processors

 Documentation/virtual/kvm/api.txt          |   97 ++
 arch/powerpc/include/asm/cputable.h        |   14 +-
 arch/powerpc/include/asm/exception-64s.h   |  136 ++-
 arch/powerpc/include/asm/hvcall.h          |    5 +
 arch/powerpc/include/asm/kvm.h             |   15 +
 arch/powerpc/include/asm/kvm_asm.h         |    4 +
 arch/powerpc/include/asm/kvm_book3s.h      |  192 ++++-
 arch/powerpc/include/asm/kvm_book3s_64.h   |    4 +
 arch/powerpc/include/asm/kvm_book3s_asm.h  |   41 +-
 arch/powerpc/include/asm/kvm_booke.h       |    4 +
 arch/powerpc/include/asm/kvm_host.h        |  160 +++-
 arch/powerpc/include/asm/kvm_ppc.h         |   40 +
 arch/powerpc/include/asm/mmu-hash64.h      |   10 +-
 arch/powerpc/include/asm/paca.h            |    3 +
 arch/powerpc/include/asm/reg.h             |   25 +-
 arch/powerpc/kernel/asm-offsets.c          |  180 +++-
 arch/powerpc/kernel/cpu_setup_power7.S     |   22 +-
 arch/powerpc/kernel/cpu_setup_ppc970.S     |   26 +-
 arch/powerpc/kernel/exceptions-64s.S       |  228 +++--
 arch/powerpc/kernel/idle_power7.S          |    2 -
 arch/powerpc/kernel/paca.c                 |    2 +-
 arch/powerpc/kernel/process.c              |    3 +
 arch/powerpc/kernel/setup-common.c         |    3 +
 arch/powerpc/kernel/setup_64.c             |    3 +
 arch/powerpc/kernel/smp.c                  |    1 +
 arch/powerpc/kvm/Kconfig                   |   34 +-
 arch/powerpc/kvm/Makefile                  |   27 +-
 arch/powerpc/kvm/book3s.c                  | 1007 +--------------------
 arch/powerpc/kvm/book3s_64_mmu.c           |   54 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c        |  180 ++++
 arch/powerpc/kvm/book3s_64_vio_hv.c        |   73 ++
 arch/powerpc/kvm/book3s_exports.c          |    5 +
 arch/powerpc/kvm/book3s_hv.c               | 1269 ++++++++++++++++++++++++++
 arch/powerpc/kvm/book3s_hv_builtin.c       |  155 ++++
 arch/powerpc/kvm/book3s_hv_interrupts.S    |  166 ++++
 arch/powerpc/kvm/book3s_hv_rm_mmu.c        |  370 ++++++++
 arch/powerpc/kvm/book3s_hv_rmhandlers.S    | 1345 ++++++++++++++++++++++++++++
 arch/powerpc/kvm/book3s_interrupts.S       |   21 +-
 arch/powerpc/kvm/book3s_mmu_hpte.c         |   71 +-
 arch/powerpc/kvm/book3s_pr.c               | 1029 +++++++++++++++++++++
 arch/powerpc/kvm/book3s_rmhandlers.S       |   94 +-
 arch/powerpc/kvm/book3s_segment.S          |  117 ++--
 arch/powerpc/kvm/booke.c                   |   33 +
 arch/powerpc/kvm/powerpc.c                 |   75 ++-
 arch/powerpc/kvm/trace.h                   |    4 +-
 arch/powerpc/mm/hash_native_64.c           |    6 +-
 arch/powerpc/platforms/iseries/exception.S |    2 +-
 arch/powerpc/platforms/iseries/exception.h |    4 +-
 arch/powerpc/sysdev/xics/icp-native.c      |    9 +
 include/linux/kvm.h                        |   12 +
 50 files changed, 5935 insertions(+), 1447 deletions(-)
 create mode 100644 arch/powerpc/kvm/book3s_64_mmu_hv.c
 create mode 100644 arch/powerpc/kvm/book3s_64_vio_hv.c
 create mode 100644 arch/powerpc/kvm/book3s_hv.c
 create mode 100644 arch/powerpc/kvm/book3s_hv_builtin.c
 create mode 100644 arch/powerpc/kvm/book3s_hv_interrupts.S
 create mode 100644 arch/powerpc/kvm/book3s_hv_rm_mmu.c
 create mode 100644 arch/powerpc/kvm/book3s_hv_rmhandlers.S
 create mode 100644 arch/powerpc/kvm/book3s_pr.c

^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2012-04-16 13:01 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-29 10:15 [PATCH 0/17] Hypervisor-mode KVM on POWER7 and PPC970 Paul Mackerras
2011-06-29 10:16 ` [PATCH 01/17] KVM: PPC: Fix machine checks on 32-bit Book3S Paul Mackerras
2011-07-01 10:08   ` Alexander Graf
2011-06-29 10:17 ` [PATCH 02/17] KVM: PPC: Move fields between struct kvm_vcpu_arch and kvmppc_vcpu_book3s Paul Mackerras
2011-06-29 10:17 ` [PATCH 03/17] KVM: PPC: Split out code from book3s.c into book3s_pr.c Paul Mackerras
2011-06-29 10:18 ` [PATCH 04/17] powerpc, KVM: Rework KVM checks in first-level interrupt handlers Paul Mackerras
2011-06-29 10:18 ` [PATCH 05/17] KVM: PPC: Deliver program interrupts right away instead of queueing them Paul Mackerras
2011-07-01 11:47   ` Alexander Graf
2011-06-29 10:19 ` [PATCH 06/17] KVM: PPC: Pass init/destroy vm and prepare/commit memory region ops down Paul Mackerras
2011-06-29 10:19 ` [PATCH 07/17] KVM: PPC: Move guest enter/exit down into subarch-specific code Paul Mackerras
2011-06-29 10:20 ` [PATCH 08/17] powerpc: Set up LPCR for running guest partitions Paul Mackerras
2011-06-29 10:20 ` [PATCH 09/17] KVM: PPC: Split host-state fields out of kvmppc_book3s_shadow_vcpu Paul Mackerras
2011-06-29 10:21 ` [PATCH 10/17] KVM: PPC: Add support for Book3S processors in hypervisor mode Paul Mackerras
2011-07-01 18:37   ` Dave Hansen
2011-07-01 19:12     ` Alexander Graf
2011-07-04 11:51     ` Paul Mackerras
2011-06-29 10:22 ` [PATCH 11/17] KVM: PPC: Handle some PAPR hcalls in the kernel Paul Mackerras
2011-06-29 10:22 ` [PATCH 12/17] KVM: PPC: Accelerate H_PUT_TCE by implementing it in real mode Paul Mackerras
2011-06-29 10:23 ` [PATCH 13/17] KVM: PPC: Allow book3s_hv guests to use SMT processor modes Paul Mackerras
2012-04-16  9:45   ` Alexander Graf
2012-04-16 12:13     ` Paul Mackerras
2012-04-16 13:01       ` Alexander Graf
2011-06-29 10:25 ` [PATCH 14/17] KVM: PPC: Allocate RMAs (Real Mode Areas) at boot for use by guests Paul Mackerras
2011-06-29 10:26 ` [PATCH 15/17] powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits Paul Mackerras
2011-06-29 10:40 ` [PATCH 16/17] KVM: PPC: book3s_hv: Add support for PPC970-family processors Paul Mackerras
2011-06-29 10:41 ` [RFC PATCH 17/17] KVM: PPC: Add an ioctl for userspace to select which platform to emulate Paul Mackerras
2011-06-29 11:53   ` Josh Boyer
2011-06-29 11:56     ` Alexander Graf
2011-06-29 11:58       ` Josh Boyer
2011-06-30  8:34         ` Avi Kivity
2011-06-30 15:04   ` Alexander Graf
2011-06-30 15:16     ` Avi Kivity
2011-06-30 15:22       ` Alexander Graf
2011-06-30 16:00         ` Avi Kivity
2011-06-30 16:33           ` Alexander Graf
2011-07-03  8:15             ` Avi Kivity
2011-07-03  8:34               ` Alexander Graf
2011-07-03  8:56                 ` Avi Kivity
2011-07-03  9:00                   ` Alexander Graf
2011-07-03  9:05                     ` Avi Kivity
2011-07-03  9:09                       ` Alexander Graf
2011-07-03  9:12                         ` Avi Kivity
2011-07-04 10:59                           ` Alexander Graf
2011-07-04 11:22                             ` Avi Kivity
2011-07-04 11:36                               ` Alexander Graf
2011-07-04 11:37                                 ` Avi Kivity
2011-07-04 11:41                                   ` Alexander Graf
2011-06-30 23:13       ` Benjamin Herrenschmidt
2011-07-01 10:09     ` Paul Mackerras
2011-07-01 10:23       ` Alexander Graf
2011-07-01 18:24 ` [PATCH 0/17] Hypervisor-mode KVM on POWER7 and PPC970 Alexander Graf
  -- strict thread matches above, loose matches on Subject: below --
2011-07-04 14:12 [PULL 00/17] KVM PPC patch queue 2011-07-04 Alexander Graf
2011-07-04 14:12 ` [PATCH 10/17] KVM: PPC: Add support for Book3S processors in hypervisor mode Alexander Graf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox