forked from rpms/libvirt
115 lines
4.6 KiB
Diff
115 lines
4.6 KiB
Diff
From 9a993a7d566b7acdc548c1f0114b99fe17ba3c12 Mon Sep 17 00:00:00 2001
|
|
Message-Id: <9a993a7d566b7acdc548c1f0114b99fe17ba3c12@dist-git>
|
|
From: Jonathon Jongsma <jjongsma@redhat.com>
|
|
Date: Fri, 4 Dec 2020 15:02:42 -0600
|
|
Subject: [PATCH] qemu: format 'ramfb' attribute for mediated devices
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
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
|
|
|
|
(the expected test results were massaged slightly due to the fact that
|
|
commit 3b8feb4793cef66f5dbfb9bdabe4d40834f1e90e is not present in this
|
|
build).
|
|
|
|
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
|
|
Signed-off-by: Ján Tomko <jtomko@redhat.com>
|
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
(cherry picked from commit c5815b31976f3982d18c7f6c1367ab6e403eb7eb)
|
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1876297
|
|
|
|
Signed-off-by: Jonathon Jongsma <jjongsma@redhat.com>
|
|
Message-Id: <20201204210242.822641-2-jjongsma@redhat.com>
|
|
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
|
---
|
|
src/conf/domain_conf.c | 3 ++
|
|
...stdev-mdev-display-ramfb.x86_64-latest.xml | 41 +++++++++++++++++++
|
|
tests/qemuxml2xmltest.c | 1 +
|
|
3 files changed, 45 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 cd5c15f297..c5a0442c6f 100644
|
|
--- a/src/conf/domain_conf.c
|
|
+++ b/src/conf/domain_conf.c
|
|
@@ -27603,6 +27603,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->ramfb));
|
|
}
|
|
|
|
}
|
|
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..90c49842a5
|
|
--- /dev/null
|
|
+++ b/tests/qemuxml2xmloutdata/hostdev-mdev-display-ramfb.x86_64-latest.xml
|
|
@@ -0,0 +1,41 @@
|
|
+<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>
|
|
+ <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 f790bbc6f1..60efcac6c8 100644
|
|
--- a/tests/qemuxml2xmltest.c
|
|
+++ b/tests/qemuxml2xmltest.c
|
|
@@ -524,6 +524,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.29.2
|
|
|