[PATCH v7 0/5] hw/ufs: Add Write Booster Support on UFS

Jaemyung Lee posted 5 patches 2 weeks, 2 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260514-write._5Fbooster-v7-0-c3ae3452980f@samsung.com
Maintainers: Jeuk Kim <jeuk20.kim@samsung.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
hw/ufs/lu.c            | 102 ++++++-
hw/ufs/ufs.c           | 714 ++++++++++++++++++++++++++++++++++++++++++++++---
hw/ufs/ufs.h           |  49 ++++
include/block/ufs.h    | 114 +++++++-
tests/qtest/ufs-test.c | 172 ++++++++++++
5 files changed, 1105 insertions(+), 46 deletions(-)
[PATCH v7 0/5] hw/ufs: Add Write Booster Support on UFS
Posted by Jaemyung Lee 2 weeks, 2 days ago
Currently, the QEMU-UFS emulation is implemented based on the JEDEC UFS
4.0 Specification and does not support the operation related to UFS Extended
Features which is defined with latest UFS Specifications.

This series modifies the UFS core implementation to align with the JEDEC
UFS 4.1 Specification[1], and adds a Write Booster UFS Extended Feature
supportability.

Tested: x86-64 KVM, upstream QEMU with Debian GNU/Linux 10

[1]
https://jedec.org/standards-documents/focus/flash/universal-flash-storage-ufs

Signed-off-by: Jaemyung Lee <jaemyung.lee@samsung.com>
---
Changes in v7:
- Added range check for dPinnedWriteBoosterBufferNumAllocUnits
- Added range check for dNonPinnedWriteBoosterBufferMinNumAllocUnits
- Added exception event status operation
- Fixed minimum buffer size set in WB initialization
- Fixed resize operation
- Fixed Pinned WB buffer consumption
- Fixed user_space_reduction related value
- Fixed buffer size sync timing
- Fixed flush operation
- Removed unused DEFINE_PROP varialbles

Changes in v6:
- Fix Pinned Total Written Size Calculation(2).
- Added range check for dMaxFIFOSizeForWriteBoosterPartialFlushMode
- Fix flush status check

Changes in v5:
- Fix Pinned Total Written Size Calculation.
- Fix WB related status reset timing
- Link to v4: https://lore.kernel.org/qemu-devel/20260410-write_booster-v4-0-d58a680587df@samsung.com

Changes in v4:
- Fixed MCQ idle check: skip unallocated qid
- Removed unused arguments from WB accounting functions
- Added SCSI command status guard for WB accounting at completion

Changes in v3:
- Fixed constraint check return value
- Fixed WB buffer consume amount with transfered_len
- Fixed MCQ idle check:
 - Added NULL exception check
 - Added CQ pending request check
- Link to v2: https://lore.kernel.org/qemu-devel/20260407-write_booster-v2-0-dd772bb30194@samsung.com

Changes in v2:
- Fixed MCQ idle check
- Added WRITE_6/WRITE_16 handling
- Fixed WB buffer consume timing
- Added constraint check
- Fixed uint64_t casting for unit calculation
---

---
Jaemyung Lee (5):
      hw/ufs: Apply UFS 4.1 Specification
      hw/ufs: Modify flag handling operation
      hw/ufs: Add idle operation
      hw/ufs: Add UFS Write Booster Support
      tests/qtest: Add UFS Write Booster QTest

 hw/ufs/lu.c            | 102 ++++++-
 hw/ufs/ufs.c           | 714 ++++++++++++++++++++++++++++++++++++++++++++++---
 hw/ufs/ufs.h           |  49 ++++
 include/block/ufs.h    | 114 +++++++-
 tests/qtest/ufs-test.c | 172 ++++++++++++
 5 files changed, 1105 insertions(+), 46 deletions(-)
---
base-commit: 5e61afe211e82a9af15a8794a0bd29bb574e953b
change-id: 20260407-write_booster-889a06cadc59

Best regards,
-- 
Jaemyung Lee <jaemyung.lee@samsung.com>
Re: [PATCH v7 0/5] hw/ufs: Add Write Booster Support on UFS
Posted by Jeuk Kim 1 week, 5 days ago
On Thu, 14 May 2026 17:10:43 +0900, Jaemyung Lee <ldc.jml@gmail.com> wrote:
> hw/ufs: Add Write Booster Support on UFS
> 
> Currently, the QEMU-UFS emulation is implemented based on the JEDEC UFS
> 4.0 Specification and does not support the operation related to UFS Extended
> Features which is defined with latest UFS Specifications.
> 
> This series modifies the UFS core implementation to align with the JEDEC
> UFS 4.1 Specification[1], and adds a Write Booster UFS Extended Feature
> supportability.
> 
> [...]

Reviewed-by: Jeuk Kim <jeuk20.kim@samsung.com>

-- 
Jeuk Kim <jeuk20.kim@samsung.com>