[libvirt] [PATCH 3/3] qemu: introduce vram64 attribute for QXL video device
Pavel Hrdina
phrdina at redhat.com
Tue Feb 23 09:30:26 UTC 2016
On Tue, Feb 23, 2016 at 08:55:29AM +0100, Martin Kletzander wrote:
> On Mon, Feb 22, 2016 at 07:26:42PM +0100, Pavel Hrdina wrote:
> >On Mon, Feb 22, 2016 at 04:16:49PM +0100, Martin Kletzander wrote:
> >> On Mon, Feb 22, 2016 at 02:34:14PM +0100, Pavel Hrdina wrote:
> >> >This attribute is used to extend secondary PCI bar and expose it to the
> >> >guest as 64bit memory. It works like this: attribute vram is there to
> >> >set size of secondary PCI bar and guest sees it as 32bit memory,
> >> >attribute vram64 can extend this secondary PCI bar. If both attributes
> >> >are used, guest sees two memory bars, both address the same memory, with
> >> >the difference that the 32bit bar can address only the first part of the
> >> >whole memory.
> >> >
> >> >Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1260749
> >> >
> >> >Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
> >> >---
[...]
> >> >diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c
> >> >index d2b641f..34efd4f 100644
> >> >--- a/src/qemu/qemu_monitor_json.c
> >> >+++ b/src/qemu/qemu_monitor_json.c
> >> >@@ -1436,6 +1436,14 @@ qemuMonitorJSONUpdateVideoMemorySize(qemuMonitorPtr mon,
> >> > return -1;
> >> > }
> >> > video->vram = prop.val.ul / 1024;
> >> >+ if (qemuMonitorJSONGetObjectProperty(mon, path,
> >> >+ "vram64_size_mb", &prop) < 0) {
> >> >+ virReportError(VIR_ERR_INTERNAL_ERROR,
> >> >+ _("QOM Object '%s' has no property 'vram64_size_mb'"),
> >> >+ path);
> >> >+ return -1;
> >> >+ }
> >> >+ video->vram64 = prop.val.ul / 1024;
> >>
> >> And a last question: why don't we just skip the vram64_size_mb if it's
> >> not available and move on to the next one? What if it's a bit older
> >> QEMU?
> >
> >I'm not sure about this, but if a device supports some attribute, it should be
> >also present in QOM Object. If this happens, something is really wrong :)
> >
>
> Yes, but we are not checking that it supports that attribute anywhere.
> Or are you saying that whenever QEMU supports qxl, it has this property?
Oh, I see. I need to rework this as the qemuMonitorJSONUpdateVideoMemorySize
was originally meant to update only vgamem and we check for capabilities in
qemu_process before we call this function. Good catch.
Pavel
More information about the libvir-list
mailing list