Since v2:
- Split meson patch restricting fw_cfg (Richard)
- Reorder pci_dma_map() docstring (Peter, Richard)
- Move QEMUSGList in previous patch (David)
- Have dma_buf_read/dma_buf_write return dma_addr_t (Peter)
- Drop 'propagate MemTxResult' patch (David)
- Added R-b tags
Since v1:
- Addressed David review comment (stick to dma_addr_t type)
- Addressed Peter review comment (incorrect doc string)
Hi,
This series aims to clarify a bit the DMA API, in particular the
'size' argument which is not clear enough (as we use multiple types
for it). This helps avoiding build failures on 32-bit host [*] (and
likely overflows calculation too IMO).
Some units using the DMA API are first removed from user-mode
emulation to avoid build failure (they shouldn't be there in
the first place).
Then some variables are renamed for clarity (no functional change).
Finally we replace misuses with dma_addr_t typedef.
Regards,
Phil.
[*] https://www.mail-archive.com/qemu-devel@nongnu.org/msg858825.html
Philippe Mathieu-Daudé (10):
stubs: Restrict fw_cfg to system emulation
hw/nvram: Restrict fw_cfg QOM interface to sysemu and tools
hw/pci: Restrict pci-bus stub to sysemu
hw/pci: Document pci_dma_map()
hw/dma: Remove CONFIG_USER_ONLY check
hw/rdma/rdma_utils: Rename rdma_pci_dma_map 'len' argument
hw/scsi: Rename SCSIRequest::resid as 'residual'
hw/dma: Fix format string issues using dma_addr_t
hw/dma: Move ScatterGatherEntry / QEMUSGList declarations around
hw/dma: Use dma_addr_t type definition when relevant
hw/rdma/rdma_utils.h | 2 +-
include/hw/pci/pci.h | 12 ++++++++++++
include/hw/scsi/scsi.h | 4 ++--
include/sysemu/dma.h | 31 +++++++++++++++----------------
hw/ide/ahci.c | 2 +-
hw/nvme/ctrl.c | 2 +-
hw/rdma/rdma_utils.c | 14 +++++++-------
hw/scsi/megasas.c | 42 +++++++++++++++++++++++++-----------------
hw/scsi/scsi-bus.c | 10 +++++-----
hw/scsi/scsi-disk.c | 4 ++--
softmmu/dma-helpers.c | 34 ++++++++++++++++++----------------
hw/nvram/meson.build | 6 ++++--
hw/rdma/trace-events | 2 +-
stubs/meson.build | 4 ++--
14 files changed, 96 insertions(+), 73 deletions(-)
--
2.34.1