@@ -199,6 +199,22 @@ static void q35_host_class_init(ObjectClass *klass, void *data)
dc->user_creatable = false;
set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
dc->fw_name = "pci";
+
+ object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE_START, "uint32",
+ q35_host_get_pci_hole_start,
+ NULL, NULL, NULL);
+
+ object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE_END, "uint32",
+ q35_host_get_pci_hole_end,
+ NULL, NULL, NULL);
+
+ object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE64_START, "uint64",
+ q35_host_get_pci_hole64_start,
+ NULL, NULL, NULL);
+
+ object_class_property_add(klass, PCI_HOST_PROP_PCI_HOLE64_END, "uint64",
+ q35_host_get_pci_hole64_end,
+ NULL, NULL, NULL);
}
static void q35_host_initfn(Object *obj)
@@ -216,22 +232,6 @@ static void q35_host_initfn(Object *obj)
qdev_prop_set_int32(DEVICE(&s->mch), "addr", PCI_DEVFN(0, 0));
qdev_prop_set_bit(DEVICE(&s->mch), "multifunction", false);
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_START, "uint32",
- q35_host_get_pci_hole_start,
- NULL, NULL, NULL);
-
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_END, "uint32",
- q35_host_get_pci_hole_end,
- NULL, NULL, NULL);
-
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_START, "uint64",
- q35_host_get_pci_hole64_start,
- NULL, NULL, NULL);
-
- object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_END, "uint64",
- q35_host_get_pci_hole64_end,
- NULL, NULL, NULL);
-
object_property_add_uint64_ptr(obj, PCIE_HOST_MCFG_SIZE,
&pehb->size, OBJ_PROP_FLAG_READ);
These properties are class properties in i440fx. No need to handle them differently in q35. Signed-off-by: Bernhard Beschow <shentey@gmail.com> --- hw/pci-host/q35.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-)