Peter Crosthwaite <peter.crosthwa...@xilinx.com> writes: > On Wed, Jan 8, 2014 at 2:59 AM, Paolo Bonzini <pbonz...@redhat.com> wrote: >> Il 07/01/2014 16:12, Markus Armbruster ha scritto: >>> aarch64 akita info qtree crashes >>> aarch64 borzoi info qtree crashes >>> aarch64 spitz info qtree crashes >>> aarch64 terrier info qtree crashes >>> aarch64 tosa info qtree crashes >>> arm akita info qtree crashes >>> arm borzoi info qtree crashes >>> arm spitz info qtree crashes >>> arm terrier info qtree crashes >>> arm tosa info qtree crashes >>> cris axis-dev88 info qtree crashes >> >> The crash is because of commit 7426aa7 (nand: Don't inherit from Sysbus, >> 2013-06-18). Should probably be reverted. >> > > Prefer not, under no reasonable definition is NAND a sysbus device. > Whats the real problem here? What is TYPE_SYS_BUS_DEVICE doing WRT to > qtree that TYPE_DEVICE is not?
Maybe, but our definition of sysbus has never been reasonable :) Qdev, as designed by Paul Brook, assumed the parent of a qdev is always a qbus and vice versa. With the exception of the root, which has no parent, and is a sysbus, commonly the only one. A PCI qdev plugs into a PCI qbus, an USB qdev plugs into an USB qbus, and so forth. Any qdev that doesn't really plug into a bus was made a "sysbus device" by fiat. "Sysbus" is a catchall, no more. In particular, it's not a bus in the hardware sense. This "everything plugs into exactly one bus" assumption is of course a gross oversimplification, and we've been working on overcoming it for quite some time. It has become possible to define qdevs that aren't connected to a qbus. A TYPE_DEVICE isn't. That's progress. But progress isn't justification for not fixing crash bugs in monitor commands. Either you fix "info qtree" to cope with your change to the device graph, or the change needs to be reverted until somebody fixes it or it goes away.