src/conf/domain_conf.c | 3 ++ ...stdev-mdev-display-ramfb.x86_64-latest.xml | 44 +++++++++++++++++++ tests/qemuxml2xmltest.c | 1 + 3 files changed, 48 insertions(+) create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display-ramfb.x86_64-latest.xml
It's possible to use ramfb as the boot display of an assigned vgpu
device. This was introduced in 4b95738c, but unfortunately the attribute
was not formatted into the xml output for such a device. This patch
fixes that oversight and adds a xml2xml test to verify proper behavior.
https://bugzilla.redhat.com/show_bug.cgi?id=1847791
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
---
Changes in v2:
- drop unnecessary input xml file for test
src/conf/domain_conf.c | 3 ++
...stdev-mdev-display-ramfb.x86_64-latest.xml | 44 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
3 files changed, 48 insertions(+)
create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display-ramfb.x86_64-latest.xml
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index e0855a2476..da02255142 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -28343,6 +28343,9 @@ virDomainHostdevDefFormat(virBufferPtr buf,
if (mdevsrc->display != VIR_TRISTATE_SWITCH_ABSENT)
virBufferAsprintf(buf, " display='%s'",
virTristateSwitchTypeToString(mdevsrc->display));
+ if (mdevsrc->ramfb != VIR_TRISTATE_SWITCH_ABSENT)
+ virBufferAsprintf(buf, " ramfb='%s'",
+ virTristateSwitchTypeToString(mdevsrc->display));
}
}
diff --git a/tests/qemuxml2xmloutdata/hostdev-mdev-display-ramfb.x86_64-latest.xml b/tests/qemuxml2xmloutdata/hostdev-mdev-display-ramfb.x86_64-latest.xml
new file mode 100644
index 0000000000..c134400486
--- /dev/null
+++ b/tests/qemuxml2xmloutdata/hostdev-mdev-display-ramfb.x86_64-latest.xml
@@ -0,0 +1,44 @@
+<domain type='qemu'>
+ <name>QEMUGuest2</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory unit='KiB'>219136</memory>
+ <currentMemory unit='KiB'>219136</currentMemory>
+ <vcpu placement='static'>1</vcpu>
+ <os>
+ <type arch='i686' machine='pc'>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <cpu mode='custom' match='exact' check='none'>
+ <model fallback='forbid'>qemu64</model>
+ </cpu>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <emulator>/usr/bin/qemu-system-i386</emulator>
+ <controller type='usb' index='0' model='piix3-uhci'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
+ </controller>
+ <controller type='pci' index='0' model='pci-root'/>
+ <controller type='ide' index='0'>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
+ </controller>
+ <input type='mouse' bus='ps2'/>
+ <input type='keyboard' bus='ps2'/>
+ <graphics type='vnc' port='-1' autoport='yes'>
+ <listen type='address'/>
+ </graphics>
+ <video>
+ <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
+ </video>
+ <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on' ramfb='on'>
+ <source>
+ <address uuid='53764d0e-85a0-42b4-af5c-2046b460b1dc'/>
+ </source>
+ <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
+ </hostdev>
+ <memballoon model='none'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index a52768e9ce..5a124853b4 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -529,6 +529,7 @@ mymain(void)
QEMU_CAPS_VFIO_PCI_DISPLAY,
QEMU_CAPS_DEVICE_VFIO_PCI,
QEMU_CAPS_VNC);
+ DO_TEST_CAPS_LATEST("hostdev-mdev-display-ramfb");
DO_TEST("pci-rom", NONE);
DO_TEST("pci-rom-disabled", NONE);
DO_TEST("pci-rom-disabled-invalid", NONE);
--
2.21.3
On 6/23/20 3:29 PM, Jonathon Jongsma wrote: > It's possible to use ramfb as the boot display of an assigned vgpu > device. This was introduced in 4b95738c, but unfortunately the attribute > was not formatted into the xml output for such a device. This patch > fixes that oversight and adds a xml2xml test to verify proper behavior. > > https://bugzilla.redhat.com/show_bug.cgi?id=1847791 > > Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> > --- Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
On a Tuesday in 2020, Jonathon Jongsma wrote: >It's possible to use ramfb as the boot display of an assigned vgpu >device. This was introduced in 4b95738c, but unfortunately the attribute >was not formatted into the xml output for such a device. This patch >fixes that oversight and adds a xml2xml test to verify proper behavior. > >https://bugzilla.redhat.com/show_bug.cgi?id=1847791 > >Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com> >--- > >Changes in v2: > - drop unnecessary input xml file for test > > > src/conf/domain_conf.c | 3 ++ > ...stdev-mdev-display-ramfb.x86_64-latest.xml | 44 +++++++++++++++++++ > tests/qemuxml2xmltest.c | 1 + > 3 files changed, 48 insertions(+) > create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display-ramfb.x86_64-latest.xml > >diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c >index e0855a2476..da02255142 100644 >--- a/src/conf/domain_conf.c >+++ b/src/conf/domain_conf.c >@@ -28343,6 +28343,9 @@ virDomainHostdevDefFormat(virBufferPtr buf, > if (mdevsrc->display != VIR_TRISTATE_SWITCH_ABSENT) > virBufferAsprintf(buf, " display='%s'", > virTristateSwitchTypeToString(mdevsrc->display)); >+ if (mdevsrc->ramfb != VIR_TRISTATE_SWITCH_ABSENT) >+ virBufferAsprintf(buf, " ramfb='%s'", >+ virTristateSwitchTypeToString(mdevsrc->display)); s/display/ramfb/ > } > > } Reviewed-by: Ján Tomko <jtomko@redhat.com> and pushed. Jano
© 2016 - 2024 Red Hat, Inc.