|
@@ -140,6 +140,19 @@ static Property rp_props[] = {
|
|
|
DEFINE_PROP_END_OF_LIST()
|
|
|
};
|
|
|
|
|
|
+static void rp_instance_post_init(Object *obj)
|
|
|
+{
|
|
|
+ PCIESlot *s = PCIE_SLOT(obj);
|
|
|
+
|
|
|
+ if (!s->speed) {
|
|
|
+ s->speed = QEMU_PCI_EXP_LNK_2_5GT;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!s->width) {
|
|
|
+ s->width = QEMU_PCI_EXP_LNK_X1;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
static void rp_class_init(ObjectClass *klass, void *data)
|
|
|
{
|
|
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
|
@@ -157,6 +170,7 @@ static void rp_class_init(ObjectClass *klass, void *data)
|
|
|
static const TypeInfo rp_info = {
|
|
|
.name = TYPE_PCIE_ROOT_PORT,
|
|
|
.parent = TYPE_PCIE_SLOT,
|
|
|
+ .instance_post_init = rp_instance_post_init,
|
|
|
.class_init = rp_class_init,
|
|
|
.abstract = true,
|
|
|
.class_size = sizeof(PCIERootPortClass),
|