On 05/23/2016 08:06 PM, David Kiarie wrote:
On Tue, May 17, 2016 at 10:15 AM, Peter Xu <pet...@redhat.com> wrote:
Introducing parent class for intel-iommu devices named "x86-iommu". This
is preparation work to abstract shared functionalities out from Intel
and AMD IOMMUs. Currently, only the parent class is introduced. It does
nothing yet.
Signed-off-by: Peter Xu <pet...@redhat.com>
---
hw/i386/Makefile.objs | 2 +-
[...]
+
+static const TypeInfo x86_iommu_info = {
+ .name = TYPE_X86_IOMMU_DEVICE,
+ .parent = TYPE_SYS_BUS_DEVICE,
+ .instance_size = sizeof(X86IOMMUState),
+ .class_init = x86_iommu_class_init,
+ .class_size = sizeof(X86IOMMUClass),
+ .abstract = true,
+};
As I suspected am having some trouble parenting a PCI device from a
Bus device but I will investigate further to see if I can manage
something.
You cannot derive from both SYS_BUS_DEVICE and PCI_DEVICE.
You would need a composition; your device would be a SYS_BUS_DEVICE
and its state would include a PCI_DEVICE (or the other way around).
Then you can divide the responsibilities between them.
Thanks,
Marcel
+
[...]