hw/i386: Have X86_IOMMU devices inherit from DYNAMIC_SYS_BUS_DEVICE

Do not explain why _X86_IOMMU devices are user_creatable,
have them inherit TYPE_DYNAMIC_SYS_BUS_DEVICE, to explicit
they can optionally be plugged on TYPE_PLATFORM_BUS_DEVICE.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alexander Graf <graf@amazon.com>
Reviewed-by: Clément Mathieu--Drif <clement.mathieu--drif@eviden.com>
Message-Id: <20250125181343.59151-7-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-01-25 18:36:50 +01:00
parent 8abda739f3
commit 1e2f32bf71
3 changed files with 1 additions and 5 deletions

View file

@ -1687,8 +1687,6 @@ static void amdvi_sysbus_class_init(ObjectClass *klass, void *data)
dc->hotpluggable = false; dc->hotpluggable = false;
dc_class->realize = amdvi_sysbus_realize; dc_class->realize = amdvi_sysbus_realize;
dc_class->int_remap = amdvi_int_remap; dc_class->int_remap = amdvi_int_remap;
/* Supported by the pc-q35-* machine types */
dc->user_creatable = true;
set_bit(DEVICE_CATEGORY_MISC, dc->categories); set_bit(DEVICE_CATEGORY_MISC, dc->categories);
dc->desc = "AMD IOMMU (AMD-Vi) DMA Remapping device"; dc->desc = "AMD IOMMU (AMD-Vi) DMA Remapping device";
device_class_set_props(dc, amdvi_properties); device_class_set_props(dc, amdvi_properties);

View file

@ -4871,8 +4871,6 @@ static void vtd_class_init(ObjectClass *klass, void *data)
dc->hotpluggable = false; dc->hotpluggable = false;
x86_class->realize = vtd_realize; x86_class->realize = vtd_realize;
x86_class->int_remap = vtd_int_remap; x86_class->int_remap = vtd_int_remap;
/* Supported by the pc-q35-* machine types */
dc->user_creatable = true;
set_bit(DEVICE_CATEGORY_MISC, dc->categories); set_bit(DEVICE_CATEGORY_MISC, dc->categories);
dc->desc = "Intel IOMMU (VT-d) DMA Remapping device"; dc->desc = "Intel IOMMU (VT-d) DMA Remapping device";
} }

View file

@ -146,7 +146,7 @@ bool x86_iommu_ir_supported(X86IOMMUState *s)
static const TypeInfo x86_iommu_info = { static const TypeInfo x86_iommu_info = {
.name = TYPE_X86_IOMMU_DEVICE, .name = TYPE_X86_IOMMU_DEVICE,
.parent = TYPE_SYS_BUS_DEVICE, .parent = TYPE_DYNAMIC_SYS_BUS_DEVICE,
.instance_size = sizeof(X86IOMMUState), .instance_size = sizeof(X86IOMMUState),
.class_init = x86_iommu_class_init, .class_init = x86_iommu_class_init,
.class_size = sizeof(X86IOMMUClass), .class_size = sizeof(X86IOMMUClass),