qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] selecting VIRTIO_INPUT and VIRTIO_VGA


From: Marc Zyngier
Subject: Re: [Qemu-devel] selecting VIRTIO_INPUT and VIRTIO_VGA
Date: Tue, 21 Jul 2015 13:51:22 +0100

On Tue, 21 Jul 2015 13:08:08 +0100
Alexander Graf <address@hidden> wrote:

> On 07/20/15 21:06, Laszlo Ersek wrote:
> > Cc'ing Alex
> >
> > On 07/13/15 12:15, Paolo Bonzini wrote:
> >>
> >> On 13/07/2015 09:32, Gerd Hoffmann wrote:
> >>>> and virtio-vga is only compiled on 64-bit Intel?
> >>> There is virtio-gpu-pci ...
> >>>
> >>> Any specific reason why we need vga compatibility on !x86?
> >> I was actually thinking about 32-bit x86. :)  I agree that !x86 is not
> >> necessary.
> > I disagree :)
> >
> > (This is actually my more important followup to this thread; the other
> > message I just couldn't resist sending.)
> >
> > Gerd recently contributed virtio-vga support to OvmfPkg/QemuVideoDxe:
> >
> > https://github.com/tianocore/edk2/commit/94210dc9
> >
> > That support depends on vga compat. All fine.
> >
> > What's probably not obvious is that I had ported
> > PcAtChipsetPkg/PciHostBridgeDxe to ArmVirtPkg -- which drives Alex's
> > generic PCIe host bridge, exposed on qemu-system-(arm|aarch64) -M virt
> > -- and included OvmfPkg/QemuVideoDxe in the ArmVirtQemu.dsc build too.
> >
> > That means you can currently stick a -device VGA into -M virt, and it
> > will work. Since OvmfPkg/QemuVideoDxe recognizes virtio-vga (see edk2
> 
> For some definition of work, yes :). It will work perfectly fine with 
> TCG, you will run into cache coherency problems with KVM because the 
> guest maps MMIO regions (like the vram) as uncached while QEMU accesses 
> it as cached.
> 
> > 94210dc9 again), and the driver is included by ArmVirtQemu.dsc, I think
> > it would be probably useful to build the device model for arm/aarch64
> > targets too.
> >
> > See also QEMU commit 332261de2b (together with its parent commits).
> 
> I agree. Also, as far as I understood Marc, his hope was that the fix to 
> halfway working VGA emulation would be virtio-gpu.

My hope is two-fold:

1) Adapt/fix drivers that assume certain behaviors inherited from x86.
That's mostly for legacy HW (or rather HW emulation) that people "graft"
on ARM VMs.

2) Use the fact that there is actually hardly any legacy for ARM VMs,
and embrace paravirtualized devices entirely. We do it for disks,
network interfaces. Why not display? Why not input?

Using VGA makes sense on x86 because this is a standard on that
platform. Every system has one. You can't expect the same thing on ARM
(evil persons would even say that you can't expect anything at all). So
let's take this opportunity to use the best tool for the job. Virtio
fits that bill pretty well apparently.

Thanks,

        M.
-- 
Jazz is not dead. It just smells funny.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]