From nobody Mon Feb 9 17:37:32 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) client-ip=209.85.128.41; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f41.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=quarantine dis=quarantine) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1642507435; cv=none; d=zohomail.com; s=zohoarc; b=i8xBhCTEHuqv/aigLQIR6nmtOJYqdjcMiRXmX7IifB+RgRUO2w5O+wghIMUyHvZZBB+Om4yfDf+7Rj3DPXQF0q4pP6Tq+zx3Rl9Ehz2px0r+6GI5hYmTHXc8ztIyGbLU583RxxyRpOCnc7qIEtZRYBUAd60YXhjGoYzSescctjI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1642507435; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EB1E6GjOT965H1546eRI7MAYmLzsPxdyv9nPv4t3lfs=; b=XgEVQueUHthDOb2hFYG7yyUNT8CUOglwsqmglxLtucsr7ZI+PxcYP3lQpeepH2HSYhRmWBugcMqA31uuADLd4l9h7tkEzP4tYjppf1pvj0cyAtCOzgNRUs//9+xls/FR4YZ6XtaHb93/YkGPsUyhkcgO/SNX0EOQjkH+HaTYd5U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.41 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=quarantine dis=quarantine) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.zohomail.com with SMTPS id 1642507434827765.9365500024518; Tue, 18 Jan 2022 04:03:54 -0800 (PST) Received: by mail-wm1-f41.google.com with SMTP id c2so21607980wml.1 for ; Tue, 18 Jan 2022 04:03:54 -0800 (PST) Return-Path: Return-Path: Received: from nuc.. (154.red-83-50-83.dynamicip.rima-tde.net. [83.50.83.154]) by smtp.gmail.com with ESMTPSA id 1sm7656390wry.81.2022.01.18.04.03.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Jan 2022 04:03:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=EB1E6GjOT965H1546eRI7MAYmLzsPxdyv9nPv4t3lfs=; b=HcbGOWVmaC2G2Dufl5xmxx17M0entBkI3dSD5MyXXe7+ceSdtMlxqP1jLedeW2rqI0 HmUv0tazGlETjG/ZmCKS1j1a+j/IOabHsyLtJgLo3kR08zg7pkolaU0KnAtCrnjO/rTH /DFqUu1i8uQdRcWdiONvEpNY1FojkvRu9swiROUtiI0pMkKpxvfHvhjg2x02uzPwrlDX VfV4Vjt1Ip70yxs3kDYrFvw5u0NiKB2DV9n6CN1+zzjkC9U5IxLEDtnTwZaFZ7a/HnAr BoW6r8MAFUtzqqrUz7aEzypZ3zsWPCPgW4kR7xrdBJneOeBFaXXaPCf0xZfmX8sFafZ6 9/aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=EB1E6GjOT965H1546eRI7MAYmLzsPxdyv9nPv4t3lfs=; b=dzjj3QTkyP559YPzpjomZbN+RXOFnRuUWLyCA7QSmUd2eiaYdpCeIyod+/Ty5wsUfA MVm0O3sbGwO2f90QsiDi3kebveUnD2Ahfl73oCrnPcwkiY2ToGfrtmoSVKGhRJVji5QQ 3mIduQNWeCP/lnh6//EViRedsKNaNwLlGh6LAXIe13A9yQbaa1MTzuBhpdbKVyRRS7+Q 5HmBAVvv5E9SkNIjVtHN7me5AGunc0E6t/WwR6W65uLExcP3zc/dd6lpDzi36K89QeH/ Ik7Hhn37Yl2ssHYO+3uHQnQsa+qKYCHkq0NuUYWKHIw2gWSU+nVpR+95S8ttK4wNAamO maww== X-Gm-Message-State: AOAM533wD7uxyv16encjg6pQKqoz5mCW8eu3O1W7RWy3SyfJMtZ4xEzq DDySek1cgGxPIj1ZimWU0PvHGRu9AqA= X-Google-Smtp-Source: ABdhPJy3Rshjmbxuc8TEMhQsZ51xhukuzz1DefY2bvAZB+RNf4NsV1pReDGzutQCoZYQ51cfWVGF7w== X-Received: by 2002:a05:6000:144c:: with SMTP id v12mr24124345wrx.218.1642507433042; Tue, 18 Jan 2022 04:03:53 -0800 (PST) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Peter Xu , David Hildenbrand , Paolo Bonzini , qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 17/19] hw/dma: Use dma_addr_t type definition when relevant Date: Tue, 18 Jan 2022 13:02:27 +0100 Message-Id: <20220118120229.196337-18-f4bug@amsat.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220118120229.196337-1-f4bug@amsat.org> References: <20220118120229.196337-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) X-ZM-MESSAGEID: 1642507436210100001 From: Philippe Mathieu-Daud=C3=A9 Update the obvious places where dma_addr_t should be used (instead of uint64_t, hwaddr, size_t, int32_t types). This allows to have &dma_addr_t type portable on 32/64-bit hosts. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: David Hildenbrand Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20220111184309.28637-11-f4bug@amsat.org> --- include/sysemu/dma.h | 8 +++++--- hw/nvme/ctrl.c | 2 +- hw/rdma/rdma_utils.c | 2 +- hw/scsi/megasas.c | 10 +++++----- softmmu/dma-helpers.c | 16 +++++++++------- 5 files changed, 21 insertions(+), 17 deletions(-) diff --git a/include/sysemu/dma.h b/include/sysemu/dma.h index c992d9d5d6b..36039c5e687 100644 --- a/include/sysemu/dma.h +++ b/include/sysemu/dma.h @@ -38,7 +38,7 @@ struct QEMUSGList { ScatterGatherEntry *sg; int nsg; int nalloc; - size_t size; + dma_addr_t size; DeviceState *dev; AddressSpace *as; }; @@ -301,8 +301,10 @@ BlockAIOCB *dma_blk_read(BlockBackend *blk, BlockAIOCB *dma_blk_write(BlockBackend *blk, QEMUSGList *sg, uint64_t offset, uint32_t align, BlockCompletionFunc *cb, void *opaque); -uint64_t dma_buf_read(void *ptr, int32_t len, QEMUSGList *sg, MemTxAttrs a= ttrs); -uint64_t dma_buf_write(void *ptr, int32_t len, QEMUSGList *sg, MemTxAttrs = attrs); +dma_addr_t dma_buf_read(void *ptr, dma_addr_t len, + QEMUSGList *sg, MemTxAttrs attrs); +dma_addr_t dma_buf_write(void *ptr, dma_addr_t len, + QEMUSGList *sg, MemTxAttrs attrs); =20 void dma_acct_start(BlockBackend *blk, BlockAcctCookie *cookie, QEMUSGList *sg, enum BlockAcctType type); diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c index 462f79a1f60..c3c49176110 100644 --- a/hw/nvme/ctrl.c +++ b/hw/nvme/ctrl.c @@ -1147,7 +1147,7 @@ static uint16_t nvme_tx(NvmeCtrl *n, NvmeSg *sg, uint= 8_t *ptr, uint32_t len, =20 if (sg->flags & NVME_SG_DMA) { const MemTxAttrs attrs =3D MEMTXATTRS_UNSPECIFIED; - uint64_t residual; + dma_addr_t residual; =20 if (dir =3D=3D NVME_TX_DIRECTION_TO_DEVICE) { residual =3D dma_buf_write(ptr, len, &sg->qsg, attrs); diff --git a/hw/rdma/rdma_utils.c b/hw/rdma/rdma_utils.c index 61cb8ede0fd..5a7ef63ad28 100644 --- a/hw/rdma/rdma_utils.c +++ b/hw/rdma/rdma_utils.c @@ -20,7 +20,7 @@ void *rdma_pci_dma_map(PCIDevice *dev, dma_addr_t addr, dma_addr_t len) { void *p; - hwaddr pci_len =3D len; + dma_addr_t pci_len =3D len; =20 if (!addr) { rdma_error_report("addr is NULL"); diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c index cb019549371..6c1ae6b980f 100644 --- a/hw/scsi/megasas.c +++ b/hw/scsi/megasas.c @@ -1046,7 +1046,7 @@ static int megasas_pd_get_info_submit(SCSIDevice *sde= v, int lun, uint16_t pd_id =3D ((sdev->id & 0xFF) << 8) | (lun & 0xFF); uint8_t cmdbuf[6]; size_t len; - size_t residual; + dma_addr_t residual; =20 if (!cmd->iov_buf) { cmd->iov_buf =3D g_malloc0(dcmd_size); @@ -1152,7 +1152,7 @@ static int megasas_dcmd_ld_get_list(MegasasState *s, = MegasasCmd *cmd) { struct mfi_ld_list info; size_t dcmd_size =3D sizeof(info); - size_t residual; + dma_addr_t residual; uint32_t num_ld_disks =3D 0, max_ld_disks; uint64_t ld_size; BusChild *kid; @@ -1198,7 +1198,7 @@ static int megasas_dcmd_ld_list_query(MegasasState *s= , MegasasCmd *cmd) uint16_t flags; struct mfi_ld_targetid_list info; size_t dcmd_size =3D sizeof(info); - size_t residual; + dma_addr_t residual; uint32_t num_ld_disks =3D 0, max_ld_disks =3D s->fw_luns; BusChild *kid; =20 @@ -1251,7 +1251,7 @@ static int megasas_ld_get_info_submit(SCSIDevice *sde= v, int lun, size_t dcmd_size =3D sizeof(struct mfi_ld_info); uint8_t cdb[6]; ssize_t len; - size_t residual; + dma_addr_t residual; uint16_t sdev_id =3D ((sdev->id & 0xFF) << 8) | (lun & 0xFF); uint64_t ld_size; =20 @@ -1625,7 +1625,7 @@ static int megasas_handle_dcmd(MegasasState *s, Megas= asCmd *cmd) } =20 static int megasas_finish_internal_dcmd(MegasasCmd *cmd, - SCSIRequest *req, size_t residual) + SCSIRequest *req, dma_addr_t resid= ual) { int retval =3D MFI_STAT_OK; int lun =3D req->lun; diff --git a/softmmu/dma-helpers.c b/softmmu/dma-helpers.c index 4563a775aa7..916cf12ed42 100644 --- a/softmmu/dma-helpers.c +++ b/softmmu/dma-helpers.c @@ -294,12 +294,12 @@ BlockAIOCB *dma_blk_write(BlockBackend *blk, } =20 =20 -static MemTxResult dma_buf_rw(void *buf, int32_t len, uint64_t *residual, +static MemTxResult dma_buf_rw(void *buf, dma_addr_t len, dma_addr_t *resid= ual, QEMUSGList *sg, DMADirection dir, MemTxAttrs attrs) { uint8_t *ptr =3D buf; - uint64_t xresidual; + dma_addr_t xresidual; int sg_cur_index; MemTxResult res =3D MEMTX_OK; =20 @@ -308,7 +308,7 @@ static MemTxResult dma_buf_rw(void *buf, int32_t len, u= int64_t *residual, len =3D MIN(len, xresidual); while (len > 0) { ScatterGatherEntry entry =3D sg->sg[sg_cur_index++]; - int32_t xfer =3D MIN(len, entry.len); + dma_addr_t xfer =3D MIN(len, entry.len); res |=3D dma_memory_rw(sg->as, entry.base, ptr, xfer, dir, attrs); ptr +=3D xfer; len -=3D xfer; @@ -321,18 +321,20 @@ static MemTxResult dma_buf_rw(void *buf, int32_t len,= uint64_t *residual, return res; } =20 -uint64_t dma_buf_read(void *ptr, int32_t len, QEMUSGList *sg, MemTxAttrs a= ttrs) +dma_addr_t dma_buf_read(void *ptr, dma_addr_t len, + QEMUSGList *sg, MemTxAttrs attrs) { - uint64_t residual; + dma_addr_t residual; =20 dma_buf_rw(ptr, len, &residual, sg, DMA_DIRECTION_FROM_DEVICE, attrs); =20 return residual; } =20 -uint64_t dma_buf_write(void *ptr, int32_t len, QEMUSGList *sg, MemTxAttrs = attrs) +dma_addr_t dma_buf_write(void *ptr, dma_addr_t len, + QEMUSGList *sg, MemTxAttrs attrs) { - uint64_t residual; + dma_addr_t residual; =20 dma_buf_rw(ptr, len, &residual, sg, DMA_DIRECTION_TO_DEVICE, attrs); =20 --=20 2.34.1