From patchwork Fri Apr 1 16:43:33 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 89308 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id A46BC1007D1 for ; Sat, 2 Apr 2011 04:12:17 +1100 (EST) Received: from localhost ([127.0.0.1]:59835 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q5htO-0005fw-C5 for incoming@patchwork.ozlabs.org; Fri, 01 Apr 2011 13:12:14 -0400 Received: from [140.186.70.92] (port=40888 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q5haw-0006yV-4k for qemu-devel@nongnu.org; Fri, 01 Apr 2011 12:53:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q5hRf-0005MM-NY for qemu-devel@nongnu.org; Fri, 01 Apr 2011 12:43:37 -0400 Received: from cantor2.suse.de ([195.135.220.15]:57505 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q5hRf-0005LW-CG for qemu-devel@nongnu.org; Fri, 01 Apr 2011 12:43:35 -0400 Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.221.2]) by mx2.suse.de (Postfix) with ESMTP id DBEA48765C; Fri, 1 Apr 2011 18:43:33 +0200 (CEST) From: Alexander Graf To: QEMU-devel Developers Date: Fri, 1 Apr 2011 18:43:33 +0200 Message-Id: <1301676213-9115-1-git-send-email-agraf@suse.de> X-Mailer: git-send-email 1.7.3.4 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 195.135.220.15 Cc: David Gibson Subject: [Qemu-devel] [PULL] PowerPC patch queue X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Howdy, this is the current patch queue for PowerPC. I'm very excited this time, as we finally have a real PPC64 target machine available to play with! I also included a patch from Aurelien that he seems to have forgotten to push. Alex The following changes since commit a5086f95421e43c7b9e1b28a111aae0be4848117: Michael Walle (1): lm32: use lookup table for opcodes are available in the git repository at: git://repo.or.cz/qemu/agraf.git ppc-next Aurelien Jarno (1): target-ppc: ext32u instead of andi with constant Ben Herrenschmidt (3): Implement PAPR CRQ hypercalls Implement PAPR virtual SCSI interface (ibmvscsi) Add a PAPR TCE-bypass mechanism for the pSeries machine David Gibson (24): Clean up PowerPC SLB handling code Allow qemu_devtree_setprop() to take arbitrary values Add a hook to allow hypercalls to be emulated on PowerPC Implement PowerPC slbmfee and slbmfev instructions Implement missing parts of the logic for the POWER PURR Correct ppc popcntb logic, implement popcntw and popcntd Clean up slb_lookup() function Parse SDR1 on mtspr instead of at translate time Use "hash" more consistently in ppc mmu code Better factor the ppc hash translation path Support 1T segments on ppc Add POWER7 support for ppc Start implementing pSeries logical partition machine Implement the bus structure for PAPR virtual IO Virtual hash page table handling on pSeries machine Implement hcall based RTAS for pSeries machines Implement assorted pSeries hcalls and RTAS methods Implement the PAPR (pSeries) virtualized interrupt controller (xics) Add PAPR H_VIO_SIGNAL hypercall and infrastructure for VIO interrupts Add (virtual) interrupt to PAPR virtual tty device Implement TCE translation for sPAPR VIO Implement sPAPR Virtual LAN (ibmveth) Implement PAPR VPA functions for pSeries shared processor partitions Add SLOF-based partition firmware for pSeries machine, allowing more boot options .gitmodules | 3 + Makefile | 3 +- Makefile.target | 5 + configure | 4 +- device_tree.c | 2 +- device_tree.h | 2 +- hw/ppc-viosrp.h | 216 +++++++++ hw/ppc.c | 35 ++ hw/ppc.h | 1 + hw/spapr.c | 456 ++++++++++++++++++ hw/spapr.h | 294 ++++++++++++ hw/spapr_hcall.c | 525 +++++++++++++++++++++ hw/spapr_llan.c | 521 +++++++++++++++++++++ hw/spapr_rtas.c | 278 +++++++++++ hw/spapr_vio.c | 731 +++++++++++++++++++++++++++++ hw/spapr_vio.h | 112 +++++ hw/spapr_vscsi.c | 988 +++++++++++++++++++++++++++++++++++++++ hw/spapr_vty.c | 159 +++++++ hw/srp.h | 240 ++++++++++ hw/xics.c | 486 +++++++++++++++++++ hw/xics.h | 39 ++ monitor.c | 2 +- pc-bios/README | 5 + pc-bios/slof.bin | Bin 0 -> 579072 bytes pc-bios/spapr-rtas.bin | Bin 0 -> 20 bytes pc-bios/spapr-rtas/Makefile | 24 + pc-bios/spapr-rtas/spapr-rtas.S | 37 ++ roms/SLOF | 1 + target-ppc/cpu.h | 84 ++++- target-ppc/helper.c | 451 +++++++++---------- target-ppc/helper.h | 7 +- target-ppc/kvm.c | 2 +- target-ppc/kvm_ppc.h | 11 + target-ppc/machine.c | 6 +- target-ppc/op_helper.c | 87 +++- target-ppc/translate.c | 61 ++- target-ppc/translate_init.c | 122 +++++- 37 files changed, 5723 insertions(+), 277 deletions(-) create mode 100644 hw/ppc-viosrp.h create mode 100644 hw/spapr.c create mode 100644 hw/spapr.h create mode 100644 hw/spapr_hcall.c create mode 100644 hw/spapr_llan.c create mode 100644 hw/spapr_rtas.c create mode 100644 hw/spapr_vio.c create mode 100644 hw/spapr_vio.h create mode 100644 hw/spapr_vscsi.c create mode 100644 hw/spapr_vty.c create mode 100644 hw/srp.h create mode 100644 hw/xics.c create mode 100644 hw/xics.h create mode 100644 pc-bios/slof.bin create mode 100755 pc-bios/spapr-rtas.bin create mode 100644 pc-bios/spapr-rtas/Makefile create mode 100644 pc-bios/spapr-rtas/spapr-rtas.S create mode 160000 roms/SLOF