From nobody Wed Nov 5 13:01:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1534839860855587.4849742465559; Tue, 21 Aug 2018 01:24:20 -0700 (PDT) Received: from localhost ([::1]:51540 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1xV-0007Fn-My for importer@patchew.org; Tue, 21 Aug 2018 04:24:13 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1qA-0000mV-Fy for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fs1q7-0001Pk-Tz for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:38 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:57414 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fs1q7-0001PM-P1 for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:35 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 75D0C804BAAD for ; Tue, 21 Aug 2018 08:16:35 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-184.ams2.redhat.com [10.36.116.184]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6DCE22157F49; Tue, 21 Aug 2018 08:16:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id C084793F6; Tue, 21 Aug 2018 10:16:31 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Tue, 21 Aug 2018 10:16:28 +0200 Message-Id: <20180821081631.19160-2-kraxel@redhat.com> In-Reply-To: <20180821081631.19160-1-kraxel@redhat.com> References: <20180821081631.19160-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Tue, 21 Aug 2018 08:16:35 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Tue, 21 Aug 2018 08:16:35 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 1/4] hw/display/ramfb: Compile the ramfb code only when CONFIG_FW_CFG_DMA is set 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: Thomas Huth , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Thomas Huth According to the ramfb_setup() function, the ramfb device needs fw_cfg with DMA, so we should also only compile and link it into those targets which support it, to avoid that the device shows up on systems where it can not be used at all (e.g. s390x). Signed-off-by: Thomas Huth Message-id: 1534786083-26559-1-git-send-email-thuth@redhat.com Signed-off-by: Gerd Hoffmann --- hw/display/Makefile.objs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs index fb8408c6d0..a606fb7404 100644 --- a/hw/display/Makefile.objs +++ b/hw/display/Makefile.objs @@ -1,5 +1,5 @@ -common-obj-y +=3D ramfb.o -common-obj-y +=3D ramfb-standalone.o +common-obj-$(CONFIG_FW_CFG_DMA) +=3D ramfb.o +common-obj-$(CONFIG_FW_CFG_DMA) +=3D ramfb-standalone.o =20 common-obj-$(CONFIG_ADS7846) +=3D ads7846.o common-obj-$(CONFIG_VGA_CIRRUS) +=3D cirrus_vga.o --=20 2.9.3 From nobody Wed Nov 5 13:01:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1534839541894417.98903348202543; Tue, 21 Aug 2018 01:19:01 -0700 (PDT) Received: from localhost ([::1]:51499 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1sJ-0001vy-AE for importer@patchew.org; Tue, 21 Aug 2018 04:18:51 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51208) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1qA-0000mS-FH for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fs1q7-0001P5-BC for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:38 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:42358 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fs1q7-0001Of-3w for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:35 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7C6A540216E8 for ; Tue, 21 Aug 2018 08:16:34 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-184.ams2.redhat.com [10.36.116.184]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6DAB390A1D; Tue, 21 Aug 2018 08:16:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id CA19F9B2F8; Tue, 21 Aug 2018 10:16:31 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Tue, 21 Aug 2018 10:16:29 +0200 Message-Id: <20180821081631.19160-3-kraxel@redhat.com> In-Reply-To: <20180821081631.19160-1-kraxel@redhat.com> References: <20180821081631.19160-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Tue, 21 Aug 2018 08:16:34 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Tue, 21 Aug 2018 08:16:34 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 2/4] qxl: drop unused generation variable 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: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Gerd Hoffmann Reviewed-by: Peter Maydell Message-id: 20180810132236.25908-1-kraxel@redhat.com --- hw/display/qxl.h | 1 - hw/display/qxl.c | 1 - 2 files changed, 2 deletions(-) diff --git a/hw/display/qxl.h b/hw/display/qxl.h index 089696ef62..6eacba080d 100644 --- a/hw/display/qxl.h +++ b/hw/display/qxl.h @@ -43,7 +43,6 @@ typedef struct PCIQXLDevice { =20 enum qxl_mode mode; uint32_t cmdflags; - int generation; uint32_t revision; =20 int32_t num_memslots; diff --git a/hw/display/qxl.c b/hw/display/qxl.c index 830c392c53..8e9135d9c6 100644 --- a/hw/display/qxl.c +++ b/hw/display/qxl.c @@ -2057,7 +2057,6 @@ static void qxl_realize_common(PCIQXLDevice *qxl, Err= or **errp) =20 qemu_spice_display_init_common(&qxl->ssd); qxl->mode =3D QXL_MODE_UNDEFINED; - qxl->generation =3D 1; qxl->num_memslots =3D NUM_MEMSLOTS; qemu_mutex_init(&qxl->track_lock); qemu_mutex_init(&qxl->async_lock); --=20 2.9.3 From nobody Wed Nov 5 13:01:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1534839835432277.78110078014186; Tue, 21 Aug 2018 01:23:55 -0700 (PDT) Received: from localhost ([::1]:51538 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1xB-00071z-3q for importer@patchew.org; Tue, 21 Aug 2018 04:23:53 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51213) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1qA-0000mW-G7 for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fs1q7-0001PB-C1 for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:38 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:57410 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fs1q7-0001Oe-4D for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:35 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 8C841804BAAD; Tue, 21 Aug 2018 08:16:34 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-184.ams2.redhat.com [10.36.116.184]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6122917336; Tue, 21 Aug 2018 08:16:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id D280E9B2F9; Tue, 21 Aug 2018 10:16:31 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Tue, 21 Aug 2018 10:16:30 +0200 Message-Id: <20180821081631.19160-4-kraxel@redhat.com> In-Reply-To: <20180821081631.19160-1-kraxel@redhat.com> References: <20180821081631.19160-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Tue, 21 Aug 2018 08:16:34 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.8]); Tue, 21 Aug 2018 08:16:34 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 3/4] hw/display/vga-isa-mm: Convert away from old_mmio 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: Peter Maydell , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Peter Maydell Convert the vga-isa-mm device away from the old_mmio MemoryRegion accessors. This device is only used by the MIPS 'jazz' boards "magnum" and "pica61". Signed-off-by: Peter Maydell Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Herv=C3=A9 Poussineau Tested-by: Herv=C3=A9 Poussineau Message-id: 20180802155147.1863-2-peter.maydell@linaro.org Signed-off-by: Gerd Hoffmann --- hw/display/vga-isa-mm.c | 60 +++++++++++----------------------------------= ---- 1 file changed, 13 insertions(+), 47 deletions(-) diff --git a/hw/display/vga-isa-mm.c b/hw/display/vga-isa-mm.c index 232216cad0..215e649719 100644 --- a/hw/display/vga-isa-mm.c +++ b/hw/display/vga-isa-mm.c @@ -36,64 +36,30 @@ typedef struct ISAVGAMMState { } ISAVGAMMState; =20 /* Memory mapped interface */ -static uint32_t vga_mm_readb (void *opaque, hwaddr addr) +static uint64_t vga_mm_read(void *opaque, hwaddr addr, unsigned size) { ISAVGAMMState *s =3D opaque; =20 - return vga_ioport_read(&s->vga, addr >> s->it_shift) & 0xff; + return vga_ioport_read(&s->vga, addr >> s->it_shift) & + MAKE_64BIT_MASK(0, size * 8); } =20 -static void vga_mm_writeb (void *opaque, - hwaddr addr, uint32_t value) +static void vga_mm_write(void *opaque, hwaddr addr, uint64_t value, + unsigned size) { ISAVGAMMState *s =3D opaque; =20 - vga_ioport_write(&s->vga, addr >> s->it_shift, value & 0xff); -} - -static uint32_t vga_mm_readw (void *opaque, hwaddr addr) -{ - ISAVGAMMState *s =3D opaque; - - return vga_ioport_read(&s->vga, addr >> s->it_shift) & 0xffff; -} - -static void vga_mm_writew (void *opaque, - hwaddr addr, uint32_t value) -{ - ISAVGAMMState *s =3D opaque; - - vga_ioport_write(&s->vga, addr >> s->it_shift, value & 0xffff); -} - -static uint32_t vga_mm_readl (void *opaque, hwaddr addr) -{ - ISAVGAMMState *s =3D opaque; - - return vga_ioport_read(&s->vga, addr >> s->it_shift); -} - -static void vga_mm_writel (void *opaque, - hwaddr addr, uint32_t value) -{ - ISAVGAMMState *s =3D opaque; - - vga_ioport_write(&s->vga, addr >> s->it_shift, value); + vga_ioport_write(&s->vga, addr >> s->it_shift, + value & MAKE_64BIT_MASK(0, size * 8)); } =20 static const MemoryRegionOps vga_mm_ctrl_ops =3D { - .old_mmio =3D { - .read =3D { - vga_mm_readb, - vga_mm_readw, - vga_mm_readl, - }, - .write =3D { - vga_mm_writeb, - vga_mm_writew, - vga_mm_writel, - }, - }, + .read =3D vga_mm_read, + .write =3D vga_mm_write, + .valid.min_access_size =3D 1, + .valid.max_access_size =3D 4, + .impl.min_access_size =3D 1, + .impl.max_access_size =3D 4, .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 --=20 2.9.3 From nobody Wed Nov 5 13:01:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1534839722382617.3296453958001; Tue, 21 Aug 2018 01:22:02 -0700 (PDT) Received: from localhost ([::1]:51523 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1vN-0005bg-7t for importer@patchew.org; Tue, 21 Aug 2018 04:22:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51210) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fs1qA-0000mT-Fv for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fs1q8-0001Pu-3A for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:38 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:42198 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fs1q7-0001PT-TU for qemu-devel@nongnu.org; Tue, 21 Aug 2018 04:16:36 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 94B52879C4; Tue, 21 Aug 2018 08:16:35 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-116-184.ams2.redhat.com [10.36.116.184]) by smtp.corp.redhat.com (Postfix) with ESMTP id 693402166BA1; Tue, 21 Aug 2018 08:16:32 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id DB3F931F2A; Tue, 21 Aug 2018 10:16:31 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Tue, 21 Aug 2018 10:16:31 +0200 Message-Id: <20180821081631.19160-5-kraxel@redhat.com> In-Reply-To: <20180821081631.19160-1-kraxel@redhat.com> References: <20180821081631.19160-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Tue, 21 Aug 2018 08:16:35 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Tue, 21 Aug 2018 08:16:35 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'kraxel@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PULL 4/4] hw/pci-host/bonito: Move away from old_mmio accessors 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: Peter Maydell , Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RDMRC_1 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Peter Maydell Move away from the old_mmio MemoryRegion accessors in the bonito pci controller. This device is used only in the MIPS "fulong2e" machine. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20180802155147.1863-3-peter.maydell@linaro.org Signed-off-by: Gerd Hoffmann --- hw/pci-host/bonito.c | 145 ++++++-----------------------------------------= ---- 1 file changed, 15 insertions(+), 130 deletions(-) diff --git a/hw/pci-host/bonito.c b/hw/pci-host/bonito.c index 2d25e9bf7c..9868e2eccc 100644 --- a/hw/pci-host/bonito.c +++ b/hw/pci-host/bonito.c @@ -460,8 +460,8 @@ static uint32_t bonito_sbridge_pciaddr(void *opaque, hw= addr addr) return pciaddr; } =20 -static void bonito_spciconf_writeb(void *opaque, hwaddr addr, - uint32_t val) +static void bonito_spciconf_write(void *opaque, hwaddr addr, uint64_t val, + unsigned size) { PCIBonitoState *s =3D opaque; PCIDevice *d =3D PCI_DEVICE(s); @@ -469,62 +469,8 @@ static void bonito_spciconf_writeb(void *opaque, hwadd= r addr, uint32_t pciaddr; uint16_t status; =20 - DPRINTF("bonito_spciconf_writeb "TARGET_FMT_plx" val %x\n", addr, val); - pciaddr =3D bonito_sbridge_pciaddr(s, addr); - - if (pciaddr =3D=3D 0xffffffff) { - return; - } - - /* set the pci address in s->config_reg */ - phb->config_reg =3D (pciaddr) | (1u << 31); - pci_data_write(phb->bus, phb->config_reg, val & 0xff, 1); - - /* clear PCI_STATUS_REC_MASTER_ABORT and PCI_STATUS_REC_TARGET_ABORT */ - status =3D pci_get_word(d->config + PCI_STATUS); - status &=3D ~(PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_REC_TARGET_ABOR= T); - pci_set_word(d->config + PCI_STATUS, status); -} - -static void bonito_spciconf_writew(void *opaque, hwaddr addr, - uint32_t val) -{ - PCIBonitoState *s =3D opaque; - PCIDevice *d =3D PCI_DEVICE(s); - PCIHostState *phb =3D PCI_HOST_BRIDGE(s->pcihost); - uint32_t pciaddr; - uint16_t status; - - DPRINTF("bonito_spciconf_writew "TARGET_FMT_plx" val %x\n", addr, val); - assert((addr & 0x1) =3D=3D 0); - - pciaddr =3D bonito_sbridge_pciaddr(s, addr); - - if (pciaddr =3D=3D 0xffffffff) { - return; - } - - /* set the pci address in s->config_reg */ - phb->config_reg =3D (pciaddr) | (1u << 31); - pci_data_write(phb->bus, phb->config_reg, val, 2); - - /* clear PCI_STATUS_REC_MASTER_ABORT and PCI_STATUS_REC_TARGET_ABORT */ - status =3D pci_get_word(d->config + PCI_STATUS); - status &=3D ~(PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_REC_TARGET_ABOR= T); - pci_set_word(d->config + PCI_STATUS, status); -} - -static void bonito_spciconf_writel(void *opaque, hwaddr addr, - uint32_t val) -{ - PCIBonitoState *s =3D opaque; - PCIDevice *d =3D PCI_DEVICE(s); - PCIHostState *phb =3D PCI_HOST_BRIDGE(s->pcihost); - uint32_t pciaddr; - uint16_t status; - - DPRINTF("bonito_spciconf_writel "TARGET_FMT_plx" val %x\n", addr, val); - assert((addr & 0x3) =3D=3D 0); + DPRINTF("bonito_spciconf_write "TARGET_FMT_plx" size %d val %x\n", + addr, size, val); =20 pciaddr =3D bonito_sbridge_pciaddr(s, addr); =20 @@ -534,7 +480,7 @@ static void bonito_spciconf_writel(void *opaque, hwaddr= addr, =20 /* set the pci address in s->config_reg */ phb->config_reg =3D (pciaddr) | (1u << 31); - pci_data_write(phb->bus, phb->config_reg, val, 4); + pci_data_write(phb->bus, phb->config_reg, val, size); =20 /* clear PCI_STATUS_REC_MASTER_ABORT and PCI_STATUS_REC_TARGET_ABORT */ status =3D pci_get_word(d->config + PCI_STATUS); @@ -542,61 +488,7 @@ static void bonito_spciconf_writel(void *opaque, hwadd= r addr, pci_set_word(d->config + PCI_STATUS, status); } =20 -static uint32_t bonito_spciconf_readb(void *opaque, hwaddr addr) -{ - PCIBonitoState *s =3D opaque; - PCIDevice *d =3D PCI_DEVICE(s); - PCIHostState *phb =3D PCI_HOST_BRIDGE(s->pcihost); - uint32_t pciaddr; - uint16_t status; - - DPRINTF("bonito_spciconf_readb "TARGET_FMT_plx"\n", addr); - pciaddr =3D bonito_sbridge_pciaddr(s, addr); - - if (pciaddr =3D=3D 0xffffffff) { - return 0xff; - } - - /* set the pci address in s->config_reg */ - phb->config_reg =3D (pciaddr) | (1u << 31); - - /* clear PCI_STATUS_REC_MASTER_ABORT and PCI_STATUS_REC_TARGET_ABORT */ - status =3D pci_get_word(d->config + PCI_STATUS); - status &=3D ~(PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_REC_TARGET_ABOR= T); - pci_set_word(d->config + PCI_STATUS, status); - - return pci_data_read(phb->bus, phb->config_reg, 1); -} - -static uint32_t bonito_spciconf_readw(void *opaque, hwaddr addr) -{ - PCIBonitoState *s =3D opaque; - PCIDevice *d =3D PCI_DEVICE(s); - PCIHostState *phb =3D PCI_HOST_BRIDGE(s->pcihost); - uint32_t pciaddr; - uint16_t status; - - DPRINTF("bonito_spciconf_readw "TARGET_FMT_plx"\n", addr); - assert((addr & 0x1) =3D=3D 0); - - pciaddr =3D bonito_sbridge_pciaddr(s, addr); - - if (pciaddr =3D=3D 0xffffffff) { - return 0xffff; - } - - /* set the pci address in s->config_reg */ - phb->config_reg =3D (pciaddr) | (1u << 31); - - /* clear PCI_STATUS_REC_MASTER_ABORT and PCI_STATUS_REC_TARGET_ABORT */ - status =3D pci_get_word(d->config + PCI_STATUS); - status &=3D ~(PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_REC_TARGET_ABOR= T); - pci_set_word(d->config + PCI_STATUS, status); - - return pci_data_read(phb->bus, phb->config_reg, 2); -} - -static uint32_t bonito_spciconf_readl(void *opaque, hwaddr addr) +static uint64_t bonito_spciconf_read(void *opaque, hwaddr addr, unsigned s= ize) { PCIBonitoState *s =3D opaque; PCIDevice *d =3D PCI_DEVICE(s); @@ -604,13 +496,12 @@ static uint32_t bonito_spciconf_readl(void *opaque, h= waddr addr) uint32_t pciaddr; uint16_t status; =20 - DPRINTF("bonito_spciconf_readl "TARGET_FMT_plx"\n", addr); - assert((addr & 0x3) =3D=3D 0); + DPRINTF("bonito_spciconf_read "TARGET_FMT_plx" size %d\n", addr, size); =20 pciaddr =3D bonito_sbridge_pciaddr(s, addr); =20 if (pciaddr =3D=3D 0xffffffff) { - return 0xffffffff; + return MAKE_64BIT_MASK(0, size * 8); } =20 /* set the pci address in s->config_reg */ @@ -621,23 +512,17 @@ static uint32_t bonito_spciconf_readl(void *opaque, h= waddr addr) status &=3D ~(PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_REC_TARGET_ABOR= T); pci_set_word(d->config + PCI_STATUS, status); =20 - return pci_data_read(phb->bus, phb->config_reg, 4); + return pci_data_read(phb->bus, phb->config_reg, size); } =20 /* south bridge PCI configure space. 0x1fe8 0000 - 0x1fef ffff */ static const MemoryRegionOps bonito_spciconf_ops =3D { - .old_mmio =3D { - .read =3D { - bonito_spciconf_readb, - bonito_spciconf_readw, - bonito_spciconf_readl, - }, - .write =3D { - bonito_spciconf_writeb, - bonito_spciconf_writew, - bonito_spciconf_writel, - }, - }, + .read =3D bonito_spciconf_read, + .write =3D bonito_spciconf_write, + .valid.min_access_size =3D 1, + .valid.max_access_size =3D 4, + .impl.min_access_size =3D 1, + .impl.max_access_size =3D 4, .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 --=20 2.9.3