On Mon, 2026-06-22 at 20:25 -0400, [email protected] wrote:
> From: Zhuoying Cai <[email protected]>
> 
> The initial support for virtio-blk-pci IPL devices used a single virt-queue, 
> but
> other device types require multiple queues, and for PCI device types this also
> requires a per-queue notification offset.
> 
> Add a PCI notify field to the VRing struct so that each queue has a unique
> notify offset as defined in the virtio spec.
> 
> Signed-off-by: Zhuoying Cai <[email protected]>
> Signed-off-by: Jared Rossi <[email protected]>
> ---
>  pc-bios/s390-ccw/virtio-pci.c | 38 +++++++++++++++++++++--------------
>  pc-bios/s390-ccw/virtio-pci.h |  2 +-
>  pc-bios/s390-ccw/virtio.c     |  3 ++-
>  pc-bios/s390-ccw/virtio.h     |  1 +
>  4 files changed, 27 insertions(+), 17 deletions(-)

...snip...


> diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c
> index a448dc96e2..df04479aa6 100644
> --- a/pc-bios/s390-ccw/virtio.c
> +++ b/pc-bios/s390-ccw/virtio.c
> @@ -114,7 +114,8 @@ bool vring_notify(VRing *vr)
>          vr->cookie = virtio_ccw_notify(vdev.schid, vr->id, vr->cookie);
>          break;
>      case S390_IPL_TYPE_PCI:
> -        vr->cookie = virtio_pci_notify(vr->id);
> +        vr->cookie = virtio_pci_notify(vr);
> +        break;

The addition of this break is an important (and correct) fix, but shouldn't be 
tucked into this
change. Please make it its own (preceding) patch, with a Fixes tag against 
d72fb5e6b2e.

Besides that, this looks fine.

>      default:
>          return 1;
>      }
> diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h
> index d32a4830ca..75ae5bdbc2 100644
> --- a/pc-bios/s390-ccw/virtio.h
> +++ b/pc-bios/s390-ccw/virtio.h
> @@ -107,6 +107,7 @@ struct VRing {
>      VRingUsed *used;
>      long cookie;
>      int id;
> +    uint16_t pci_notify;
>  };
>  typedef struct VRing VRing;
>  

Reply via email to