From patchwork Fri Jun 1 14:12:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 137528 Delivered-To: patches@linaro.org Received: by 2002:a2e:9706:0:0:0:0:0 with SMTP id r6-v6csp991954lji; Fri, 1 Jun 2018 07:12:27 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKwUIDeR/7U46k86Yb4nQWWuV05zSjWdMQYbysSW1ZS7ytlYCE3FO+5iialh7jzziX1bqxs X-Received: by 2002:a1c:6dd3:: with SMTP id b80-v6mr2709677wmi.32.1527862346893; Fri, 01 Jun 2018 07:12:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527862346; cv=none; d=google.com; s=arc-20160816; b=gFzX64YUSaaeMYY1330AZom3E2rpnjwc7VmgKCd03J+knn8XcTa8kQmHBBkxsdvidU f6WpWUra1WfuAMG9AQUkwNvn7m2JrFrEWUKlVcIzGXPQCbXxRDQrn7ENVcwA0n5CcdYS GUTg2bryG1waDgoMmDM3Tqp4c+XV69pOBTILe1jaVzSqaB2z03/Hiad9jiNqircxmnLY jmTFt05Z8AkRGbwZC/oo/M3a3PxR/O5JazRYbgQaDx1mfX/jX5mZgIUbNpWR101srsoX Tgi8wUVyhzr/Ec/FsVOBQYbUNXCdGRP4zymVLVvQWWvWmwi1FQEgmefsY3jgCkHrUUFh dA2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=CZA6/pth5J/a8ZEhv4mVKYUpumliB/yl7lo+l9uG3Xk=; b=mrG62tqUspYvr41YNOuW9dldVqoi1vTq48mkAfeQzDoVluUVHvqge7EfH2MMPSXF32 iu5iDyZE6BbN/NImeXYiR+cYfz00khGVHJ8cWsVt0kt1gQgKhk7wVpGHQgh/JMYdtIhO ECOJMQHmnksKg4Nmi/y2iox5G7HtLyzfrjhUyG40HDj1wSh+FV/ehJQPb8Xt3zetnYph t2xXolXE7ZGPnCnjsPVfPOBovTdu8qNf5c+8Zp1iphf9qeE+8SnmbC9XYWqX0k/InVqe U+GBuJeu/Qix//y9qC5SmrZzH+7zHtjE6m5oVWYA8U/37nZKHn0rG103TmZQS/2keUjO K8AQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) smtp.mailfrom=pm215@archaic.org.uk; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by mx.google.com with ESMTPS id k78-v6si1623133wmc.8.2018.06.01.07.12.26 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Jun 2018 07:12:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) client-ip=2001:8b0:1d0::2; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) smtp.mailfrom=pm215@archaic.org.uk; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from pm215 by orth.archaic.org.uk with local (Exim 4.89) (envelope-from ) id 1fOkn4-00042X-3J; Fri, 01 Jun 2018 15:12:26 +0100 From: Peter Maydell To: qemu-devel@nongnu.org Cc: patches@linaro.org, Kevin Wolf , Max Reitz , "Michael S. Tsirkin" , Paolo Bonzini , Thomas Huth , Aurelien Jarno , qemu-block@nongnu.org, Yongbok Kim Subject: [PATCH 2/6] hw/m68k/mcf5206: Convert away from old_mmio Date: Fri, 1 Jun 2018 15:12:19 +0100 Message-Id: <20180601141223.26630-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180601141223.26630-1-peter.maydell@linaro.org> References: <20180601141223.26630-1-peter.maydell@linaro.org> Convert the mcf5206 device away from using the old_mmio field of MemoryRegionOps. This device is used by the an5206 board. Signed-off-by: Peter Maydell --- hw/m68k/mcf5206.c | 48 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 12 deletions(-) -- 2.17.1 Acked-by: Thomas Huth diff --git a/hw/m68k/mcf5206.c b/hw/m68k/mcf5206.c index 6ad1e4bd2d..0962911837 100644 --- a/hw/m68k/mcf5206.c +++ b/hw/m68k/mcf5206.c @@ -513,19 +513,43 @@ static void m5206_mbar_writel(void *opaque, hwaddr offset, m5206_mbar_write(s, offset, value, 4); } +static uint64_t m5206_mbar_readfn(void *opaque, hwaddr addr, unsigned size) +{ + switch (size) { + case 1: + return m5206_mbar_readb(opaque, addr); + case 2: + return m5206_mbar_readw(opaque, addr); + case 4: + return m5206_mbar_readl(opaque, addr); + default: + g_assert_not_reached(); + } +} + +static void m5206_mbar_writefn(void *opaque, hwaddr addr, + uint64_t value, unsigned size) +{ + switch (size) { + case 1: + m5206_mbar_writeb(opaque, addr, value); + break; + case 2: + m5206_mbar_writew(opaque, addr, value); + break; + case 4: + m5206_mbar_writel(opaque, addr, value); + break; + default: + g_assert_not_reached(); + } +} + static const MemoryRegionOps m5206_mbar_ops = { - .old_mmio = { - .read = { - m5206_mbar_readb, - m5206_mbar_readw, - m5206_mbar_readl, - }, - .write = { - m5206_mbar_writeb, - m5206_mbar_writew, - m5206_mbar_writel, - }, - }, + .read = m5206_mbar_readfn, + .write = m5206_mbar_writefn, + .valid.min_access_size = 1, + .valid.max_access_size = 4, .endianness = DEVICE_NATIVE_ENDIAN, };