The following changes since commit fe11f459f640cd08f35c21f9d403517951bfd671:
Merge tag 'fixes-pr-v1' of https://gitlab.com/marcandre.lureau/qemu into staging (2026-08-25 06:48:55 -0700) are available in the Git repository at: https://gitlab.com/dlunev/qemu.git tags/pull-ide-2026-08-26 for you to fetch changes up to dd90d3cd73b9b2b0f27a9e51bfe542b3a510545b: tests/qtest/ide-test: cover the UDMA5 identify words (2026-08-26 12:59:19 +0200) ---------------------------------------------------------------- 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 Signed-off-by: Denis V. Lunev <[email protected]> CC: John Snow <[email protected]> CC: Philippe Mathieu-Daudé <[email protected]> ---------------------------------------------------------------- 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 hw/ide/ahci.c | 148 ++++++++--- hw/ide/cmd646.c | 2 +- hw/ide/core.c | 170 +++++++++--- hw/ide/ide-internal.h | 7 +- hw/ide/isa.c | 2 +- hw/ide/macio.c | 2 +- hw/ide/mmio.c | 2 +- hw/ide/piix.c | 2 +- hw/ide/sii3112.c | 6 +- hw/ide/trace-events | 3 + hw/ide/via.c | 2 +- include/hw/ide/ide-dma.h | 3 +- tests/qtest/ahci-test.c | 187 ++++++++++++++ tests/qtest/ide-test.c | 647 ++++++++++++++++++++++++++++++++++++++++++++++ tests/qtest/libqos/ahci.c | 14 + tests/qtest/libqos/ahci.h | 6 + 16 files changed, 1113 insertions(+), 90 deletions(-) -- 2.53.0
