This series adds support for a PPC64 platform, SPAPR, on top of the previous more general PPC64 CPU support. This platform is paravirtualised, with most of the MMU hypercalls being dealt with in the kernel. Userland needs to describe the environment to the machine with a device tree, cope with some hypercalls (and RTAS calls) for hvconsole, PCI config and IRQs, and emulate the interrupt controller (XICS) and PCI Host Bridge of the SPAPR-esque machine. With this series, normal pSeries kernels boot fine (including RH kernels that include virtio support out of the box). There is no support for PPC32 or 'bare metal' PPC64 guests as yet. Processor state is set up as a guest kernel would expect (both primary and secondaries), and SMP is fully supported. The kernels are loaded as flat binaries and booted directly. The intention is to later support loading firmware such as SLOF. Some of the code within is borrowed/based upon code in QEMU, particularly the XICS emulation, device tree construction and PCI setup. Matt Evans (6): kvm tools: Generate SPAPR PPC64 guest device tree kvm tools: Add SPAPR PPC64 hcall & rtascall structure kvm tools: Add SPAPR PPC64 HV console kvm tools: Add PPC64 XICS interrupt controller support kvm tools: Add PPC64 PCI Host Bridge kvm tools: Add PPC64 kvm_cpu__emulate_io() tools/kvm/Makefile | 8 +- tools/kvm/powerpc/include/kvm/kvm-arch.h | 14 + tools/kvm/powerpc/include/kvm/kvm-cpu-arch.h | 12 +- tools/kvm/powerpc/irq.c | 35 ++- tools/kvm/powerpc/kvm-cpu.c | 46 +++ tools/kvm/powerpc/kvm.c | 255 +++++++++++++- tools/kvm/powerpc/spapr.h | 111 ++++++ tools/kvm/powerpc/spapr_hcall.c | 132 +++++++ tools/kvm/powerpc/spapr_hvcons.c | 102 +++++ tools/kvm/powerpc/spapr_hvcons.h | 19 + tools/kvm/powerpc/spapr_pci.c | 423 +++++++++++++++++++++ tools/kvm/powerpc/spapr_pci.h | 38 ++ tools/kvm/powerpc/spapr_rtas.c | 230 ++++++++++++ tools/kvm/powerpc/xics.c | 514 ++++++++++++++++++++++++++ tools/kvm/powerpc/xics.h | 23 ++ 15 files changed, 1952 insertions(+), 10 deletions(-) create mode 100644 tools/kvm/powerpc/spapr.h create mode 100644 tools/kvm/powerpc/spapr_hcall.c create mode 100644 tools/kvm/powerpc/spapr_hvcons.c create mode 100644 tools/kvm/powerpc/spapr_hvcons.h create mode 100644 tools/kvm/powerpc/spapr_pci.c create mode 100644 tools/kvm/powerpc/spapr_pci.h create mode 100644 tools/kvm/powerpc/spapr_rtas.c create mode 100644 tools/kvm/powerpc/xics.c create mode 100644 tools/kvm/powerpc/xics.h -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html