+ pci_probers = changeling_spawn(NULL, "pci_realm");
+
+ return 0;
+}
+
+static int
+pci_create(struct device_def* def, morph_t* obj)
+{
+ struct irq_domain *pci_domain;
+ pci_bridge = device_allocsys(NULL, NULL);
+
+#ifdef CONFIG_USE_DEVICETREE
+ devtree_link_t devtree_node;
+ devtree_node = changeling_try_reveal(obj, dt_node_morpher);
+ device_set_devtree_node(pci_bridge, devtree_node);
+#endif
+
+ pci_domain = irq_create_domain(pci_bridge, &pci_irq_ops);
+ irq_attach_domain(irq_get_default_domain(), pci_domain);
+
+ register_device(pci_bridge, &def->class, "pci_bridge");
+ pci_scan();
+
+ return 0;