On 8/26/26 14:15, Denis V. Lunev wrote:
> IDE patches
>
> - fix the logical CHS translation a guest selects with INITIALIZE
> DEVICE PARAMETERS: reject a translation the device may not accept
> instead of dying on a division by zero, report the default
> translation in IDENTIFY DEVICE words 1, 3 and 6 and the one in
> effect in words 54 to 58, keep those words in sync when the
> translation changes, migrate both the translation and the SET
> FEATURES 0xCC revert flag, and return the power-on defaults on a
> hardware reset rather than on every reset
> - harden the IDE and AHCI state a guest or an incoming migration
> stream can reach: reject an out-of-range PIO transfer window on
> load, refuse a PIO transfer with no command header, clear cur_cmd
> when the command list is unmapped, treat a failed PRDT walk as a
> transfer failure, reject a command header with an invalid FIS
> length, and drain the ports on teardown so that a request cannot
> outlive an unplug
> - report ATAPI UDMA5 with a matching standard and cable
> - extend the IDE/AHCI qtest coverage for all of the above
> ----------------------------------------------------------------
> Denis V. Lunev (28):
> hw/ide: reject an unsupported CHS translation
> tests/qtest/ide-test: cover a CHS translation with zero sectors
> tests/qtest/libqos/ahci: allow a count and an expected error
> tests/qtest/ahci: cover the sector count of INITIALIZE DEVICE PARAMETERS
> hw/ide: report the default CHS translation in IDENTIFY DEVICE
> hw/ide: name the retired IDENTIFY DEVICE words the device fills in
> hw/ide: factor out the IDENTIFY DEVICE current geometry words
> hw/ide: keep the IDENTIFY DEVICE current geometry in sync
> hw/ide: restore the power-on device state before loading
> hw/ide: migrate the logical CHS translation
> hw/ide: migrate the power-on defaults revert flag
> tests/qtest/ide-test: cover the CHS translation across migration
> tests/qtest/ide-test: cover a rejected CHS translation in the stream
> tests/qtest/ide-test: cover the IDENTIFY DEVICE geometry words
> hw/ide: revert the CHS translation on a hardware reset
> tests/qtest/ide-test: cover the CHS translation across resets
> hw/ide: drop a redundant interrupt from INITIALIZE DEVICE PARAMETERS
> hw/ide: reject an out-of-range PIO transfer window on load
> tests/qtest/ide-test: cover the migrated PIO transfer window
> hw/ide/ahci: refuse a PIO transfer with no command header
> hw/ide/ahci: clear cur_cmd when the command list is unmapped
> tests/qtest/ahci: regression test for a PIO write vs. engine stop
> hw/ide/ahci: treat a failed PRDT walk as a PIO transfer failure
> hw/ide/ahci: reject a command header with an invalid FIS length
> hw/ide/ahci: drain the ports on teardown
> tests/qtest/ahci: regression test for a request outliving an unplug
> hw/ide: report ATAPI UDMA5 with a matching standard and cable
> tests/qtest/ide-test: cover the UDMA5 identify words
Hi!
Are you sure only two changes from this series should be picked up to the
stable series --
hw/ide: reject an unsupported CHS translation
hw/ide: report the default CHS translation in IDENTIFY DEVICE
(I'm also picking up the test case:
tests/qtest/ide-test: cover a CHS translation with zero sectors)
It feels like, at least,
hw/ide: reject an out-of-range PIO transfer window on load
(with the test case) should be picked up too.
The ahci fixes seems to be good candidates as well.
Maybe some others?
Thanks,
/mjt