[PATCH v2 0/6] s390x: Fix intermittent errors with IPL from PCI devices on s390x

jrossi@linux.ibm.com posted 6 patches 3 weeks, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260630141917.673995-1-jrossi@linux.ibm.com
Maintainers: Jared Rossi <jrossi@linux.ibm.com>, Zhuoying Cai <zycai@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Jason Herne <jjherne@linux.ibm.com>, Cornelia Huck <cohuck@redhat.com>, Eric Farman <farman@linux.ibm.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Halil Pasic <pasic@linux.ibm.com>, Richard Henderson <richard.henderson@linaro.org>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>
hw/s390x/ipl.c                |  1 +
pc-bios/s390-ccw/main.c       |  5 ++-
pc-bios/s390-ccw/virtio-pci.c | 57 ++++++++++++++++++++++++++---------
pc-bios/s390-ccw/virtio-pci.h |  5 ++-
pc-bios/s390-ccw/virtio.c     | 29 ++++++++++--------
pc-bios/s390-ccw/virtio.h     |  2 ++
6 files changed, 69 insertions(+), 30 deletions(-)
[PATCH v2 0/6] s390x: Fix intermittent errors with IPL from PCI devices on s390x
Posted by jrossi@linux.ibm.com 3 weeks, 4 days ago
From: Jared Rossi <jrossi@linux.ibm.com>

When booting from a PCI device on s390x there may be intermittent failures
caused by mismatched byte swaps.  Refactor the byte swapping to ensure that
it is properly synchronized.

Correct how the queue notification offset is calculated so that it may be
used for multi-queue configurations in the future.

Handle some switch cases that were not caught for PCI devices.

Changes v1 -> v2:
    - Split addition of missing break into its own patch
    - Add PCI case to generic is_viritio_supported() wapper
    - Switch the order of patches formerly 3 and 4
    - Use virtio_is_supported() instead of checking cutype when writing IPLB
        location to cover both CCW and PCI virtio devices

Jared Rossi (3):
  pc-bios/s390-ccw/virtio.c: Fix missing break for PCI notifications
  pc-bios/s390-ccw: Verify virtio support when booting from virtio PCI
    device on s390x
  pc-bios/s390-ccw: write IPLB location for non-net virtio devices

Zhuoying Cai (3):
  pc-bios/s390-ccw: Refactor byte swapping
  pc-bios/s390-ccw: Add per-queue notification offset for multi-queue
    virtio configurations
  s390x: Enable boot menu for virtio pci device

 hw/s390x/ipl.c                |  1 +
 pc-bios/s390-ccw/main.c       |  5 ++-
 pc-bios/s390-ccw/virtio-pci.c | 57 ++++++++++++++++++++++++++---------
 pc-bios/s390-ccw/virtio-pci.h |  5 ++-
 pc-bios/s390-ccw/virtio.c     | 29 ++++++++++--------
 pc-bios/s390-ccw/virtio.h     |  2 ++
 6 files changed, 69 insertions(+), 30 deletions(-)

-- 
2.54.0
Re: [PATCH v2 0/6] s390x: Fix intermittent errors with IPL from PCI devices on s390x
Posted by Cornelia Huck 2 weeks, 4 days ago
On Tue, Jun 30 2026, jrossi@linux.ibm.com wrote:

> From: Jared Rossi <jrossi@linux.ibm.com>
>
> When booting from a PCI device on s390x there may be intermittent failures
> caused by mismatched byte swaps.  Refactor the byte swapping to ensure that
> it is properly synchronized.
>
> Correct how the queue notification offset is calculated so that it may be
> used for multi-queue configurations in the future.
>
> Handle some switch cases that were not caught for PCI devices.
>
> Changes v1 -> v2:
>     - Split addition of missing break into its own patch
>     - Add PCI case to generic is_viritio_supported() wapper
>     - Switch the order of patches formerly 3 and 4
>     - Use virtio_is_supported() instead of checking cutype when writing IPLB
>         location to cover both CCW and PCI virtio devices
>
> Jared Rossi (3):
>   pc-bios/s390-ccw/virtio.c: Fix missing break for PCI notifications
>   pc-bios/s390-ccw: Verify virtio support when booting from virtio PCI
>     device on s390x
>   pc-bios/s390-ccw: write IPLB location for non-net virtio devices
>
> Zhuoying Cai (3):
>   pc-bios/s390-ccw: Refactor byte swapping
>   pc-bios/s390-ccw: Add per-queue notification offset for multi-queue
>     virtio configurations
>   s390x: Enable boot menu for virtio pci device
>
>  hw/s390x/ipl.c                |  1 +
>  pc-bios/s390-ccw/main.c       |  5 ++-
>  pc-bios/s390-ccw/virtio-pci.c | 57 ++++++++++++++++++++++++++---------
>  pc-bios/s390-ccw/virtio-pci.h |  5 ++-
>  pc-bios/s390-ccw/virtio.c     | 29 ++++++++++--------
>  pc-bios/s390-ccw/virtio.h     |  2 ++
>  6 files changed, 69 insertions(+), 30 deletions(-)
>

Thanks, applied.
Re: [PATCH v2 0/6] s390x: Fix intermittent errors with IPL from PCI devices on s390x
Posted by Matthew Rosato 3 weeks, 3 days ago
On 6/30/26 10:19 AM, jrossi@linux.ibm.com wrote:
> From: Jared Rossi <jrossi@linux.ibm.com>
> 
> When booting from a PCI device on s390x there may be intermittent failures
> caused by mismatched byte swaps.  Refactor the byte swapping to ensure that
> it is properly synchronized.
> 
> Correct how the queue notification offset is calculated so that it may be
> used for multi-queue configurations in the future.
> 
> Handle some switch cases that were not caught for PCI devices.

For the series:

Tested-by: Matthew Rosato <mjrosato@linux.ibm.com>

Worth nothing that, with this series applied (and after generating a new 
s390-ccw.img) I am no longer able to reproduce the error reported in:

https://gitlab.com/qemu-project/qemu/-/work_items/3350

Thanks,
Matt