From patchwork Mon Jan 25 01:15:27 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Gibson X-Patchwork-Id: 8103111 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 46A359F6DA for ; Mon, 25 Jan 2016 01:25:01 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A27D120221 for ; Mon, 25 Jan 2016 01:25:00 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E89452021B for ; Mon, 25 Jan 2016 01:24:59 +0000 (UTC) Received: from localhost ([::1]:34086 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNVtr-0006VW-8f for patchwork-qemu-devel@patchwork.kernel.org; Sun, 24 Jan 2016 20:24:59 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47847) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNVjs-0002dA-Gq for qemu-devel@nongnu.org; Sun, 24 Jan 2016 20:14:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aNVjp-0000f0-Du for qemu-devel@nongnu.org; Sun, 24 Jan 2016 20:14:40 -0500 Received: from ozlabs.org ([2401:3900:2:1::2]:33137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aNVjp-0000bN-1x; Sun, 24 Jan 2016 20:14:37 -0500 Received: by ozlabs.org (Postfix, from userid 1007) id 73FC2140C05; Mon, 25 Jan 2016 12:14:33 +1100 (AEDT) From: David Gibson To: peter.maydell@linaro.org Date: Mon, 25 Jan 2016 12:15:27 +1100 Message-Id: <1453684527-23564-29-git-send-email-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1453684527-23564-1-git-send-email-david@gibson.dropbear.id.au> References: <1453684527-23564-1-git-send-email-david@gibson.dropbear.id.au> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2401:3900:2:1::2 Cc: lvivier@redhat.com, thuth@redhat.com, mark.cave-ayland@ilande.co.uk, agraf@suse.de, qemu-devel@nongnu.org, Programmingkid , qemu-ppc@nongnu.org, bharata@linux.vnet.ibm.com, David Gibson , gkurz@linux.vnet.ibm.com Subject: [Qemu-devel] [PULL 28/28] uninorth.c: add support for UniNorth kMacRISCPCIAddressSelect (0x48) register X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Programmingkid Darwin/OS X use the undocumented kMacRISCPCIAddressSelect (0x48) to configure PCI memory space size for mac99 machines. Without this register, warnings similar to below are emitted to the console during boot: AppleMacRiscPCI: bad range 2(80000000:01000000) AppleMacRiscPCI: bad range 2(81000000:00001000) AppleMacRiscPCI: bad range 2(81080000:00080000) Based upon the algorithm in Darwin's AppleMacRiscPCI.cpp driver, set the kMacRISCPCIAddressSelect register so that Darwin considers the PCI memory space to be at 0x80000000 (size 0x10000000) which matches that currently used by QEMU and OpenBIOS. Signed-off-by: John Arbuckle Tested-by: Mark Cave-Ayland [commit message and comment revised as suggested by Mark Cave-Ayland] Signed-off-by: David Gibson --- hw/pci-host/uninorth.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/pci-host/uninorth.c b/hw/pci-host/uninorth.c index 215b64f..d4aff84 100644 --- a/hw/pci-host/uninorth.c +++ b/hw/pci-host/uninorth.c @@ -330,6 +330,15 @@ static void unin_agp_pci_host_realize(PCIDevice *d, Error **errp) d->config[0x0C] = 0x08; // cache_line_size d->config[0x0D] = 0x10; // latency_timer // d->config[0x34] = 0x80; // capabilities_pointer + /* + * Set kMacRISCPCIAddressSelect (0x48) register to indicate PCI + * memory space with base 0x80000000, size 0x10000000 for Apple's + * AppleMacRiscPCI driver + */ + d->config[0x48] = 0x0; + d->config[0x49] = 0x0; + d->config[0x4a] = 0x0; + d->config[0x4b] = 0x1; } static void u3_agp_pci_host_realize(PCIDevice *d, Error **errp)