From patchwork Tue Aug 15 20:06:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Parker X-Patchwork-Id: 801743 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; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ioCkXNh2"; dkim-atps=neutral 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 3xX3Rr07fRz9sR9 for ; Wed, 16 Aug 2017 06:07:36 +1000 (AEST) Received: from localhost ([::1]:34317 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dhi7h-0007yg-HF for incoming@patchwork.ozlabs.org; Tue, 15 Aug 2017 16:07:33 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36151) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dhi6w-0007tN-3C for qemu-devel@nongnu.org; Tue, 15 Aug 2017 16:06:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dhi6s-0006SR-Vq for qemu-devel@nongnu.org; Tue, 15 Aug 2017 16:06:46 -0400 Received: from mail-wm0-x242.google.com ([2a00:1450:400c:c09::242]:34341) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dhi6s-0006QS-OX for qemu-devel@nongnu.org; Tue, 15 Aug 2017 16:06:42 -0400 Received: by mail-wm0-x242.google.com with SMTP id x64so2558546wmg.1 for ; Tue, 15 Aug 2017 13:06:41 -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; bh=uUuCiD65MZ4o4vm4c5/fv6WZ1kJs7fmuG4YOT8yqhDc=; b=ioCkXNh29VhIIaT6ftJCygAt7SzcBLG0Ark0xWFqRKpsajdyqWTjjn+c/s+zRbyEwJ cqrhs5/NFLEfOMEsjvSEOBz3QwZ9MWtFod+LIIHOvpSsAGR0xFrPWtJ5GYVh+AJ83kT3 v2nS+F8l7BhFfpTPYJNeASkU9IeJSb0Hlkx5UHuQEgz9GlmfjcEkWYeNoMAfuisRbUlL xVdl5jAci8nKbVwt2kHc4EHehQfOWmoWKXqVwPUIutueQTbbvZDOSPxcxnb/eH805lSe 5tlO9byNHVckw7IOHjhfigZZyGcowQ6AGiUoqqHfwXAwWycjpt2gXF8n6nwjeDVAwFGX YhKQ== 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; bh=uUuCiD65MZ4o4vm4c5/fv6WZ1kJs7fmuG4YOT8yqhDc=; b=RtB0Oq8K54ivB4h7kN39MC2JjWY0VKgna76p7TiBjGZtNyzwSzTK7/q7Yp+cX4XUGY LYqXqbYEkti0IHFO7hkFq8XacwfL+klA8T1LNaPWOxICq5b94UB0xAqIQAe8Ti1o0hit PGYZwHW22ulEYEs4aYFX6ZnZ1p8ZUJFjqptg4boRxF9K7+CewNwW7JFHbu/D+ky8UgYx lATjN3IA6U0sbZNlqDMs0TLTuSEOTSjnxvQSwbRDAvXmfxqoj5UJbzRnpEUDU8QjkL2/ J8chEcs6TEDSztycYqEOrnRAckJJ6dJDUOGuWWHT7cwvgSXPa+AfAYhr5wKoeC1ryToo c9kg== X-Gm-Message-State: AHYfb5gzJ7VJFZQAR7/aAb2j4kUB8iW0Q39MZZBP66TDmNuyBKtDqj1N JoXoczL4Re2nP+uk X-Received: by 10.28.46.148 with SMTP id u142mr2352210wmu.149.1502827600115; Tue, 15 Aug 2017 13:06:40 -0700 (PDT) Received: from solar.home (host81-147-83-176.range81-147.btcentralplus.com. [81.147.83.176]) by smtp.gmail.com with ESMTPSA id v17sm606680wrg.24.2017.08.15.13.06.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 Aug 2017 13:06:39 -0700 (PDT) From: Matt Parker To: qemu-devel@nongnu.org Date: Tue, 15 Aug 2017 21:06:07 +0100 Message-Id: <20170815200607.16232-1-mtparkr@gmail.com> X-Mailer: git-send-email 2.13.2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:400c:c09::242 Subject: [Qemu-devel] [PATCH v2] net: rtl8139: do not use old_mmio accesses 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: pbonzini@redhat.com, jasowang@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Both io and memory use the same mmio functions in the rtl8139 device. This patch removes the separate MemoryRegionOps and old_mmio accessors for memory, and replaces it with an alias to the io memory region. Signed-off-by: Matt Parker --- hw/net/rtl8139.c | 53 +++-------------------------------------------------- 1 file changed, 3 insertions(+), 50 deletions(-) diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 671c7e48c6..3be24bbee7 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -3132,38 +3132,6 @@ static uint32_t rtl8139_io_readl(void *opaque, uint8_t addr) /* */ -static void rtl8139_mmio_writeb(void *opaque, hwaddr addr, uint32_t val) -{ - rtl8139_io_writeb(opaque, addr & 0xFF, val); -} - -static void rtl8139_mmio_writew(void *opaque, hwaddr addr, uint32_t val) -{ - rtl8139_io_writew(opaque, addr & 0xFF, val); -} - -static void rtl8139_mmio_writel(void *opaque, hwaddr addr, uint32_t val) -{ - rtl8139_io_writel(opaque, addr & 0xFF, val); -} - -static uint32_t rtl8139_mmio_readb(void *opaque, hwaddr addr) -{ - return rtl8139_io_readb(opaque, addr & 0xFF); -} - -static uint32_t rtl8139_mmio_readw(void *opaque, hwaddr addr) -{ - uint32_t val = rtl8139_io_readw(opaque, addr & 0xFF); - return val; -} - -static uint32_t rtl8139_mmio_readl(void *opaque, hwaddr addr) -{ - uint32_t val = rtl8139_io_readl(opaque, addr & 0xFF); - return val; -} - static int rtl8139_post_load(void *opaque, int version_id) { RTL8139State* s = opaque; @@ -3344,22 +3312,6 @@ static const MemoryRegionOps rtl8139_io_ops = { .endianness = DEVICE_LITTLE_ENDIAN, }; -static const MemoryRegionOps rtl8139_mmio_ops = { - .old_mmio = { - .read = { - rtl8139_mmio_readb, - rtl8139_mmio_readw, - rtl8139_mmio_readl, - }, - .write = { - rtl8139_mmio_writeb, - rtl8139_mmio_writew, - rtl8139_mmio_writel, - }, - }, - .endianness = DEVICE_LITTLE_ENDIAN, -}; - static void rtl8139_timer(void *opaque) { RTL8139State *s = opaque; @@ -3422,8 +3374,9 @@ static void pci_rtl8139_realize(PCIDevice *dev, Error **errp) memory_region_init_io(&s->bar_io, OBJECT(s), &rtl8139_io_ops, s, "rtl8139", 0x100); - memory_region_init_io(&s->bar_mem, OBJECT(s), &rtl8139_mmio_ops, s, - "rtl8139", 0x100); + memory_region_init_alias(&s->bar_mem, OBJECT(s), "rtl8139-mem", &s->bar_io, + 0, 0x100); + pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &s->bar_io); pci_register_bar(dev, 1, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->bar_mem);