changelog v4->v5
[PATCH v4 4/8] pc-bios/s390-ccw: Add support for virtio-net-pci IPL
- Fixed rebase errors
[PATCH v4 6/8] tests/qtest: Check s390x boot device support in pxe-test.c
- Reworded the log message for strings found in the BIOS
- Added a comment explaining the assumption that netboot support always
includes virtio-net-ccw support
[PATCH v4 7/8] tests/qtest: Add s390x virtio net PCI test to pxe-test.c
- Reviewed-by: Matthew Rosato <mjrosato@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.
----------------------------------------------------------------------
changelog v3->v4
[PATCH v3 2/8] pc-bios/s390-ccw: Add dynamic net header size handling
- Fixed the UAPI path in the commit message
- Removed the commented-out num_buffers field from VirtioNetHdr
- Acked-by: Christian Borntraeger <borntraeger@linux.ibm.com>
- Reviewed-by: Jared Rossi <jrossi@linux.ibm.com>
- Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
[PATCH v3 4/8] pc-bios/s390-ccw: Add support for virtio-net-pci IPL
- Resolved merge conflicts
- Added a comment in ipl_pci_device() clarifying that all PCI devices
use the same shared setup
- Updated the comment in netmain() to clarify that PCI devices do not
need specific network setup
- Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
[PATCH v3 5/8] hw/virtio: Add "loadparm" property to virtio net PCI
devices booting on s390x
- Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
[PATCH v3 6/8] tests/qtest: Check s390x boot device support in pxe-test.c
- Reworded the log message for strings found in the BIOS
- Removed the comment from s390_bios_has_net_ccw() that assumes
virtio-net-ccw is present
- Tested-by: Joshua Daley <jdaley@linux.ibm.com>
[PATCH v3 7/8] tests/qtest: Add s390x virtio net PCI test to pxe-test.c
- Added a comment clarifying that the presence of the string indicates
virtio-net-pci support
- Tested-by: Joshua Daley <jdaley@linux.ibm.com>
[PATCH v3 8/8] tests/functional/s390x: Add tests for virtio net PCI in
test_pxelinux.py
- Added "_ccw" to the existing virtio-net-ccw test names
- Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
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>
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 | 2 +
pc-bios/s390-ccw/netmain.c | 73 +++----------------
pc-bios/s390-ccw/virtio-ccw.c | 62 ++++++++++++++++
pc-bios/s390-ccw/virtio-ccw.h | 1 +
pc-bios/s390-ccw/virtio-net.c | 66 +++++++++++++----
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 | 96 ++++++++++++++++++++++++-
12 files changed, 328 insertions(+), 96 deletions(-)
--
2.55.0