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

Reply via email to