From patchwork Fri Apr 12 21:06:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artyom Tarasenko X-Patchwork-Id: 10899137 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A2F3C13B5 for ; Fri, 12 Apr 2019 21:08:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 81EB028F40 for ; Fri, 12 Apr 2019 21:08:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7FEA228F3E; Fri, 12 Apr 2019 21:08:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 19B6C28F50 for ; Fri, 12 Apr 2019 21:08:02 +0000 (UTC) Received: from localhost ([127.0.0.1]:42663 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3Oz-0001ga-4V for patchwork-qemu-devel@patchwork.kernel.org; Fri, 12 Apr 2019 17:08:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51350) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3NV-0000Pn-AG for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hF3NU-00055c-98 for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:29 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:56191) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hF3NU-00054y-24; Fri, 12 Apr 2019 17:06:28 -0400 Received: by mail-wm1-x344.google.com with SMTP id o25so12812095wmf.5; Fri, 12 Apr 2019 14:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6+mdXw7JctYNLM3sl7L6uUTdMFAgSpVg+rVKzE53wOA=; b=QTTEVYHft49WivpWajDFoSS8bZrfwsMO453RjMggyFu24SSCS78K+3QHVgyh3SUwCS qMewFt6BKSJ/04oS2ZheTL+zxANNRL+mRL9raoQKMIBL21MNSwG1mkhQtlnP+Ce+NI5P sUecgivTM8xEPwrSYT3FGZqrFq1ISLF344t6nQHfkQdl1/v5LZ3jWQsJOqQfvfV4s9Lw AhLW6FBrLcPrX+J4/g6AuYsKGXQHZxFO5ryWkrZWIMS+DWOIcg2Fk4DUiGsLH8xGBcV5 X6x+Fer4N4OdD5RrficqDSUNxflwQw2ziHeLcayRZh9FACpzhYF1/CCa/NAHCZ9s2s8w vJ+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=6+mdXw7JctYNLM3sl7L6uUTdMFAgSpVg+rVKzE53wOA=; b=SbO9ryZH39cSKViRN5KVZr3WSI6tVfdqGTMAvSU9HgiT8/Lm5Eqr4ftPoU+5kUVIQj v20d7AaoG5YgTiFG5XVdug5eCsvwLRCOcLT1iEEIIunAxZRYCZ9US51SZ6DDClzmHhl+ xqWhyl0NePULXyBCM2Wrz5tn/VxW4JiUUwMZ9sPLWMDVNzyNHFwGNwdr3zG5pVRMFgMF WKaNLXo/tyKOwjqiOj98Y8jX/imFn/2EtAtvKk8kZjPL8yf1sXhI/bHvbHNQ+hCAII6S uxr6KxiAL30QdbwjkxihVdWHXQMOJFIlcvTGP+DQajk/kek/OBRHwy+Mr6HejgzgGKMZ sUkQ== X-Gm-Message-State: APjAAAW2cw4nVo5200mFuTOW1WdbSR4VkhCwp+R8kzISiIes+yveD3eU 8WbM5QmbQtvQjg5jvsY3A0Eza2Jv X-Google-Smtp-Source: APXvYqw99v1w2bL7j/IKthdkL2UHxqRxfnNJbuYFDQj7yxALU35WCzjlZPxvWfDRAbHGeqIbvaneXQ== X-Received: by 2002:a7b:c848:: with SMTP id c8mr13058312wml.110.1555103186567; Fri, 12 Apr 2019 14:06:26 -0700 (PDT) Received: from localhost (x4d0c5397.dyn.telefonica.de. [77.12.83.151]) by smtp.gmail.com with ESMTPSA id v16sm81657168wro.48.2019.04.12.14.06.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Apr 2019 14:06:25 -0700 (PDT) From: Artyom Tarasenko To: qemu-devel@nongnu.org, hpoussin@reactos.org Date: Fri, 12 Apr 2019 23:06:15 +0200 Message-Id: <1555103178-21894-2-git-send-email-atar4qemu@gmail.com> X-Mailer: git-send-email 2.7.2 In-Reply-To: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> References: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 Subject: [Qemu-devel] [PATCH 1/4] lsi53c895a: hide 53c895a registers in 53c810 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: , Cc: Fam Zheng , Paolo Bonzini , qemu-ppc@nongnu.org, Artyom Tarasenko Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP AIX/PReP does access to the aliased IO registers of 53810. Implement aliasing to make the AIX driver work. Signed-off-by: Artyom Tarasenko --- hw/scsi/lsi53c895a.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/hw/scsi/lsi53c895a.c b/hw/scsi/lsi53c895a.c index da7239d..08841e0 100644 --- a/hw/scsi/lsi53c895a.c +++ b/hw/scsi/lsi53c895a.c @@ -2266,11 +2266,13 @@ static const struct SCSIBusInfo lsi_scsi_info = { .cancel = lsi_request_cancelled }; -static void lsi_scsi_realize(PCIDevice *dev, Error **errp) +static void lsi_scsi_realize_8xx(PCIDevice *dev, Error **errp, uint16_t type) { LSIState *s = LSI53C895A(dev); DeviceState *d = DEVICE(dev); uint8_t *pci_conf; + uint64_t mmio_size; + MemoryRegion *mr; pci_conf = dev->config; @@ -2279,13 +2281,21 @@ static void lsi_scsi_realize(PCIDevice *dev, Error **errp) /* Interrupt pin A */ pci_conf[PCI_INTERRUPT_PIN] = 0x01; - memory_region_init_io(&s->mmio_io, OBJECT(s), &lsi_mmio_ops, s, - "lsi-mmio", 0x400); memory_region_init_io(&s->ram_io, OBJECT(s), &lsi_ram_ops, s, "lsi-ram", 0x2000); memory_region_init_io(&s->io_io, OBJECT(s), &lsi_io_ops, s, "lsi-io", 256); - + if (type == PCI_DEVICE_ID_LSI_53C895A) { + mmio_size = 0x400; + } else { + mr = g_new(MemoryRegion, 1); + memory_region_init_alias(mr, OBJECT(d), "lsi-io-alias", &s->io_io, + 0, 0x80); + memory_region_add_subregion_overlap(&s->io_io, 0x80, mr, -1); + mmio_size = 0x80; + } + memory_region_init_io(&s->mmio_io, OBJECT(s), &lsi_mmio_ops, s, + "lsi-mmio", mmio_size); address_space_init(&s->pci_io_as, pci_address_space_io(dev), "lsi-pci-io"); qdev_init_gpio_out(d, &s->ext_irq, 1); @@ -2297,6 +2307,16 @@ static void lsi_scsi_realize(PCIDevice *dev, Error **errp) scsi_bus_new(&s->bus, sizeof(s->bus), d, &lsi_scsi_info, NULL); } +static void lsi_scsi_realize_895A(PCIDevice *dev, Error **errp) +{ + lsi_scsi_realize_8xx(dev, errp, PCI_DEVICE_ID_LSI_53C895A); +} + +static void lsi_scsi_realize_810(PCIDevice *dev, Error **errp) +{ + lsi_scsi_realize_8xx(dev, errp, PCI_DEVICE_ID_LSI_53C810); +} + static void lsi_scsi_unrealize(DeviceState *dev, Error **errp) { LSIState *s = LSI53C895A(dev); @@ -2309,7 +2329,7 @@ static void lsi_class_init(ObjectClass *klass, void *data) DeviceClass *dc = DEVICE_CLASS(klass); PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - k->realize = lsi_scsi_realize; + k->realize = lsi_scsi_realize_895A; k->vendor_id = PCI_VENDOR_ID_LSI_LOGIC; k->device_id = PCI_DEVICE_ID_LSI_53C895A; k->class_id = PCI_CLASS_STORAGE_SCSI; @@ -2335,6 +2355,7 @@ static void lsi53c810_class_init(ObjectClass *klass, void *data) { PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); + k->realize = lsi_scsi_realize_810; k->device_id = PCI_DEVICE_ID_LSI_53C810; } From patchwork Fri Apr 12 21:06:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Artyom Tarasenko X-Patchwork-Id: 10899139 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id E81AE17E0 for ; Fri, 12 Apr 2019 21:08:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id CA9CB28F41 for ; Fri, 12 Apr 2019 21:08:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id BCC6F28F50; Fri, 12 Apr 2019 21:08:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 68C6228F4A for ; Fri, 12 Apr 2019 21:08:03 +0000 (UTC) Received: from localhost ([127.0.0.1]:42665 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3P0-0001iL-JZ for patchwork-qemu-devel@patchwork.kernel.org; Fri, 12 Apr 2019 17:08:02 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51384) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3NX-0000QC-Fg for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hF3NV-00056g-Uz for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:31 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:36983) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hF3NV-000566-Nu; Fri, 12 Apr 2019 17:06:29 -0400 Received: by mail-wr1-x442.google.com with SMTP id w10so13620305wrm.4; Fri, 12 Apr 2019 14:06:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=P2WQNyUSQ57RzW0BhUh2sYxUZ68LvhtaLDPgKczx1Dc=; b=GVBkuDZDoUch2S5UyFd7UTdIlLalrfLmBCuWEDUwkc/I2fy0TidiF5VfL0OCn20R13 H24ExyRdCWHDBZJdjhzh2qHRJQqhvaktJf0mJBk7w6mwpzFDHnkhHeRGtJIjTMhE83J0 pCHZRAtdHAPEyA/+2jFfCsyhGDmxQDEkPHg7Lwc8O3ncPgcFkkd2xf6ntkyFjAb/rSEt V3HA67MZ6VQSWOI2pCdlVJ0+f9qeSZlN+0sJWSSQZEoP0TphV6C2Yq36Lx6pzMvaFonM lx1a7ZW4WWW1T/V6C6Z9dFbY6pzZD8NBJmxblm81npSzofclv9nxmpJ+4SsuiQZEU743 +2dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=P2WQNyUSQ57RzW0BhUh2sYxUZ68LvhtaLDPgKczx1Dc=; b=SeW1hsGsqfWqxGPIRd4cfKkVCvZ92p01Fhn1YL2FSlKoFho3hi97phoikZ7Nn8Tg0W wZ2YBFYZ8rmNcjy1S7IP2pq7W50s2IHjjCAG3J/auuRbgba5dmMjGW56xmKKaw65eQwy gdGo1+l94yv5gH8Hjj/YXlzFVdVAAwVa1KOeb7cZ4X3R5VB8Gksygr+4IWKZVlheKTxP oC53mqXjsxHSWBjux6ytjLUoGWeNzc6J64NkV5tj0/+gnDsmKVHXK5Uo0zpZd8c7TYKa 5Wtlx927FGdF3XBpCHE7MB2pqv6gI1Jvz9piAijCDzMIpn0qMmql/IIfu3JfPwS9ji9B vLwQ== X-Gm-Message-State: APjAAAXXqpBGXlXEjaWSdqzC/dhAjyNOUySmsWl0gr5VDklEhMBG13Hz y8/SGpGg2V/J0LaSxmhDm0oo/wmp X-Google-Smtp-Source: APXvYqxZHdOcVzCKdMRMZusPFErQ49Fk0N5AuDFiiLb2SqStf4MwMpDNrgL5S+2N0KXC5nOGCBcFqg== X-Received: by 2002:a5d:4750:: with SMTP id o16mr34046381wrs.206.1555103188614; Fri, 12 Apr 2019 14:06:28 -0700 (PDT) Received: from localhost (x4d0c5397.dyn.telefonica.de. [77.12.83.151]) by smtp.gmail.com with ESMTPSA id c16sm11723251wme.31.2019.04.12.14.06.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Apr 2019 14:06:27 -0700 (PDT) From: Artyom Tarasenko To: qemu-devel@nongnu.org, hpoussin@reactos.org Date: Fri, 12 Apr 2019 23:06:16 +0200 Message-Id: <1555103178-21894-3-git-send-email-atar4qemu@gmail.com> X-Mailer: git-send-email 2.7.2 In-Reply-To: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> References: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PATCH 2/4] 40p and prep: implement PCI bus mastering 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: , Cc: qemu-ppc@nongnu.org, Artyom Tarasenko Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Artyom Tarasenko Reviewed-by: Hervé Poussineau --- hw/pci-host/prep.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c index 8b9e1fd..94b7465 100644 --- a/hw/pci-host/prep.c +++ b/hw/pci-host/prep.c @@ -62,6 +62,7 @@ typedef struct PRePPCIState { AddressSpace pci_io_as; MemoryRegion pci_io; MemoryRegion pci_io_non_contiguous; + MemoryRegion pci_io_system; MemoryRegion pci_memory; MemoryRegion pci_intack; MemoryRegion bm; @@ -146,7 +147,7 @@ static uint64_t raven_io_read(void *opaque, hwaddr addr, uint8_t buf[4]; addr = raven_io_address(s, addr); - address_space_read(&s->pci_io_as, addr + 0x80000000, + address_space_read(&s->pci_io_as, addr, MEMTXATTRS_UNSPECIFIED, buf, size); if (size == 1) { @@ -178,7 +179,7 @@ static void raven_io_write(void *opaque, hwaddr addr, g_assert_not_reached(); } - address_space_write(&s->pci_io_as, addr + 0x80000000, + address_space_write(&s->pci_io_as, addr, MEMTXATTRS_UNSPECIFIED, buf, size); } @@ -276,14 +277,21 @@ static void raven_pcihost_initfn(Object *obj) MemoryRegion *address_space_mem = get_system_memory(); DeviceState *pci_dev; - memory_region_init(&s->pci_io, obj, "pci-io", 0x3f800000); + memory_region_init(&s->pci_io, obj, "pci-io", UINT32_MAX); memory_region_init_io(&s->pci_io_non_contiguous, obj, &raven_io_ops, s, "pci-io-non-contiguous", 0x00800000); memory_region_init(&s->pci_memory, obj, "pci-memory", 0x3f000000); address_space_init(&s->pci_io_as, &s->pci_io, "raven-io"); /* CPU address space */ - memory_region_add_subregion(address_space_mem, 0x80000000, &s->pci_io); + memory_region_add_subregion_overlap(address_space_mem, 0x0, + &s->pci_io, -1); + + memory_region_init_alias(&s->pci_io_system, obj, "pci-io-system", + &s->pci_io, 0x0000000, 0x3f800000); + + memory_region_add_subregion(address_space_mem, 0x80000000, + &s->pci_io_system); memory_region_add_subregion_overlap(address_space_mem, 0x80000000, &s->pci_io_non_contiguous, 1); memory_region_add_subregion(address_space_mem, 0xc0000000, &s->pci_memory); From patchwork Fri Apr 12 21:06:17 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Artyom Tarasenko X-Patchwork-Id: 10899145 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5403813B5 for ; Fri, 12 Apr 2019 21:11:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3455928F21 for ; Fri, 12 Apr 2019 21:11:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2879528F29; Fri, 12 Apr 2019 21:11:00 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D189A28F21 for ; Fri, 12 Apr 2019 21:10:59 +0000 (UTC) Received: from localhost ([127.0.0.1]:42720 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3Rr-0004Dj-3N for patchwork-qemu-devel@patchwork.kernel.org; Fri, 12 Apr 2019 17:10:59 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51404) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3Na-0000Sq-8Q for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hF3NY-000588-DY for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:34 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:36476) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hF3NY-00057U-3w; Fri, 12 Apr 2019 17:06:32 -0400 Received: by mail-wr1-x442.google.com with SMTP id y13so13630090wrd.3; Fri, 12 Apr 2019 14:06:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=W8ixuwHDYIWc5mB7FPo87JyNHztypB+6NDXzbL76bL0=; b=ZM1E61LbF+Qmgd0WaBSvEy4wzNZQ1iF8EAYddbHs/hvxO/Fpo0Pe11GN5LfAMhJK58 ajufquT10aDK6jklTeUcCg/s2dZMsSOqPII0lKcBEgYUnp4AJv3iWCJyZCymLcVO942B voQQhWzMu3BtbMftVw8lM3wN+j7iOhwwdsoacguKtYFMWQRLSxOoU2fWMGRuu+u5WK6U JX2pvkvZiB7p4eX8FKb0oEmAsxTjhyWHiDOo1021xpwMLELbgAIY/yRJd/olOJ2JBpR5 RUFynkCpU2+F/ijIdLZQ6mca7rSo3aZPYWyzTxAbgiP6YD95sTf0FDkjzBEiL5/a62qB KIzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=W8ixuwHDYIWc5mB7FPo87JyNHztypB+6NDXzbL76bL0=; b=V4uzRthwuQZqR4MCONKDChJ+nc/6e/G93bVZNa2F1DsPdeuUDrmyvT4mjTZ4xN4MPY sluwqqKkrhpLpCPWo5PE2Ktgo9JvuOFJOIBN+t/REyNbIPqan3+cSBbVw3qD81qBjQXH b4sZjrfhtIUSuNhgTJc96nT32DhQP/NE8dGefciiAcr2K8BdxHdUoxBwhnavLGkYaTq7 JdYXRxFNtvS7vFfQXiqNOFSYpN8GvqQb9ApFqaCCv6O4qU5byY5GyFGr7XX950QOQL/3 D/btHV5+diY8kV+rSoSe4Xsx1Hhu/ca5iomLKr3i5jObcyboUqzeJv8BM3lj1o64XRiz 3QdQ== X-Gm-Message-State: APjAAAWkrMUlkLui4XEToGpxL4ABH+QTpKWvFebo9nP5YP96VfA5HZjf MC6+X29BMJEq/eQJ2BudqQBAfk2h X-Google-Smtp-Source: APXvYqza9vkplNe1zHbdZHGFLAvua4bSEJpXPn24l3mVX6p3UWp68eSZV0wjREN4YbdQE1ur70H1mA== X-Received: by 2002:adf:f803:: with SMTP id s3mr18286487wrp.54.1555103190708; Fri, 12 Apr 2019 14:06:30 -0700 (PDT) Received: from localhost (x4d0c5397.dyn.telefonica.de. [77.12.83.151]) by smtp.gmail.com with ESMTPSA id h12sm40804140wrq.95.2019.04.12.14.06.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Apr 2019 14:06:30 -0700 (PDT) From: Artyom Tarasenko To: qemu-devel@nongnu.org, hpoussin@reactos.org Date: Fri, 12 Apr 2019 23:06:17 +0200 Message-Id: <1555103178-21894-4-git-send-email-atar4qemu@gmail.com> X-Mailer: git-send-email 2.7.2 In-Reply-To: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> References: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PATCH 3/4] target/ppc: improve performance of large BAT invalidations 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: , Cc: qemu-ppc@nongnu.org, Artyom Tarasenko , David Gibson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Performing a complete flush is ~ 100 times faster than flushing 256MiB of 4KiB pages. Set a limit of 1024 pages and perform a complete flush afterwards. This patch significantly speeds up AIX 5.1 and NetBSD-ofppc. Signed-off-by: Artyom Tarasenko Reviewed-by: Hervé Poussineau --- target/ppc/mmu_helper.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/ppc/mmu_helper.c b/target/ppc/mmu_helper.c index 4a6be4d..d7eed3a 100644 --- a/target/ppc/mmu_helper.c +++ b/target/ppc/mmu_helper.c @@ -1809,6 +1809,13 @@ static inline void do_invalidate_BAT(CPUPPCState *env, target_ulong BATu, base = BATu & ~0x0001FFFF; end = base + mask + 0x00020000; + if (((end - base) >> TARGET_PAGE_BITS) > 1024) { + /* Flushing 1024 4K pages is slower than a complete flush */ + LOG_BATS("Flush all BATs\n"); + tlb_flush(CPU(cs)); + LOG_BATS("Flush done\n"); + return; + } LOG_BATS("Flush BAT from " TARGET_FMT_lx " to " TARGET_FMT_lx " (" TARGET_FMT_lx ")\n", base, end, mask); for (page = base; page != end; page += TARGET_PAGE_SIZE) { From patchwork Fri Apr 12 21:06:18 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Artyom Tarasenko X-Patchwork-Id: 10899143 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 234D917E0 for ; Fri, 12 Apr 2019 21:10:46 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E7C8928F21 for ; Fri, 12 Apr 2019 21:10:45 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DB81728F29; Fri, 12 Apr 2019 21:10:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.0 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 7FE7F28F21 for ; Fri, 12 Apr 2019 21:10:45 +0000 (UTC) Received: from localhost ([127.0.0.1]:42718 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3Rc-000421-NK for patchwork-qemu-devel@patchwork.kernel.org; Fri, 12 Apr 2019 17:10:44 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51421) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hF3Nc-0000UU-Qv for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hF3Na-000596-Fs for qemu-devel@nongnu.org; Fri, 12 Apr 2019 17:06:36 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:40279) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hF3Na-00058G-8c; Fri, 12 Apr 2019 17:06:34 -0400 Received: by mail-wr1-x442.google.com with SMTP id h4so13592131wre.7; Fri, 12 Apr 2019 14:06:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=L3x/kH3COhh33wRKsD9DVr6ImO/OtH6bjTjff3YGWgE=; b=VxTQtk6ty5qfO8/g/4eAWEcCI/9KuDZPE+G48fVkC8QQMhKJb7dzi0ab3tyOxuG9Fr p7ZFm2RPo/8ms2zRSQqTiK2Dlpcx0w8JZn+FlnsrEcLJWqNZasONzrFpnT9Y+kP1uZev vgpWwsX/N/xUxP693y5LMom1shijd31dTHpl7wj/vReEQR4QgfeApIOYZb+BZ85DKlb8 KSC7REtBJVFXxZ1IKUZER10I4Bh/0IjyKMOow3eG9TOl6JbYZBlEQ7z8uieoPe+feN1o SW/be2IsardicyYrHi+tEGMqH+IpGDL0orPUdPsvWDUZTTubNSM6qEOW2l7gDLlU/JsF tFcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=L3x/kH3COhh33wRKsD9DVr6ImO/OtH6bjTjff3YGWgE=; b=n916psRGe4eboswq6BMb6b3tcgiap/y5pQQJeJOHRThb2lfS2G1a3kb11kl5KMB0De vrKkv8dk+R/6/qYLLb1gU4KrkyPOKQaj/exvk+zdJZQNWStSlni0g+KfBbGa0H6C2Aa1 BSx0txYPzvk6morc2i48xY9rrxWy5MsDq+2EVStKAtxolYhj/3cuoyJbNeaJPnTUQKt2 tDw0MzrLGkhnYkGiC6Ad1QJxNoSWGPZDYWC4hA8Svc5PuyTiHOajKb78vUltK9pbaa3k D2oDxRIw7XhBLJ1N1JwzPV2LknoJXWblZBtEWTBORzvyJXsmeHMXl1SO396Z8dEcIyC/ T23w== X-Gm-Message-State: APjAAAXwajr6aj7AeKjKkvMBGmSUO7wPFFSHC6EkOkzBwrWTnJEWojZE wVdmspGC11tkoRXPnhTvspjdxcJv X-Google-Smtp-Source: APXvYqxxjlpYqfK+JVf4DgbaqDpUDPK5iPaOO2fZpecOEWxU6cLkUhaB/Sv9eEbos/J/nZCbDcxcSQ== X-Received: by 2002:adf:dbce:: with SMTP id e14mr38388536wrj.249.1555103192226; Fri, 12 Apr 2019 14:06:32 -0700 (PDT) Received: from localhost (x4d0c5397.dyn.telefonica.de. [77.12.83.151]) by smtp.gmail.com with ESMTPSA id 4sm7104563wmg.12.2019.04.12.14.06.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Apr 2019 14:06:31 -0700 (PDT) From: Artyom Tarasenko To: qemu-devel@nongnu.org, hpoussin@reactos.org Date: Fri, 12 Apr 2019 23:06:18 +0200 Message-Id: <1555103178-21894-5-git-send-email-atar4qemu@gmail.com> X-Mailer: git-send-email 2.7.2 In-Reply-To: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> References: <1555103178-21894-1-git-send-email-atar4qemu@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 Subject: [Qemu-devel] [PATCH 4/4] hw/isa/i82378.c: use 1900 as a base year 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: , Cc: qemu-ppc@nongnu.org, Artyom Tarasenko Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP AIX 5.1 expects the base year to be 1900. Adjust accordingly. Signed-off-by: Artyom Tarasenko Reviewed-by: Hervé Poussineau --- hw/isa/i82378.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/isa/i82378.c b/hw/isa/i82378.c index a5d67bc..546c928 100644 --- a/hw/isa/i82378.c +++ b/hw/isa/i82378.c @@ -107,7 +107,9 @@ static void i82378_realize(PCIDevice *pci, Error **errp) isa = isa_create_simple(isabus, "i82374"); /* timer */ - isa_create_simple(isabus, TYPE_MC146818_RTC); + isa = isa_create(isabus, TYPE_MC146818_RTC); + qdev_prop_set_int32(DEVICE(isa), "base_year", 1900); + qdev_init_nofail(DEVICE(isa)); } static void i82378_init(Object *obj)