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>
---
Changelog:
v1:
- Rebased to v11.0.0-rc2
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/ufs.c | 685 ++++++++++++++++++++++++++++++++++++++++++++++---
hw/ufs/ufs.h | 49 ++++
include/block/ufs.h | 110 +++++++-
tests/qtest/ufs-test.c | 176 +++++++++++++
4 files changed, 976 insertions(+), 44 deletions(-)
---
base-commit: b6a7d06213e5d2f7d124d16418bc289c4a8a4b82
change-id: 20260407-write_booster-889a06cadc59
Best regards,
--
Jaemyung Lee <jaemyung.lee@samsung.com>