[PATCH v3 0/8] s390x: Add support for virtio-net-pci boot device

Zhuoying Cai posted 8 patches 1 week, 5 days ago
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, 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>, Fabiano Rosas <farosas@suse.de>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
There is a newer version of this series
hw/virtio/virtio-net-pci.c              |  1 +
pc-bios/s390-ccw/main.c                 |  1 +
pc-bios/s390-ccw/netmain.c              | 74 +++-----------------
pc-bios/s390-ccw/virtio-ccw.c           | 62 +++++++++++++++++
pc-bios/s390-ccw/virtio-ccw.h           |  1 +
pc-bios/s390-ccw/virtio-net.c           | 65 ++++++++++++++----
pc-bios/s390-ccw/virtio-pci.c           | 20 ++++++
pc-bios/s390-ccw/virtio.c               | 27 ++++++--
pc-bios/s390-ccw/virtio.h               |  4 ++
tests/functional/s390x/test_pxelinux.py | 71 +++++++++++++++----
tests/qtest/meson.build                 |  1 +
tests/qtest/pxe-test.c                  | 91 ++++++++++++++++++++++++-
12 files changed, 323 insertions(+), 95 deletions(-)
[PATCH v3 0/8] s390x: Add support for virtio-net-pci boot device
Posted by Zhuoying Cai 1 week, 5 days ago
changelog v2->v3

Added a new patch, "tests/qtest: Check s390x boot device support in
pxe-test.c", which gracefully skips the test when the network boot
device is not supported by the bios.

[PATCH v2 1/7] pc-bios/s390-ccw: Move CCW net setup to virtio-ccw
- Reviewed-by: Jared Rossi <jrossi@linux.ibm.com>
- Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>
- Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>

[PATCH v2 2/7] pc-bios/s390-ccw: Add dynamic net header size handling
- Removed VIRTIO_NET_F_MRG_RXBUF_BIT, as it is never negotiated.
- Updated the commit message to note that the same structure mappings
  are replicated as defined in the UAPI.

Re: [PATCH v2 3/7] pc-bios/s390-ccw: Introduce virtio_tswap helpers
- Reviewed-by: Jared Rossi <jrossi@linux.ibm.com>

[PATCH v2 4/7] pc-bios/s390-ccw: Add support for virtio-net-pci IPL
- Simplified virtio_pci_get_net_config().
- Removed cmd_vr_idx initialization for net devices.
- Added a comment indicating that byte swapping is required when other
  fields are used in the net config.
- Reviewed-by: Jared Rossi <jrossi@linux.ibm.com>

[PATCH v2 5/7] hw/virtio: Add "loadparm" property to virtio net PCI
devices booting on s390x
- Reviewed-by: Jared Rossi <jrossi@linux.ibm.com>
- Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>

----------------------------------------------------------------------

This series enables network booting via virtio-net-pci on s390x.

Refactor virtio-net to separate virtio-ccw specific logic and add 
support for booting from virtio-net-pci devices with proper endianness
handling. Add support for the loadparm property during network boot.

Add corresponding test coverage to verify correct network boot
functionality with virtio-net-pci devices.

----------------------------------------------------------------------

changlog v1->v2

pc-bios/s390-ccw: Move CCW net setup to virtio-ccw
- Removed the virtio_net_setup() dispatcher; netmain.c now calls
  virtio_ccw_net_setup() directly
- Improved the error message to be CCW-specific

pc-bios/s390-ccw: Add dynamic net header size handling
- Defined VirtioNetHdrMrgRxbuf, which includes VirtioNetHdr and a
  num_buffers field
- Defined header size constants using the sizeof() each struct

pc-bios/s390-ccw: Introduce virtio_tswap helpers
- Edited the commit message to mention that only 16-bit helper function
  is used in this commit
- Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>
- Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>

pc-bios/s390-ccw: Add support for virtio-net-pci IPL
- Updated the commit message to change "adds" to "extends" when
  describing endianness handling
- Removed net specific setup/find for PCI device
- Checked for virtio initialization failures during network device
  initialization

hw/virtio: Add "loadparm" property to virtio net PCI devices booting on s390x
- Edited the commit message to avoid implying that PCI netboot will fail
  if a valid loadparm is not provided.

tests/qtest: Add s390x virtio net PCI test to pxe-test.c
tests/functional/s390x: Add tests for virtio net PCI in test_pxelinux.py
- Tested-by: Joshua Daley <jdaley@linux.ibm.com>

Zhuoying Cai (8):
  pc-bios/s390-ccw: Move CCW net setup to virtio-ccw
  pc-bios/s390-ccw: Add dynamic net header size handling
  pc-bios/s390-ccw: Introduce virtio_tswap helpers
  pc-bios/s390-ccw: Add support for virtio-net-pci IPL
  hw/virtio: Add "loadparm" property to virtio net PCI devices booting
    on s390x
  tests/qtest: Check s390x boot device support in pxe-test.c
  tests/qtest: Add s390x virtio net PCI test to pxe-test.c
  tests/functional/s390x: Add tests for virtio net PCI in
    test_pxelinux.py

 hw/virtio/virtio-net-pci.c              |  1 +
 pc-bios/s390-ccw/main.c                 |  1 +
 pc-bios/s390-ccw/netmain.c              | 74 +++-----------------
 pc-bios/s390-ccw/virtio-ccw.c           | 62 +++++++++++++++++
 pc-bios/s390-ccw/virtio-ccw.h           |  1 +
 pc-bios/s390-ccw/virtio-net.c           | 65 ++++++++++++++----
 pc-bios/s390-ccw/virtio-pci.c           | 20 ++++++
 pc-bios/s390-ccw/virtio.c               | 27 ++++++--
 pc-bios/s390-ccw/virtio.h               |  4 ++
 tests/functional/s390x/test_pxelinux.py | 71 +++++++++++++++----
 tests/qtest/meson.build                 |  1 +
 tests/qtest/pxe-test.c                  | 91 ++++++++++++++++++++++++-
 12 files changed, 323 insertions(+), 95 deletions(-)

-- 
2.55.0
Re: [PATCH v3 0/8] s390x: Add support for virtio-net-pci boot device
Posted by Matthew Rosato 3 days, 23 hours ago
On 9/14/26 3:34 PM, Zhuoying Cai wrote:
> changelog v2->v3

FYI, this will need a respin to handle merge conflicts I'm getting
against master.  I didn't investigate, but I assume it's due to Jared's
virtio-scsi-pci series merging.
Re: [PATCH v3 0/8] s390x: Add support for virtio-net-pci boot device
Posted by Matthew Rosato 3 days, 19 hours ago
On 9/22/26 5:33 PM, Matthew Rosato wrote:
> On 9/14/26 3:34 PM, Zhuoying Cai wrote:
>> changelog v2->v3
> 
> FYI, this will need a respin to handle merge conflicts I'm getting
> against master.  I didn't investigate, but I assume it's due to Jared's
> virtio-scsi-pci series merging.
> 

This series is close; please respin to address the merge conflicts,
minor comments, and if you address the message confusion on the qtests I
will take another review pass at those - they ran as expected and the
code overall looks good it's just that I'd really like less-confusing
breadcrumbs should a test skip/fail.

Thanks,
Matt
Re: [PATCH v3 0/8] s390x: Add support for virtio-net-pci boot device
Posted by Zhuoying Cai 3 days, 6 hours ago
On 9/22/26 9:01 PM, Matthew Rosato wrote:
> On 9/22/26 5:33 PM, Matthew Rosato wrote:
>> On 9/14/26 3:34 PM, Zhuoying Cai wrote:
>>> changelog v2->v3
>>
>> FYI, this will need a respin to handle merge conflicts I'm getting
>> against master.  I didn't investigate, but I assume it's due to Jared's
>> virtio-scsi-pci series merging.
>>
> 
> This series is close; please respin to address the merge conflicts,
> minor comments, and if you address the message confusion on the qtests I
> will take another review pass at those - they ran as expected and the
> code overall looks good it's just that I'd really like less-confusing
> breadcrumbs should a test skip/fail.
> 
> Thanks,
> Matt

I’ll address all the feedback and send out a new version soon. Thank you!