qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] virtio balloon PCI class code


From: David Gibson
Subject: [Qemu-devel] virtio balloon PCI class code
Date: Tue, 13 Mar 2012 14:30:26 +1100
User-agent: Mutt/1.5.21 (2010-09-15)

Currently the virtio-pci driver advertises the virtio balloon device
as having the PCI class code PCI_CLASS_MEMORY_RAM.  Although the
balloon device is vaguely related to RAM management, it doesn't
operate anything like a PCI memory device in the sense of the class
code (in fact it's all about taking RAM away from the guest, not
obtaining it).  Nor does this PCI class code appear to be suggested by
the virtio PCI specification.

This recently caused problems on the pseries machine - the class code
caused the firmware to mark the corresponding device tree node as a
memory node, which cause the guest to get horribly confused attempting
to discover memory early in boot.  That was due to a guest kernel bug,
but since the bug is widespread in existing deployed kernels, we don't
really want to trigger it from qemu.

We can work around the problem in the guest firmware for now, but
using PCI_CLASS_MEMORY_RAM for the balloon just seems wrong.  Are
there things out there already that rely on this, or should we just
drop the class code?

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson



reply via email to

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