Created attachment 1051708 [details] Can not recognize the network device Description of problem: Try to boot via network when enable virtio-1 of virtio-net-pci, but ipxe can not recognize the network device. Version-Release number of selected component (if applicable): ipxe-roms-qemu-20130517-7.gitc4bce43.el7.noarch kernel-3.10.0-294.el7.x86_64 qemu-kvm-rhev-2.3.0-9.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Try to boot from virtio-net-pci when enable virtio-1 2. 3. Actual results: Can not boot from the network device, ipxe can not recognize the network device Expected results: Can boot from network devbice Additional info: if disable virtio-1, works well
Created attachment 1051709 [details] ctrl-B, can not find any network device
Hi Weliao, Could you have a try?
I investigated requirements for a VIRTIO 1.0 Transitional driver. Today iPXE only implements the virtio 0.9.5 draft and therefore does not support VIRTIO 1.0 devices. Unfortunately I do not have time to write patches at the moment, but here are the changes necessary for VIRTIO 1.0 support. A "Transitional" driver supports both virtio 0.9.5 and VIRTIO 1.0. The VIRTIO_F_VERSION_1 feature bit is used to select mode. PCI IDs: 1. VIRTIO 1.0-only virtio-net uses PCI Device ID 0x1041 instead of 0x1000. 2. Keep in mind that Transitional devices support both virtio 0.9.5 and VIRTIO 1.0. The virtio-net PCI Device ID remains 0x1000 for Transitional devices. Device Probing: 1. Check PCI Capabilities for PCI_CAP_ID_VNDR. The most important one is VIRTIO_PCI_CAP_COMMON_CFG (similar to the hardware registers previously accessed via the first I/O BAR). 2. If VIRTIO_PCI_CAP_COMMON_CFG isn't found, fall back to existing virtio 0.9.5 code. Device Initialization: 1. Add S_FEATURES_OK step to Status register handshake (S_DRIVER_OK, etc). 2. Update for VIRTIO 1.0's more flexible virtqueue layout and program the vring hardware registers as necessary. Virtqueues: 1. Use little-endian for all accesses.
VIRTIO 1.0 support added in upstream commits 2379494, 7b499f8, 8a055a2, 988243c.
Fix included in ipxe-20160127-3.git6366fa7a.el7
Reproduced this bug with following versions: ipxe-roms-qemu-20160127-2.git6366fa7a.el7.noarch qemu-kvm-rhev-2.6.0-13.el7.x86_64 3.10.0-469.el7.x86_64 Steps to Reproduce: 1.Try to boot from virtio-net-pci when enable virtio-1 result: Can not boot from the network device, ipxe can not recognize the network device Verify this bug with following versions: ipxe-roms-qemu-20160127-3.git6366fa7a.el7.noarch qemu-kvm-rhev-2.6.0-13.el7.x86_64 3.10.0-469.el7.x86_64 the same steps: result: Can boot from network device. So this bug was fix well.
*** Bug 1358198 has been marked as a duplicate of this bug. ***
According to #comment12,change the status to VERIFIED.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2214.html