Hi,
/me suggests to check out qmp_qom_get() in qmp.c. Some qom aequivalent for qdev_find_recursive would be handy, dunno whenever such a thing exists already, Andreas?
Not sure what's needed here? object_resolve_path() and object_foreach_child() come to mind...
object_resolve_path should do to (a) figure whenever we are i440fx or q35 and (b) get the pcihost device (then read enable_s3 etc properties).
For pvpanic (and maybe others) it might be handy to have "find me the device of type TYPE_ISA_PVPANIC_DEVICE, anywhere in the tree" functionality, so the same code works no matter where the isa bridge happens to live. Or "find me all pci bridges in the system".
Is object_foreach_child recursive? Then it might do the job ...
cheers, Gerd