Bug 1257882
| Summary: | FEAT: support to boot from virtio 1.0 modern devices | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Xiaoqing Wei <xwei> |
| Component: | ovmf | Assignee: | Laszlo Ersek <lersek> |
| Status: | CLOSED ERRATA | QA Contact: | aihua liang <aliang> |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | 7.2 | CC: | chayang, huding, juzhang, mrezanin, pezhang, sherold, weliao, xfu, xiywang |
| Target Milestone: | rc | Keywords: | FutureFeature |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Fixed In Version: | ovmf-20160608-1.git988715a.el7 | Doc Type: | Enhancement |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-11-04 08:39:42 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
As neither virtio-1.0 nor OVMF would be promoted to fully support in 7.2 GA, setting M/M. I acknowledge this as a feature request, so I'm leaving the BZ open. But, this feature would require immense work in OVMF, with absolutely minimal benefit. Simply remove the "disable-legacy=on" device property from the QEMU command line, and everything will work (the firmware will use the pre-1.0 virtio protocol, while the kernel will use the 1.0 protocol). I recommend checking out Michael Tsirkin's virtio presentation from the KVM Forum 2015: http://events.linuxfoundation.org/sites/events/files/slides/misha2015-v1.pdf I attended that presentation and looked very carefully for signs that would require OVMF to support this. I found none. See especially slide #20 (-> compatibility is guaranteed) and slide #27 (-> the only reason for doing it is "improved robustness", which does not justify the immense amount of work it would take.) So, just drop "disable-legacy=on". The expected result ("OVMF able to boot from virtio-1.0 modern devices") is ensured by default, using the parallel legacy interface, *unless* you explicitly prevent OVMF from doing that. Setting Prio / Sev to Low, and Devel Cond-NAK to Capacity. Posted upstream patches: http://thread.gmane.org/gmane.comp.bios.edk2.devel/9150 Posted the v2 upstream series: http://thread.gmane.org/gmane.comp.bios.edk2.devel/10264 V2 committed to upstream edk2: b1bb6f5961d8..3898f4922879. Has verified, virtio1.0 work normally. Verified Version: Kernel version:3.10.0-504.el7.x86_64 qemu-kvm-rhev version:qemu-kvm-rhev-2.6.0-22.el7.x86_64 OVMF version:OVMF-20160608-3.git988715a.el7.noarch 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-2608.html |
Description of problem: virtio-1.0 has finalized spec, and drivers are already included in RHEL kernel. while booting still no possible due to firmware dont recognize them yet. Version-Release number of selected component (if applicable): OVMF-20150414-2.gitc9e5618.el7.noarch qemu-kvm-rhev-2.3.0-18.el7.x86_64 How reproducible: 1/1 Steps to Reproduce: 1. boot a vm with virtio-1.0 modern mode only -netdev tap,id=hostnet0,vhost=on \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:17:89:55,bus=pci.2,addr=0x1,disable-legacy=on,disable-modern=off 2. 3. Actual results: dev: virtio-net-pci, id "net0" ioeventfd = false vectors = 3 (0x3) virtio-pci-bus-master-bug-migration = false disable-legacy = true disable-modern = false OVMF just no able to boot from it. Expected results: OVMF able to boot from virtio-1.0 modern devices. Additional info: