mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: add "romfile" support to specify device boot ROM
This patch addresses: https://bugzilla.redhat.com/show_bug.cgi?id=781562 Along with the "rombar" option that controls whether or not a boot rom is made visible to the guest, qemu also has a "romfile" option that allows specifying a binary file to present as the ROM BIOS of any emulated or passthrough PCI device. This patch adds support for specifying romfile to both passthrough PCI devices, and emulated network devices that attach to the guest's PCI bus (just about everything other than ne2k_isa). One example of the usefulness of this option is described in the bugzilla report: 82576 sriov network adapters don't provide a ROM BIOS for the cards virtual functions (VF), but an image of such a ROM is available, and with this ROM visible to the guest, it can PXE boot. In libvirt's xml, the new option is configured like this: <hostdev> ... <rom file='/etc/fake/boot.bin'/> ... </hostdev (similarly for <interface>).
This commit is contained in:
@@ -4,8 +4,9 @@ unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -hda \
|
||||
/dev/HostVG/QEMUGuest2 \
|
||||
-device virtio-net-pci,vlan=0,id=net0,mac=52:54:00:24:a5:9f,bus=pci.0,addr=0x3,rombar=1 \
|
||||
-net user,vlan=0,name=hostnet0 \
|
||||
-device virtio-net-pci,vlan=1,id=net1,mac=52:54:00:24:a5:9e,bus=pci.0,addr=0x4 \
|
||||
-net user,vlan=1,name=hostnet1 \
|
||||
-device virtio-net-pci,vlan=1,id=net1,mac=52:54:00:24:a5:9e,bus=pci.0,addr=0x4,\
|
||||
romfile=/etc/fake/bootrom.bin -net user,vlan=1,name=hostnet1 \
|
||||
-usb -device pci-assign,host=06:12.5,id=hostdev0,bus=pci.0,addr=0x5,rombar=0 \
|
||||
-device pci-assign,host=06:12.6,id=hostdev1,bus=pci.0,addr=0x6,rombar=1 \
|
||||
-device pci-assign,host=06:12.6,id=hostdev1,bus=pci.0,addr=0x6,rombar=1,\
|
||||
romfile=/etc/fake/bootrom.bin \
|
||||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
<interface type='user'>
|
||||
<mac address='52:54:00:24:a5:9e'/>
|
||||
<model type='virtio'/>
|
||||
<rom file='/etc/fake/bootrom.bin'/>
|
||||
</interface>
|
||||
<hostdev mode='subsystem' type='pci' managed='yes'>
|
||||
<source>
|
||||
@@ -39,7 +40,7 @@
|
||||
<source>
|
||||
<address domain='0x0000' bus='0x06' slot='0x12' function='0x6'/>
|
||||
</source>
|
||||
<rom bar='on'/>
|
||||
<rom bar='on' file='/etc/fake/bootrom.bin'/>
|
||||
</hostdev>
|
||||
<memballoon model='virtio'/>
|
||||
</devices>
|
||||
|
||||
Reference in New Issue
Block a user