public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] KVM: PPC: Virtualize Gekko guests
@ 2010-02-04 15:55 Alexander Graf
  2010-02-04 15:55 ` [PATCH 01/18] KVM: PPC: Add QPR registers Alexander Graf
                   ` (9 more replies)
  0 siblings, 10 replies; 53+ messages in thread
From: Alexander Graf @ 2010-02-04 15:55 UTC (permalink / raw)
  To: kvm-ppc; +Cc: kvm

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.

Alexander Graf (18):
  KVM: PPC: Add QPR registers
  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: Reserve a chunk of memory for opcodes
  KVM: PPC: Implement Paired Single emulation

 arch/powerpc/include/asm/kvm.h           |    7 +
 arch/powerpc/include/asm/kvm_asm.h       |    1 +
 arch/powerpc/include/asm/kvm_book3s.h    |    8 +-
 arch/powerpc/include/asm/kvm_fpu.h       |   45 +
 arch/powerpc/include/asm/kvm_host.h      |    6 +
 arch/powerpc/include/asm/kvm_ppc.h       |   43 +-
 arch/powerpc/include/asm/reg.h           |   10 +
 arch/powerpc/kernel/ppc_ksyms.c          |    2 +
 arch/powerpc/kvm/Makefile                |    2 +
 arch/powerpc/kvm/book3s.c                |  132 +++-
 arch/powerpc/kvm/book3s_32_mmu.c         |    2 +-
 arch/powerpc/kvm/book3s_64_emulate.c     |   94 ++-
 arch/powerpc/kvm/book3s_paired_singles.c | 1356 ++++++++++++++++++++++++++++++
 arch/powerpc/kvm/emulate.c               |   18 +-
 arch/powerpc/kvm/fpu.S                   |   77 ++
 arch/powerpc/kvm/powerpc.c               |   56 ++-
 16 files changed, 1821 insertions(+), 38 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] 53+ messages in thread

end of thread, other threads:[~2010-02-18  8:04 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-04 15:55 [PATCH 00/18] KVM: PPC: Virtualize Gekko guests Alexander Graf
2010-02-04 15:55 ` [PATCH 01/18] KVM: PPC: Add QPR registers Alexander Graf
     [not found] ` <1265298925-31954-1-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-04 15:55   ` [PATCH 02/18] KVM: PPC: Enable MMIO to do 64 bits, fprs and qprs Alexander Graf
     [not found]     ` <1265298925-31954-3-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:29       ` Avi Kivity
     [not found]         ` <4B6EB229.8090502-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:51           ` Alexander Graf
2010-02-04 15:55   ` [PATCH 03/18] KVM: PPC: Teach MMIO Signedness Alexander Graf
     [not found]     ` <1265298925-31954-4-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:32       ` Avi Kivity
     [not found]         ` <4B6EB2D7.1030500-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:51           ` Alexander Graf
     [not found]             ` <3CEF000F-1751-4E65-A08A-C71B2CE8DAEE-l3A5Bk7waGM@public.gmane.org>
2010-02-07 16:15               ` Avi Kivity
2010-02-07 16:27           ` Anthony Liguori
2010-02-07 21:35             ` Alexander Graf
     [not found]               ` <1CA08386-21CA-4B4F-A1E6-56C4DE584BA6-l3A5Bk7waGM@public.gmane.org>
2010-02-07 22:13                 ` Anthony Liguori
2010-02-04 15:55   ` [PATCH 04/18] KVM: PPC: Add AGAIN type for emulation return Alexander Graf
2010-02-04 15:55   ` [PATCH 05/18] KVM: PPC: Add hidden flag for paired singles Alexander Graf
2010-02-04 15:55   ` [PATCH 06/18] KVM: PPC: Add Gekko SPRs Alexander Graf
2010-02-04 15:55   ` [PATCH 12/18] KVM: PPC: Make ext giveup non-static Alexander Graf
2010-02-04 15:55   ` [PATCH 14/18] KVM: PPC: Fix error in BAT assignment Alexander Graf
2010-02-04 15:55   ` [PATCH 15/18] KVM: PPC: Add helpers to modify ppc fields Alexander Graf
2010-02-04 15:55   ` [PATCH 16/18] KVM: PPC: Enable program interrupt to do MMIO Alexander Graf
2010-02-07 12:54   ` [PATCH 00/18] KVM: PPC: Virtualize Gekko guests Avi Kivity
     [not found]     ` <4B6EB7F6.10304-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-07 15:49       ` Alexander Graf
2010-02-07 16:22         ` Avi Kivity
2010-02-07 22:02           ` Alexander Graf
2010-02-08  8:53             ` Avi Kivity
     [not found]               ` <4B6FD118.2090207-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 10:58                 ` Alexander Graf
     [not found]                   ` <87CEECB5-107A-46EB-89F5-1E1F92AC22AA-l3A5Bk7waGM@public.gmane.org>
2010-02-08 11:09                     ` Avi Kivity
     [not found]                       ` <4B6FF0E6.6060309-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 11:30                         ` Alexander Graf
     [not found]                           ` <A5BC5A7E-D45B-4BAF-804A-B364810F50DA-l3A5Bk7waGM@public.gmane.org>
2010-02-08 12:03                             ` Avi Kivity
     [not found]                               ` <4B6FFD85.6090100-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-08 12:05                                 ` Alexander Graf
     [not found]                                   ` <939C8633-1B2C-4888-B1C1-357DF1C56CE6-l3A5Bk7waGM@public.gmane.org>
2010-02-08 12:15                                     ` Avi Kivity
2010-02-08 12:31                                       ` Alexander Graf
2010-02-09 11:00               ` Alexander Graf
     [not found]                 ` <4B714049.7010201-l3A5Bk7waGM@public.gmane.org>
2010-02-09 11:06                   ` Avi Kivity
2010-02-09 11:13                     ` Alexander Graf
     [not found]                       ` <4B71435E.7010103-l3A5Bk7waGM@public.gmane.org>
2010-02-09 12:27                         ` Avi Kivity
     [not found]                           ` <4B7154A6.6050809-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 14:56                             ` Alexander Graf
     [not found]                               ` <80F0B53A-6F83-4166-8F85-5D9B07526158-l3A5Bk7waGM@public.gmane.org>
2010-02-17 16:03                                 ` Avi Kivity
     [not found]                                   ` <4B7C134C.9040009-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 16:23                                     ` Alexander Graf
2010-02-17 16:34                                       ` Avi Kivity
     [not found]                                         ` <4B7C1A91.8060205-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-17 18:07                                           ` Alexander Graf
     [not found]                                             ` <D3C1F39A-E9C8-46B8-9C4A-12E56D34B5AC-l3A5Bk7waGM@public.gmane.org>
2010-02-18  7:40                                               ` Avi Kivity
     [not found]                                                 ` <4B7CEEFF.9000801-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2010-02-18  8:04                                                   ` Avi Kivity
2010-02-04 15:55 ` [PATCH 07/18] KVM: PPC: Combine extension interrupt handlers Alexander Graf
2010-02-04 15:55 ` [PATCH 08/18] KVM: PPC: Preload FPU when possible Alexander Graf
2010-02-04 15:55 ` [PATCH 09/18] KVM: PPC: Fix typo in book3s_32 debug code Alexander Graf
2010-02-04 15:55 ` [PATCH 10/18] KVM: PPC: Implement mtsr instruction emulation Alexander Graf
2010-02-04 15:55 ` [PATCH 11/18] KVM: PPC: Make software load/store return eaddr Alexander Graf
2010-02-04 15:55 ` [PATCH 13/18] KVM: PPC: Add helpers to call FPU instructions Alexander Graf
2010-02-04 15:55 ` [PATCH 17/18] KVM: PPC: Reserve a chunk of memory for opcodes Alexander Graf
2010-02-04 15:55 ` [PATCH 18/18] KVM: PPC: Implement Paired Single emulation Alexander Graf
     [not found]   ` <1265298925-31954-19-git-send-email-agraf-l3A5Bk7waGM@public.gmane.org>
2010-02-07 12:50     ` Avi Kivity
2010-02-07 15:57       ` Alexander Graf
2010-02-07 16:18         ` Avi Kivity

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