On Thu, Jul 27, 2023 at 05:45:17PM +0900, Jeuk Kim wrote:
> Since v7:
> In ufs-test.c, make the following changes
> - Change TIMEOUT from 5 to 10 (Thomas's review comment)
> - Rename the temporary file to "qemu-ufs.XXXX" (Thomas's review comment)
> - Use "-blockdev" instead of "-drive" (Stefan's review comment)
> 
> Since v6:
> - Add tests/qtest/ufs-test.c to test ufs initialisation and I/O
> - Add struct UtpTaskReqDesc to include/block/ufs.h
> - Fix ufs_log2() logic
> - Fix ufs-lu to use 4K as default block size to match the ufs spec
> 
> Since I created a new file, tests/qtest/ufs-test.c, I added Laurent Vivier to 
> the cc list.
> Thank you.
> 
> Since v5:
> - Fix to print an error message instead of a segmentation fault
>   when no drive property is specified for a ufs-lu device
> 
> Since v4:
> Addressed review comment from Stefan Hajnoczi. The fixes are as
> follows.
> - Keep u->reg fields in host endian (Removed little-endian helper 
>   functions from MemoryRegionOps)
> - Remove unnecessary NULL checks for g_new and g_malloc0
> - Replace DEFINE_PROP_DRIVE_IOTHREAD -> DEFINE_PROP_DRIVE
> 
> In case you were wondering, ufs and ufs-lu have been tested for the
> following behaviours.
> 1. Checked ufs device recognition in Windows10 environment
> 2. Verified ufs device recognition in Ubuntu 22.04 environment
> 3. Verified io behaviour via fio in Ubuntu 22.04 environment
> 4. Verified query request via ufs-tools in Ubuntu 22.04 environment
> 
> Since v3:
> - Replace softmmu_ss -> system_ss in meson
> 
> Since v2:
> Addressed review comment from Stefan Hajnoczi. The main fixes are as
> follows.
> - Use of SPDX licence identifiers
> - fixed endianness error
> - removed memory leak
> - fixed DMA error handling logic
> 
> Since v1:
> - use macros of "hw/registerfields.h" (Addressed Philippe's review
>   comments)
> 
> This patch series adds support for a new PCI-based UFS device.
> 
> The UFS pci device id (PCI_DEVICE_ID_REDHAT_UFS) is not registered
> in the Linux kernel yet, so it does not work right away, but I confirmed
> that it works with Linux when the UFS pci device id is registered.
> 
> I have also verified that it works with Windows 10.
> 
> Jeuk Kim (4):
>   hw/ufs: Initial commit for emulated Universal-Flash-Storage
>   hw/ufs: Support for Query Transfer Requests
>   hw/ufs: Support for UFS logical unit
>   tests/qtest: Introduce tests for UFS
> 
>  MAINTAINERS              |    7 +
>  docs/specs/pci-ids.rst   |    2 +
>  hw/Kconfig               |    1 +
>  hw/meson.build           |    1 +
>  hw/ufs/Kconfig           |    4 +
>  hw/ufs/lu.c              | 1445 ++++++++++++++++++++++++++++++++++++
>  hw/ufs/meson.build       |    1 +
>  hw/ufs/trace-events      |   58 ++
>  hw/ufs/trace.h           |    1 +
>  hw/ufs/ufs.c             | 1494 ++++++++++++++++++++++++++++++++++++++
>  hw/ufs/ufs.h             |  131 ++++
>  include/block/ufs.h      | 1090 +++++++++++++++++++++++++++
>  include/hw/pci/pci.h     |    1 +
>  include/hw/pci/pci_ids.h |    1 +
>  include/scsi/constants.h |    1 +
>  meson.build              |    1 +
>  tests/qtest/meson.build  |    1 +
>  tests/qtest/ufs-test.c   |  573 +++++++++++++++
>  18 files changed, 4813 insertions(+)
>  create mode 100644 hw/ufs/Kconfig
>  create mode 100644 hw/ufs/lu.c
>  create mode 100644 hw/ufs/meson.build
>  create mode 100644 hw/ufs/trace-events
>  create mode 100644 hw/ufs/trace.h
>  create mode 100644 hw/ufs/ufs.c
>  create mode 100644 hw/ufs/ufs.h
>  create mode 100644 include/block/ufs.h
>  create mode 100644 tests/qtest/ufs-test.c
> 
> -- 
> 2.34.1
> 

Thanks, applied to my block-next tree:
https://gitlab.com/stefanha/qemu/commits/block-next

Stefan

Attachment: signature.asc
Description: PGP signature

Reply via email to