From patchwork Wed Jul 20 05:02:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 9238889 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 6128360868 for ; Wed, 20 Jul 2016 05:04:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5594B268AE for ; Wed, 20 Jul 2016 05:04:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4A5AC275A2; Wed, 20 Jul 2016 05:04:06 +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=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.1 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.wl.linuxfoundation.org (Postfix) with ESMTPS id 6D2872756B for ; Wed, 20 Jul 2016 05:04:05 +0000 (UTC) Received: from localhost ([::1]:60567 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPjft-0007vX-RL for patchwork-qemu-devel@patchwork.kernel.org; Wed, 20 Jul 2016 01:04:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42473) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPjfH-0007ux-12 for qemu-devel@nongnu.org; Wed, 20 Jul 2016 01:03:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bPjfF-0004dn-2Q for qemu-devel@nongnu.org; Wed, 20 Jul 2016 01:03:22 -0400 Received: from mail-pf0-x244.google.com ([2607:f8b0:400e:c00::244]:34947) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPjfE-0004dh-OE; Wed, 20 Jul 2016 01:03:21 -0400 Received: by mail-pf0-x244.google.com with SMTP id h186so2684184pfg.2; Tue, 19 Jul 2016 22:03:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fqML/CB4n416Mb9bBMskMiVKV5Y2QhJV1IEFX35GoMc=; b=la59SaaRtSC40ENBjNfAtEhbPVcbHy9XClHtMUc7t3PCqn3nX93/ESqNmDh8M4GZTG JDCeASjCQiE8QixiwYNL1PfbzmGEqgfHyJ8OT/v4MruRPy+nBIcgCcKn1uMYJnxxI9GY ibbKjvSJwG+uKyeCdUdZLaX6dr5UwFpvixdXT09v31ti+SGBtelUcCXk9dvxgaa/XCen 8c6wZKZKiKJKB81oUmmd9cFH4jQ0tUspYAZYfXacxQbiWURSmY/iuWweHjwMxslqzhU0 LlZ/PJht1InC+jb4R2+3MbNHnrxf6BjYw+aGrzaK5CLYk0zyylLEVQTu6gmZ8zI3m5Tw x1Ag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fqML/CB4n416Mb9bBMskMiVKV5Y2QhJV1IEFX35GoMc=; b=dTUxhFZDY2eR/GFXddubQr9zNDvHzko3Y+ERhdF3p2zCGI2CLaAx09+I4ySUMjJcqQ 5SJyO+/jNnuKs91nsapor4u3iQ/sz5bptDajEtvjMvux1rEqhh5Fe35uP7cuxLWCZZhW RtZfbTSZCJBkHZDRdTb9ZRoJbsKbBaldObdyoVuo2zoUCfEeZSslfw+dIkJ/wU8xVfs5 V34GE+j3GxeCH+50FAwptfCI5HiuYwxYgIuofQ+Ua3bJCG64o4t1f09a08Cb194ERg/7 CtJCNWn9XyQ/d6dV+eAyLR2GDPYar3lQZ/6NQF6fKIthY/iuc16A9DNNKJWxacDHZGRY YpIQ== X-Gm-Message-State: ALyK8tL96bGyPLFqnAdS67WCnRgJHSz92RQfJLetVB8IcP3wR7r79GbEz5ZiU30T+Xz9FA== X-Received: by 10.98.56.207 with SMTP id f198mr55693181pfa.83.1468990999898; Tue, 19 Jul 2016 22:03:19 -0700 (PDT) Received: from squirtle.localdomain.localdomain (c-73-225-163-254.hsd1.wa.comcast.net. [73.225.163.254]) by smtp.gmail.com with ESMTPSA id c66sm1031757pfd.24.2016.07.19.22.03.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Jul 2016 22:03:19 -0700 (PDT) From: Andrey Smirnov To: qemu-devel@nongnu.org Date: Tue, 19 Jul 2016 22:02:52 -0700 Message-Id: <1468990980-4598-3-git-send-email-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1468990980-4598-1-git-send-email-andrew.smirnov@gmail.com> References: <1468990980-4598-1-git-send-email-andrew.smirnov@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:400e:c00::244 Subject: [Qemu-devel] [PATCH v3 02/10] Change signature of address_space_read() to avoid casting 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 , kvm@vger.kernel.org, Andrey Smirnov , qemu-arm@nongnu.org, qemu-ppc@nongnu.org, David Gibson Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Change signature of address_space_read() to expectet void * as a buffer instead of uint8_t * to avoid forcing the caller of the function to do a type cast. Reviewed-by: David Gibson Signed-off-by: Andrey Smirnov --- exec.c | 2 +- hw/net/dp8393x.c | 16 ++++++++-------- hw/virtio/virtio.c | 2 +- include/exec/memory.h | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/exec.c b/exec.c index 337ec01..76d55ed 100644 --- a/exec.c +++ b/exec.c @@ -2736,7 +2736,7 @@ MemTxResult address_space_rw(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, if (is_write) { return address_space_write(as, addr, attrs, (uint8_t *)buf, len); } else { - return address_space_read(as, addr, attrs, (uint8_t *)buf, len); + return address_space_read(as, addr, attrs, buf, len); } } diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index 3af044f..b8b33ee 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -205,7 +205,7 @@ static void dp8393x_do_load_cam(dp8393xState *s) /* Fill current entry */ address_space_read(&s->as, (s->regs[SONIC_URRA] << 16) | s->regs[SONIC_CDP], - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size); + MEMTXATTRS_UNSPECIFIED, data, size); s->cam[index][0] = data[1 * width] & 0xff; s->cam[index][1] = data[1 * width] >> 8; s->cam[index][2] = data[2 * width] & 0xff; @@ -224,7 +224,7 @@ static void dp8393x_do_load_cam(dp8393xState *s) /* Read CAM enable */ address_space_read(&s->as, (s->regs[SONIC_URRA] << 16) | s->regs[SONIC_CDP], - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size); + MEMTXATTRS_UNSPECIFIED, data, size); s->regs[SONIC_CE] = data[0 * width]; DPRINTF("load cam done. cam enable mask 0x%04x\n", s->regs[SONIC_CE]); @@ -244,7 +244,7 @@ static void dp8393x_do_read_rra(dp8393xState *s) size = sizeof(uint16_t) * 4 * width; address_space_read(&s->as, (s->regs[SONIC_URRA] << 16) | s->regs[SONIC_RRP], - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size); + MEMTXATTRS_UNSPECIFIED, data, size); /* Update SONIC registers */ s->regs[SONIC_CRBA0] = data[0 * width]; @@ -362,7 +362,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) s->regs[SONIC_TTDA] = s->regs[SONIC_CTDA]; address_space_read(&s->as, ((s->regs[SONIC_UTDA] << 16) | s->regs[SONIC_TTDA]) + sizeof(uint16_t) * width, - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size); + MEMTXATTRS_UNSPECIFIED, data, size); tx_len = 0; /* Update registers */ @@ -397,7 +397,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) size = sizeof(uint16_t) * 3 * width; address_space_read(&s->as, ((s->regs[SONIC_UTDA] << 16) | s->regs[SONIC_TTDA]) + sizeof(uint16_t) * (4 + 3 * i) * width, - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size); + MEMTXATTRS_UNSPECIFIED, data, size); s->regs[SONIC_TSA0] = data[0 * width]; s->regs[SONIC_TSA1] = data[1 * width]; s->regs[SONIC_TFS] = data[2 * width]; @@ -438,7 +438,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) size = sizeof(uint16_t) * width; address_space_read(&s->as, ((s->regs[SONIC_UTDA] << 16) | s->regs[SONIC_TTDA]) + sizeof(uint16_t) * (4 + 3 * s->regs[SONIC_TFC]) * width, - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size); + MEMTXATTRS_UNSPECIFIED, data, size); s->regs[SONIC_CTDA] = data[0 * width] & ~0x1; if (data[0 * width] & 0x1) { /* EOL detected */ @@ -702,7 +702,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf, size = sizeof(uint16_t) * 1 * width; address = ((s->regs[SONIC_URDA] << 16) | s->regs[SONIC_CRDA]) + sizeof(uint16_t) * 5 * width; address_space_read(&s->as, address, MEMTXATTRS_UNSPECIFIED, - (uint8_t *)data, size); + data, size); if (data[0 * width] & 0x1) { /* Still EOL ; stop reception */ return -1; @@ -762,7 +762,7 @@ static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf, size = sizeof(uint16_t) * width; address_space_read(&s->as, ((s->regs[SONIC_URDA] << 16) | s->regs[SONIC_CRDA]) + sizeof(uint16_t) * 5 * width, - MEMTXATTRS_UNSPECIFIED, (uint8_t *)data, size); + MEMTXATTRS_UNSPECIFIED, data, size); s->regs[SONIC_LLFA] = data[0 * width]; if (s->regs[SONIC_LLFA] & 0x1) { /* EOL detected */ diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 18153d5..6e04cea 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -122,7 +122,7 @@ static void vring_desc_read(VirtIODevice *vdev, VRingDesc *desc, hwaddr desc_pa, int i) { address_space_read(&address_space_memory, desc_pa + i * sizeof(VRingDesc), - MEMTXATTRS_UNSPECIFIED, (void *)desc, sizeof(VRingDesc)); + MEMTXATTRS_UNSPECIFIED, desc, sizeof(VRingDesc)); virtio_tswap64s(vdev, &desc->addr); virtio_tswap32s(vdev, &desc->len); virtio_tswap16s(vdev, &desc->flags); diff --git a/include/exec/memory.h b/include/exec/memory.h index 3e4d416..262ecab 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -1451,7 +1451,7 @@ static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write) */ static inline __attribute__((__always_inline__)) MemTxResult address_space_read(AddressSpace *as, hwaddr addr, MemTxAttrs attrs, - uint8_t *buf, int len) + void *buf, int len) { MemTxResult result = MEMTX_OK; hwaddr l, addr1;