From patchwork Tue Jun 12 16:43:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Cave-Ayland X-Patchwork-Id: 928411 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ilande.co.uk Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 414wjv6sbGz9s1b for ; Wed, 13 Jun 2018 02:45:39 +1000 (AEST) Received: from localhost ([::1]:57368 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fSmQL-0002DV-I4 for incoming@patchwork.ozlabs.org; Tue, 12 Jun 2018 12:45:37 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59831) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fSmPb-00027v-L8 for qemu-devel@nongnu.org; Tue, 12 Jun 2018 12:44:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fSmPY-0005y1-GA for qemu-devel@nongnu.org; Tue, 12 Jun 2018 12:44:51 -0400 Received: from chuckie.co.uk ([82.165.15.123]:57575 helo=s16892447.onlinehome-server.info) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fSmPY-0005nd-8E; Tue, 12 Jun 2018 12:44:48 -0400 Received: from host86-191-128-6.range86-191.btcentralplus.com ([86.191.128.6] helo=kentang.home) by s16892447.onlinehome-server.info with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1fSmPd-0007Kw-Hs; Tue, 12 Jun 2018 17:44:54 +0100 From: Mark Cave-Ayland To: qemu-devel@nongnu.org, qemu-ppc@nongnu.org, david@gibson.dropbear.id.au Date: Tue, 12 Jun 2018 17:43:55 +0100 Message-Id: <20180612164402.28680-1-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.11.0 X-SA-Exim-Connect-IP: 86.191.128.6 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk X-SA-Exim-Version: 4.2.1 (built Sun, 08 Jan 2012 02:45:44 +0000) X-SA-Exim-Scanned: Yes (on s16892447.onlinehome-server.info) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 82.165.15.123 Subject: [Qemu-devel] [PATCH 0/7] mac99: add via-pmu support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" This patchset is based upon Ben H's experimental branch which adds PMU support to the QEMU mac99 machine. Currently mac99 uses the via-cuda device which works in a lot of cases, but many OSs such as MacOS 10.5 only support via-pmu. A lot of the work I've been doing on the Mac machines over the past year or so has been to enable me to remove all the hacks from the PMU work to enable it to be submitted upstream, and here we are. The choice of via is controlled with a new "via" machine option which has 3 values: via=cuda - Use via-cuda as per the current mac99 machine but largely unsupported via=pmu-adb - Use via-pmu but attach the mouse and keyboard to the PMU ADB bus rather than USB (useful for esoteric OS X images) via=pmu - Use via-pmu with USB mouse and keyboards, as per a real PowerMac3,1 machine Eventually the aim is to switch the mac99 default option to via=pmu but there are some minor issues with older OS X related to timer calibration and USB that means I'm not ready to do that just yet. Note that the via-pmu device also requires an updated OpenBIOS containing a suitable PMU driver which have been posted over to the OpenBIOS mailing list at https://mail.coreboot.org/pipermail/openbios/2018-June/010384.html. Signed-off-by: Mark Cave-Ayland Mark Cave-Ayland (7): ppc: introduce Core99MachinesState for the mac99 machine mac_newworld: add via machine option to control mac99 VIA/ADB configuration mac_newworld: add gpios to macio devices with PMU enabled mac_newworld: wire up programmer switch to NMI handler adb: fix read reg 3 byte ordering adb: add property to disable direct reg 3 writes mac_newworld: add PMU device default-configs/ppc-softmmu.mak | 2 + hw/input/adb-kbd.c | 29 +- hw/input/adb-mouse.c | 41 +- hw/input/adb.c | 7 + hw/misc/macio/Makefile.objs | 2 + hw/misc/macio/gpio.c | 231 +++++++++++ hw/misc/macio/macio.c | 89 +++- hw/misc/macio/pmu.c | 871 ++++++++++++++++++++++++++++++++++++++++ hw/misc/macio/trace-events | 28 ++ hw/ppc/mac.h | 20 + hw/ppc/mac_newworld.c | 84 +++- include/hw/input/adb.h | 1 + include/hw/misc/macio/gpio.h | 47 +++ include/hw/misc/macio/macio.h | 7 + include/hw/misc/macio/pmu.h | 237 +++++++++++ include/hw/ppc/ppc.h | 1 + 16 files changed, 1639 insertions(+), 58 deletions(-) create mode 100644 hw/misc/macio/gpio.c create mode 100644 hw/misc/macio/pmu.c create mode 100644 include/hw/misc/macio/gpio.h create mode 100644 include/hw/misc/macio/pmu.h