On 03/07/19 07:05, Markus Armbruster wrote:
> static const TypeInfo iommu_memory_region_info = {
> .parent = TYPE_MEMORY_REGION,
> .name = TYPE_IOMMU_MEMORY_REGION,
> .class_size = sizeof(IOMMUMemoryRegionClass),
> .instance_size = sizeof(IOMMUMemoryRegion),
> .instance_init = iommu_memory_region_initfn,
> .abstract = true,
> };
>
> typedef struct IOMMUMemoryRegionClass {
> /* private */
> ---> struct DeviceClass parent_class;
> [...]
> };
>
> struct IOMMUMemoryRegion {
> MemoryRegion parent_obj;
> [...]
> };
>
> The parent is TYPE_MEMORY_REGION, and the instance struct's first member is
> TYPE_MEMORY_REGION's instance struct as I expect, but the class struct's
> first member is something else entirely.
Cut-and-paste error. MemoryRegion adds no methods so that could be
either ObjectClass or better
typedef struct MemoryRegionClass {
/* private */
ObjectClass parent_class;
} ObjectClass;
Paolo