public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/21] KVM: PPC: Virtualize Gekko guests v2
@ 2010-02-19 10:00 Alexander Graf
  2010-02-19 10:00 ` [PATCH 04/21] KVM: PPC: Teach MMIO Signedness Alexander Graf
                   ` (8 more replies)
  0 siblings, 9 replies; 23+ messages in thread
From: Alexander Graf @ 2010-02-19 10:00 UTC (permalink / raw)
  To: kvm-ppc-u79uwXL29TY76Z2rM5mHXA; +Cc: kvm list

In an effort to get KVM on PPC more useful for other userspace users than
Qemu, I figured it'd be a nice idea to implement virtualization of the
Gekko CPU.

The Gekko is the CPU used in the GameCube. In a slightly more modern
fashion it lives on in the Wii today.

Using this patch set and a modified version of Dolphin, I was able to
virtualize simple GameCube demos on a 970MP system.

As always, while getting this to run I stumbled across several broken
parts and fixed them as they came up. So expect some bug fixes in this
patch set too.

v1 -> v2:

  - rename REG_ constants to KVM_REG_
  - make mmio sign extension more readable
  - replace binary patching emulator with function calls
  - add capability bit
  - make fpscr 64 bit wide
  - add secondary htab patch
  - make fpu work on ps3 again

Alexander Graf (21):
  KVM: PPC: Add QPR registers
  KVM: PPC: Make fpscr 64-bit
  KVM: PPC: Enable MMIO to do 64 bits, fprs and qprs
  KVM: PPC: Teach MMIO Signedness
  KVM: PPC: Add AGAIN type for emulation return
  KVM: PPC: Add hidden flag for paired singles
  KVM: PPC: Add Gekko SPRs
  KVM: PPC: Combine extension interrupt handlers
  KVM: PPC: Preload FPU when possible
  KVM: PPC: Fix typo in book3s_32 debug code
  KVM: PPC: Implement mtsr instruction emulation
  KVM: PPC: Make software load/store return eaddr
  KVM: PPC: Make ext giveup non-static
  KVM: PPC: Add helpers to call FPU instructions
  KVM: PPC: Fix error in BAT assignment
  KVM: PPC: Add helpers to modify ppc fields
  KVM: PPC: Enable program interrupt to do MMIO
  KVM: PPC: Implement Paired Single emulation
  KVM: PPC: Add capability for paired singles
  KVM: PPC: Enable use of secondary htab bucket
  KVM: PPC: Simplify kvmppc_load_up_(FPU|VMX|VSX)

 arch/powerpc/include/asm/kvm.h           |    7 +
 arch/powerpc/include/asm/kvm_asm.h       |    1 +
 arch/powerpc/include/asm/kvm_book3s.h    |    7 +-
 arch/powerpc/include/asm/kvm_fpu.h       |   85 ++
 arch/powerpc/include/asm/kvm_host.h      |    8 +-
 arch/powerpc/include/asm/kvm_ppc.h       |   39 +-
 arch/powerpc/include/asm/reg.h           |   10 +
 arch/powerpc/kernel/ppc_ksyms.c          |    2 +
 arch/powerpc/kvm/Makefile                |    2 +
 arch/powerpc/kvm/book3s.c                |  118 +++-
 arch/powerpc/kvm/book3s_32_mmu.c         |    2 +-
 arch/powerpc/kvm/book3s_64_emulate.c     |   94 ++-
 arch/powerpc/kvm/book3s_64_mmu_host.c    |    9 +-
 arch/powerpc/kvm/book3s_64_rmhandlers.S  |   13 +-
 arch/powerpc/kvm/book3s_paired_singles.c | 1289 ++++++++++++++++++++++++++++++
 arch/powerpc/kvm/emulate.c               |   18 +-
 arch/powerpc/kvm/fpu.S                   |  274 +++++++
 arch/powerpc/kvm/powerpc.c               |   54 ++-
 include/linux/kvm.h                      |    1 +
 19 files changed, 1976 insertions(+), 57 deletions(-)
 create mode 100644 arch/powerpc/include/asm/kvm_fpu.h
 create mode 100644 arch/powerpc/kvm/book3s_paired_singles.c
 create mode 100644 arch/powerpc/kvm/fpu.S

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

end of thread, other threads:[~2010-02-21 10:01 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-19 10:00 [PATCH 00/21] KVM: PPC: Virtualize Gekko guests v2 Alexander Graf
2010-02-19 10:00 ` [PATCH 04/21] KVM: PPC: Teach MMIO Signedness Alexander Graf
     [not found] ` <1266573647-30153-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-19 10:00   ` [PATCH 01/21] KVM: PPC: Add QPR registers Alexander Graf
2010-02-19 10:00   ` [PATCH 02/21] KVM: PPC: Make fpscr 64-bit Alexander Graf
2010-02-19 10:00   ` [PATCH 03/21] KVM: PPC: Enable MMIO to do 64 bits, fprs and qprs Alexander Graf
2010-02-19 10:00   ` [PATCH 05/21] KVM: PPC: Add AGAIN type for emulation return Alexander Graf
2010-02-19 10:00   ` [PATCH 06/21] KVM: PPC: Add hidden flag for paired singles Alexander Graf
2010-02-19 10:00   ` [PATCH 07/21] KVM: PPC: Add Gekko SPRs Alexander Graf
2010-02-19 10:00   ` [PATCH 10/21] KVM: PPC: Fix typo in book3s_32 debug code Alexander Graf
2010-02-19 10:00   ` [PATCH 13/21] KVM: PPC: Make ext giveup non-static Alexander Graf
2010-02-19 10:00   ` [PATCH 14/21] KVM: PPC: Add helpers to call FPU instructions Alexander Graf
2010-02-19 10:00   ` [PATCH 16/21] KVM: PPC: Add helpers to modify ppc fields Alexander Graf
2010-02-19 10:00   ` [PATCH 17/21] KVM: PPC: Enable program interrupt to do MMIO Alexander Graf
2010-02-19 10:00   ` [PATCH 18/21] KVM: PPC: Implement Paired Single emulation Alexander Graf
2010-02-19 10:00   ` [PATCH 20/21] KVM: PPC: Enable use of secondary htab bucket Alexander Graf
2010-02-21 10:01   ` [PATCH 00/21] KVM: PPC: Virtualize Gekko guests v2 Avi Kivity
2010-02-19 10:00 ` [PATCH 08/21] KVM: PPC: Combine extension interrupt handlers Alexander Graf
2010-02-19 10:00 ` [PATCH 09/21] KVM: PPC: Preload FPU when possible Alexander Graf
2010-02-19 10:00 ` [PATCH 11/21] KVM: PPC: Implement mtsr instruction emulation Alexander Graf
2010-02-19 10:00 ` [PATCH 12/21] KVM: PPC: Make software load/store return eaddr Alexander Graf
2010-02-19 10:00 ` [PATCH 15/21] KVM: PPC: Fix error in BAT assignment Alexander Graf
2010-02-19 10:00 ` [PATCH 19/21] KVM: PPC: Add capability for paired singles Alexander Graf
2010-02-19 10:00 ` [PATCH 21/21] KVM: PPC: Simplify kvmppc_load_up_(FPU|VMX|VSX) Alexander Graf

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