Commit 324bb5ef83 for qemu.org

commit 324bb5ef83ad5e9026ea3242f99ba53191a7bf3f
Merge: fe11f459f6 dd90d3cd73
Author: Richard Henderson <richard.henderson@linaro.org>
Date:   Wed Aug 26 11:26:47 2026 -0700

    Merge tag 'pull-ide-2026-08-26' of https://gitlab.com/dlunev/qemu into staging

    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 <den@openvz.org>
    CC: Stefan Hajnoczi <stefanha@redhat.com>
    CC: John Snow <jsnow@redhat.com>
    CC: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>

    # -----BEGIN PGP SIGNATURE-----
    #
    # iQJDBAABCgAtFiEEC66qh9MCCtwRUOUfXgdxtstmbKsFAmqOyM4PHGRlbkBvcGVu
    # dnoub3JnAAoJEF4HcbbLZmyrGSUP+wR5KLZXUCKwEXDM95UnUiDFQQUNO0Ko7XGv
    # v8hHnTWRb3pvkIh/lJ9ECWPw0NPRKjugkSm9IGDUCndgw6+AbPOTP+tfJXFNK965
    # NFisLDoJCcPrrFNCL+T6EQyPBI2GG1vl9t4bg75GeT55WTUiK4Cv0710COZMV3kc
    # RlN3LzxCKLqc1wSGcqOLyObKTw97vL5pmB/xcOn/ciN1vOm4d5jgzvs1NqFcO1CF
    # btlqGisG9aRlqecKRgKGeLCGXtUoYq0MBuddsMeDSLD/H4FeZ1W0qYb/e2Zv97Bn
    # pdAyKb7Fs6OXV77qSUU5N1tSzALG+mn92BegHoyvuK/YRc8eDdwsiB8+OE7XHRbZ
    # Atewt2CVfej+lyZH5LHe72esWrNqpcHSwvTpvP26oxJq3qwUXynKh8VqUnnIwEIa
    # i1Y7ATnIGXNd1+w68Gk0TDu2zByUPVi4dw91hQR80YY2L9ZWwN5N2u3WCo81ZpAs
    # 8hFk44vCAtGtfRZdLPbIboMfVLExRiBIwfNxJNy7btYQLWkvI05s8K5OmyBXeCwh
    # rtMQi9745BGcMVCtTIAiUjO/EHEkGtFaAs3JUdN/bdx2lzr6l8jpoofqr6rlZT2k
    # R3VNa+r5iw0B/otn/2AEAN6alZpQt6RInenY6LXQlfwCKREWAbD41o3VgfWZVn3P
    # VNrAjpDO
    # =8aHT
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Wed 26 Aug 2026 04:06:54 AM PDT
    # gpg:                using RSA key 0BAEAA87D3020ADC1150E51F5E0771B6CB666CAB
    # gpg:                issuer "den@openvz.org"
    # gpg: Good signature from "Denis V. Lunev <den@openvz.org>" [unknown]
    # gpg: WARNING: The key's User ID is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 0BAE AA87 D302 0ADC 1150  E51F 5E07 71B6 CB66 6CAB

    * tag 'pull-ide-2026-08-26' of https://gitlab.com/dlunev/qemu: (28 commits)
      tests/qtest/ide-test: cover the UDMA5 identify words
      hw/ide: report ATAPI UDMA5 with a matching standard and cable
      tests/qtest/ahci: regression test for a request outliving an unplug
      hw/ide/ahci: drain the ports on teardown
      hw/ide/ahci: reject a command header with an invalid FIS length
      hw/ide/ahci: treat a failed PRDT walk as a PIO transfer failure
      tests/qtest/ahci: regression test for a PIO write vs. engine stop
      hw/ide/ahci: clear cur_cmd when the command list is unmapped
      hw/ide/ahci: refuse a PIO transfer with no command header
      tests/qtest/ide-test: cover the migrated PIO transfer window
      hw/ide: reject an out-of-range PIO transfer window on load
      hw/ide: drop a redundant interrupt from INITIALIZE DEVICE PARAMETERS
      tests/qtest/ide-test: cover the CHS translation across resets
      hw/ide: revert the CHS translation on a hardware reset
      tests/qtest/ide-test: cover the IDENTIFY DEVICE geometry words
      tests/qtest/ide-test: cover a rejected CHS translation in the stream
      tests/qtest/ide-test: cover the CHS translation across migration
      hw/ide: migrate the power-on defaults revert flag
      hw/ide: migrate the logical CHS translation
      hw/ide: restore the power-on device state before loading
      ...

    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>