[PATCH v3 0/3] hw/ufs: Add Universal Flash Storage (UFS) support

Jeuk Kim posted 3 patches 2 years, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230621075535epcms2p7fc17717fe677ab8a8b714607486b7b6a@epcms2p7
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Jeuk Kim <jeuk20.kim@samsung.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Fam Zheng <fam@euphon.net>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
There is a newer version of this series
MAINTAINERS              |    6 +
docs/specs/pci-ids.rst   |    2 +
hw/Kconfig               |    1 +
hw/meson.build           |    1 +
hw/ufs/Kconfig           |    4 +
hw/ufs/lu.c              | 1441 +++++++++++++++++++++++++++++++++++
hw/ufs/meson.build       |    1 +
hw/ufs/trace-events      |   59 ++
hw/ufs/trace.h           |    1 +
hw/ufs/ufs.c             | 1545 ++++++++++++++++++++++++++++++++++++++
hw/ufs/ufs.h             |  131 ++++
include/block/ufs.h      | 1048 ++++++++++++++++++++++++++
include/hw/pci/pci.h     |    1 +
include/hw/pci/pci_ids.h |    1 +
include/scsi/constants.h |    1 +
meson.build              |    1 +
16 files changed, 4244 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
[PATCH v3 0/3] hw/ufs: Add Universal Flash Storage (UFS) support
Posted by Jeuk Kim 2 years, 7 months ago
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


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 (3):
  hw/ufs: Initial commit for emulated Universal-Flash-Storage
  hw/ufs: Support for Query Transfer Requests
  hw/ufs: Support for UFS logical unit

 MAINTAINERS              |    6 +
 docs/specs/pci-ids.rst   |    2 +
 hw/Kconfig               |    1 +
 hw/meson.build           |    1 +
 hw/ufs/Kconfig           |    4 +
 hw/ufs/lu.c              | 1441 +++++++++++++++++++++++++++++++++++
 hw/ufs/meson.build       |    1 +
 hw/ufs/trace-events      |   59 ++
 hw/ufs/trace.h           |    1 +
 hw/ufs/ufs.c             | 1545 ++++++++++++++++++++++++++++++++++++++
 hw/ufs/ufs.h             |  131 ++++
 include/block/ufs.h      | 1048 ++++++++++++++++++++++++++
 include/hw/pci/pci.h     |    1 +
 include/hw/pci/pci_ids.h |    1 +
 include/scsi/constants.h |    1 +
 meson.build              |    1 +
 16 files changed, 4244 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

-- 
2.34.1