Lines Matching refs:node

144 pri_link_core(struct md *md, struct md_node *node, struct core *core)  in pri_link_core()  argument
151 TAILQ_FOREACH(prop, &node->prop_list, link) { in pri_link_core()
154 node2 = prop->d.arc.node; in pri_link_core()
173 pri_add_core(struct md *md, struct md_node *node) in pri_add_core() argument
180 pri_link_core(md, node, core); in pri_add_core()
186 struct md_node *node; in pri_init_cores() local
192 TAILQ_FOREACH(node, &md->node_list, link) { in pri_init_cores()
193 if (strcmp(node->name->str, "tlb") == 0 && in pri_init_cores()
194 md_get_prop_data(md, node, "type", &type, &len) && in pri_init_cores()
196 pri_add_core(md, node); in pri_init_cores()
202 pri_add_hostbridge(struct md *md, struct md_node *node) in pri_add_hostbridge() argument
207 md_get_prop_str(md, node, "path", &hostbridge->path); in pri_add_hostbridge()
208 md_get_prop_val(md, node, "#msi-eqs", &hostbridge->num_msi_eqs); in pri_add_hostbridge()
209 md_get_prop_val(md, node, "#msi", &hostbridge->num_msis); in pri_add_hostbridge()
210 if (!md_get_prop_val(md, node, "#max-vpcis", &hostbridge->max_vpcis)) in pri_add_hostbridge()
219 struct md_node *node; in pri_init_components() local
227 TAILQ_FOREACH(node, &md->node_list, link) { in pri_init_components()
228 if (strcmp(node->name->str, "component") != 0) in pri_init_components()
231 if (md_get_prop_str(md, node, "assignable-path", &path)) { in pri_init_components()
234 if (md_get_prop_str(md, node, "nac", &nac)) in pri_init_components()
241 if (md_get_prop_str(md, node, "type", &type) && in pri_init_components()
243 pri_add_hostbridge(md, node); in pri_init_components()
250 struct md_node *node; in pri_init_phys_io() local
259 TAILQ_FOREACH(node, &md->node_list, link) { in pri_init_phys_io()
260 if (strcmp(node->name->str, "iodevice") == 0 && in pri_init_phys_io()
261 md_get_prop_str(md, node, "device-type", &device_type) && in pri_init_phys_io()
263 if (!md_get_prop_val(md, node, "cfg-handle", in pri_init_phys_io()
268 md_get_prop_val(md, node, "#msi-eqs", in pri_init_phys_io()
270 md_get_prop_val(md, node, "#msi", in pri_init_phys_io()
272 md_get_prop_data(md, node, "msi-ranges", in pri_init_phys_io()
276 md_get_prop_data(md, node, "virtual-dma", in pri_init_phys_io()
289 pri_add_cpu(struct md *md, struct md_node *node) in pri_add_cpu() argument
300 if (!md_get_prop_val(md, node, "pid", &cpu->pid)) in pri_add_cpu()
301 md_get_prop_val(md, node, "id", &cpu->pid); in pri_add_cpu()
310 md_get_prop_val(md, node, "mmu-page-size-list", &mmu_page_size_list); in pri_add_cpu()
350 pri_add_mblock(struct md *md, struct md_node *node) in pri_add_mblock() argument
355 md_get_prop_val(md, node, "base", &mblock->membase); in pri_add_mblock()
356 md_get_prop_val(md, node, "size", &mblock->memsize); in pri_add_mblock()
408 struct md_node *node; in pri_delete_devalias() local
414 node = md_find_node(protomd, "openboot"); in pri_delete_devalias()
415 assert(node); in pri_delete_devalias()
416 node = md_find_subnode(protomd, node, "devalias"); in pri_delete_devalias()
417 if (node) in pri_delete_devalias()
418 md_delete_node(protomd, node); in pri_delete_devalias()
424 struct md_node *node, *node2; in pri_init() local
429 node = md_find_node(pri, "platform"); in pri_init()
430 if (node == NULL) in pri_init()
433 md_get_prop_val(md, node, "max-cpus", &max_cpus); in pri_init()
435 node = md_find_node(pri, "firmware"); in pri_init()
436 if (node == NULL) in pri_init()
439 md_get_prop_val(md, node, "max_guests", &max_guests); in pri_init()
440 md_get_prop_val(md, node, "max_hv_ldcs", &max_hv_ldcs); in pri_init()
441 md_get_prop_val(md, node, "max_guest_ldcs", &max_guest_ldcs); in pri_init()
442 md_get_prop_val(md, node, "md_elbow_room", &md_elbow_room); in pri_init()
443 md_get_prop_val(md, node, "max_mblocks", &max_mblocks); in pri_init()
444 md_get_prop_val(md, node, "directio_capability", &directio_capability); in pri_init()
446 node = md_find_node(md, "read_only_memory"); in pri_init()
447 if (node == NULL) in pri_init()
449 if (!md_get_prop_val(md, node, "base", &base)) in pri_init()
451 if (!md_get_prop_val(md, node, "size", &size)) in pri_init()
453 TAILQ_FOREACH(prop, &node->prop_list, link) { in pri_init()
456 node2 = prop->d.arc.node; in pri_init()
470 node = md_find_node(md, "platform"); in pri_init()
471 assert(node); in pri_init()
472 md_set_prop_val(md, node, "domaining-enabled", 0x1); in pri_init()
496 node = md_find_node(md, "cpus"); in pri_init()
497 TAILQ_FOREACH(prop, &node->prop_list, link) { in pri_init()
500 pri_add_cpu(md, prop->d.arc.node); in pri_init()
503 node = md_find_node(md, "memory"); in pri_init()
504 TAILQ_FOREACH(prop, &node->prop_list, link) { in pri_init()
507 pri_add_mblock(md, prop->d.arc.node); in pri_init()
516 hvmd_fixup_guest(struct md *md, struct md_node *guest, struct md_node *node) in hvmd_fixup_guest() argument
523 if (prop->d.arc.node == node) in hvmd_fixup_guest()
528 md_add_prop_arc(md, guest, "fwd", node); in hvmd_fixup_guest()
536 hvmd_init_frag(struct md *md, struct md_node *node) in hvmd_init_frag() argument
542 md_get_prop_val(md, node, "base", &base); in hvmd_init_frag()
543 md_get_prop_val(md, node, "size", &size); in hvmd_init_frag()
594 hvmd_init_mblock(struct md *md, struct md_node *node) in hvmd_init_mblock() argument
601 if (!md_get_prop_val(md, node, "resource_id", &resource_id)) in hvmd_init_mblock()
608 md_get_prop_val(md, node, "membase", &mblock->membase); in hvmd_init_mblock()
609 md_get_prop_val(md, node, "memsize", &mblock->memsize); in hvmd_init_mblock()
610 md_get_prop_val(md, node, "realbase", &mblock->realbase); in hvmd_init_mblock()
613 mblock->hv_node = node; in hvmd_init_mblock()
616 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init_mblock()
619 node2 = prop->d.arc.node; in hvmd_init_mblock()
621 hvmd_fixup_guest(md, node2, node); in hvmd_init_mblock()
627 hvmd_init_console(struct md *md, struct md_node *node) in hvmd_init_console() argument
632 if (!md_get_prop_val(md, node, "resource_id", &resource_id)) in hvmd_init_console()
639 md_get_prop_val(md, node, "ino", &console->ino); in hvmd_init_console()
640 md_get_prop_val(md, node, "uartbase", &console->uartbase); in hvmd_init_console()
643 console->hv_node = node; in hvmd_init_console()
647 hvmd_init_cpu(struct md *md, struct md_node *node) in hvmd_init_cpu() argument
655 if (!md_get_prop_val(md, node, "resource_id", &resource_id)) in hvmd_init_cpu()
661 if (!md_get_prop_val(md, node, "pid", &pid)) in hvmd_init_cpu()
665 md_get_prop_val(md, node, "vid", &cpu->vid); in hvmd_init_cpu()
666 if (!md_get_prop_val(md, node, "gid", &cpu->gid)) in hvmd_init_cpu()
668 md_get_prop_val(md, node, "partid", &cpu->partid); in hvmd_init_cpu()
671 cpu->hv_node = node; in hvmd_init_cpu()
674 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init_cpu()
677 node2 = prop->d.arc.node; in hvmd_init_cpu()
679 hvmd_fixup_guest(md, node2, node); in hvmd_init_cpu()
685 hvmd_init_device(struct md *md, struct md_node *node) in hvmd_init_device() argument
694 if (strcmp(node->name->str, "pcie_bus") != 0 && in hvmd_init_device()
695 strcmp(node->name->str, "network_device") != 0) in hvmd_init_device()
698 if (!md_get_prop_val(md, node, "resource_id", &resource_id)) in hvmd_init_device()
705 md_get_prop_val(md, node, "gid", &device->gid); in hvmd_init_device()
706 md_get_prop_val(md, node, "cfghandle", &device->cfghandle); in hvmd_init_device()
707 md_get_prop_val(md, node, "rcid", &device->rcid); in hvmd_init_device()
709 if (strcmp(node->name->str, "pcie_bus") == 0) in hvmd_init_device()
713 device->hv_node = node; in hvmd_init_device()
716 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init_device()
719 node2 = prop->d.arc.node; in hvmd_init_device()
721 hvmd_fixup_guest(md, node2, node); in hvmd_init_device()
749 hvmd_init_endpoint(struct md *md, struct md_node *node) in hvmd_init_endpoint() argument
754 if (!md_get_prop_val(md, node, "resource_id", &resource_id)) in hvmd_init_endpoint()
766 if (ldc_endpoints[resource_id]->hv_node == node) in hvmd_init_endpoint()
777 md_get_prop_val(md, node, "target_type", &endpoint->target_type); in hvmd_init_endpoint()
778 md_get_prop_val(md, node, "target_guest", &endpoint->target_guest); in hvmd_init_endpoint()
779 md_get_prop_val(md, node, "channel", &endpoint->channel); in hvmd_init_endpoint()
780 md_get_prop_val(md, node, "target_channel", &endpoint->target_channel); in hvmd_init_endpoint()
781 md_get_prop_val(md, node, "tx-ino", &endpoint->tx_ino); in hvmd_init_endpoint()
782 md_get_prop_val(md, node, "rx-ino", &endpoint->rx_ino); in hvmd_init_endpoint()
783 md_get_prop_val(md, node, "private_svc", &endpoint->private_svc); in hvmd_init_endpoint()
784 md_get_prop_val(md, node, "svc_id", &endpoint->svc_id); in hvmd_init_endpoint()
787 endpoint->hv_node = node; in hvmd_init_endpoint()
791 hvmd_init_guest(struct md *md, struct md_node *node) in hvmd_init_guest() argument
800 if (!md_get_prop_val(md, node, "resource_id", &resource_id)) in hvmd_init_guest()
812 md_get_prop_str(md, node, "name", &guest->name); in hvmd_init_guest()
813 md_get_prop_val(md, node, "gid", &guest->gid); in hvmd_init_guest()
814 md_get_prop_val(md, node, "pid", &guest->pid); in hvmd_init_guest()
815 md_get_prop_val(md, node, "tod-offset", &guest->tod_offset); in hvmd_init_guest()
816 md_get_prop_val(md, node, "perfctraccess", &guest->perfctraccess); in hvmd_init_guest()
817 md_get_prop_val(md, node, "perfctrhtaccess", &guest->perfctrhtaccess); in hvmd_init_guest()
818 md_get_prop_val(md, node, "rngctlaccessible", &guest->rngctlaccessible); in hvmd_init_guest()
819 md_get_prop_val(md, node, "mdpa", &guest->mdpa); in hvmd_init_guest()
822 guest->hv_node = node; in hvmd_init_guest()
829 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init_guest()
832 node2 = prop->d.arc.node; in hvmd_init_guest()
894 struct md_node *node; in hvmd_init() local
897 node = md_find_node(md, "root"); in hvmd_init()
898 md_get_prop_val(md, node, "content-version", &content_version); in hvmd_init()
899 md_get_prop_val(md, node, "stick-frequency", &stick_frequency); in hvmd_init()
900 md_get_prop_val(md, node, "tod-frequency", &tod_frequency); in hvmd_init()
901 md_get_prop_val(md, node, "tod", &tod); in hvmd_init()
902 md_get_prop_val(md, node, "erpt-pa", &erpt_pa); in hvmd_init()
903 md_get_prop_val(md, node, "erpt-size", &erpt_size); in hvmd_init()
904 md_get_prop_val(md, node, "uartbase", &uartbase); in hvmd_init()
906 node = md_find_node(md, "platform"); in hvmd_init()
907 if (node) in hvmd_init()
908 md_get_prop_val(md, node, "stick-frequency", &stick_frequency); in hvmd_init()
910 node = md_find_node(md, "hvmd_mblock"); in hvmd_init()
911 if (node) { in hvmd_init()
913 md_get_prop_val(md, node, "base", &hvmd_mblock->membase); in hvmd_init()
914 md_get_prop_val(md, node, "size", &hvmd_mblock->memsize); in hvmd_init()
915 md_get_prop_val(md, node, "md_maxsize", &md_maxsize); in hvmd_init()
919 node = md_find_node(md, "frag_space"); in hvmd_init()
920 md_get_prop_val(md, node, "fragsize", &fragsize); in hvmd_init()
924 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init()
927 hvmd_init_frag(md, prop->d.arc.node); in hvmd_init()
931 node = md_find_node(md, "consoles"); in hvmd_init()
932 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init()
935 hvmd_init_console(md, prop->d.arc.node); in hvmd_init()
938 node = md_find_node(md, "cpus"); in hvmd_init()
939 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init()
942 hvmd_init_cpu(md, prop->d.arc.node); in hvmd_init()
948 node = md_find_node(md, "devices"); in hvmd_init()
949 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init()
952 hvmd_init_device(md, prop->d.arc.node); in hvmd_init()
955 node = md_find_node(md, "memory"); in hvmd_init()
956 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init()
959 hvmd_init_mblock(md, prop->d.arc.node); in hvmd_init()
962 node = md_find_node(md, "ldc_endpoints"); in hvmd_init()
963 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init()
966 hvmd_init_endpoint(md, prop->d.arc.node); in hvmd_init()
969 node = md_find_node(md, "guests"); in hvmd_init()
970 TAILQ_FOREACH(prop, &node->prop_list, link) { in hvmd_init()
973 hvmd_init_guest(md, prop->d.arc.node); in hvmd_init()
983 struct md_node *node; in hvmd_finalize_cpu() local
1001 node = md_add_node(md, "cpu"); in hvmd_finalize_cpu()
1002 md_link_node(md, parent, node); in hvmd_finalize_cpu()
1003 md_add_prop_val(md, node, "pid", cpu->pid); in hvmd_finalize_cpu()
1004 md_add_prop_val(md, node, "vid", cpu->vid); in hvmd_finalize_cpu()
1005 md_add_prop_val(md, node, "gid", cpu->gid); in hvmd_finalize_cpu()
1006 md_add_prop_val(md, node, "partid", cpu->partid); in hvmd_finalize_cpu()
1007 md_add_prop_val(md, node, "resource_id", cpu->resource_id); in hvmd_finalize_cpu()
1008 cpu->hv_node = node; in hvmd_finalize_cpu()
1015 struct md_node *node; in hvmd_finalize_cpus() local
1021 node = md_add_node(md, "cpus"); in hvmd_finalize_cpus()
1022 md_link_node(md, parent, node); in hvmd_finalize_cpus()
1034 struct md_node *node; in hvmd_finalize_maus() local
1041 node = md_add_node(md, "maus"); in hvmd_finalize_maus()
1042 md_link_node(md, parent, node); in hvmd_finalize_maus()
1045 node = md_add_node(md, "cwqs"); in hvmd_finalize_maus()
1046 md_link_node(md, parent, node); in hvmd_finalize_maus()
1050 node = md_add_node(md, "rngs"); in hvmd_finalize_maus()
1051 md_link_node(md, parent, node); in hvmd_finalize_maus()
1053 md_link_node(md, node, child); in hvmd_finalize_maus()
1065 struct md_node *node; in hvmd_finalize_device() local
1070 node = md_add_node(md, name); in hvmd_finalize_device()
1071 md_link_node(md, parent, node); in hvmd_finalize_device()
1072 md_add_prop_val(md, node, "resource_id", device->resource_id); in hvmd_finalize_device()
1073 md_add_prop_val(md, node, "cfghandle", device->cfghandle); in hvmd_finalize_device()
1074 md_add_prop_val(md, node, "gid", device->gid); in hvmd_finalize_device()
1075 md_add_prop_val(md, node, "rcid", device->rcid); in hvmd_finalize_device()
1076 device->hv_node = node; in hvmd_finalize_device()
1083 struct md_node *node, *child, *parent; in hvmd_finalize_pcie_device() local
1091 node = device->hv_node; in hvmd_finalize_pcie_device()
1103 md_add_prop_val(md, node, "allow_bypass", 0); in hvmd_finalize_pcie_device()
1105 md_add_prop_val(md, node, "#msi-eqs", device->num_msi_eqs); in hvmd_finalize_pcie_device()
1106 md_add_prop_val(md, node, "#msi", device->num_msis); in hvmd_finalize_pcie_device()
1107 md_add_prop_data(md, node, "msi-ranges", (void *)device->msi_ranges, in hvmd_finalize_pcie_device()
1109 md_add_prop_data(md, node, "virtual-dma", rootcomplex->vdma_ranges, in hvmd_finalize_pcie_device()
1116 md_link_node(md, node, parent); in hvmd_finalize_pcie_device()
1143 md_link_node(md, node, parent); in hvmd_finalize_pcie_device()
1161 struct md_node *node; in hvmd_finalize_devices() local
1167 node = md_add_node(md, "devices"); in hvmd_finalize_devices()
1168 md_link_node(md, parent, node); in hvmd_finalize_devices()
1185 struct md_node *node; in hvmd_finalize_mblock() local
1190 node = md_add_node(md, "mblock"); in hvmd_finalize_mblock()
1191 md_link_node(md, parent, node); in hvmd_finalize_mblock()
1192 md_add_prop_val(md, node, "membase", mblock->membase); in hvmd_finalize_mblock()
1193 md_add_prop_val(md, node, "memsize", mblock->memsize); in hvmd_finalize_mblock()
1194 md_add_prop_val(md, node, "realbase", mblock->realbase); in hvmd_finalize_mblock()
1195 md_add_prop_val(md, node, "resource_id", mblock->resource_id); in hvmd_finalize_mblock()
1196 mblock->hv_node = node; in hvmd_finalize_mblock()
1203 struct md_node *node; in hvmd_finalize_memory() local
1209 node = md_add_node(md, "memory"); in hvmd_finalize_memory()
1210 md_link_node(md, parent, node); in hvmd_finalize_memory()
1222 struct md_node *node; in hvmd_finalize_endpoint() local
1227 node = md_add_node(md, "ldc_endpoint"); in hvmd_finalize_endpoint()
1228 md_link_node(md, parent, node); in hvmd_finalize_endpoint()
1229 md_add_prop_val(md, node, "resource_id", endpoint->resource_id); in hvmd_finalize_endpoint()
1230 md_add_prop_val(md, node, "target_type", endpoint->target_type); in hvmd_finalize_endpoint()
1231 md_add_prop_val(md, node, "channel", endpoint->channel); in hvmd_finalize_endpoint()
1233 md_add_prop_val(md, node, "target_guest", in hvmd_finalize_endpoint()
1235 md_add_prop_val(md, node, "target_channel", endpoint->target_channel); in hvmd_finalize_endpoint()
1237 md_add_prop_val(md, node, "tx-ino", endpoint->tx_ino); in hvmd_finalize_endpoint()
1239 md_add_prop_val(md, node, "rx-ino", endpoint->rx_ino); in hvmd_finalize_endpoint()
1241 md_add_prop_val(md, node, "private_svc", in hvmd_finalize_endpoint()
1244 md_add_prop_val(md, node, "svc_id", endpoint->svc_id); in hvmd_finalize_endpoint()
1245 endpoint->hv_node = node; in hvmd_finalize_endpoint()
1252 struct md_node *node; in hvmd_finalize_endpoints() local
1258 node = md_add_node(md, "ldc_endpoints"); in hvmd_finalize_endpoints()
1259 md_link_node(md, parent, node); in hvmd_finalize_endpoints()
1271 struct md_node *node; in hvmd_finalize_console() local
1277 node = md_add_node(md, "console"); in hvmd_finalize_console()
1278 md_link_node(md, parent, node); in hvmd_finalize_console()
1279 md_add_prop_val(md, node, "resource_id", console->resource_id); in hvmd_finalize_console()
1280 md_add_prop_val(md, node, "ino", console->ino); in hvmd_finalize_console()
1281 console->hv_node = node; in hvmd_finalize_console()
1284 md_add_prop_val(md, node, "uartbase", console->uartbase); in hvmd_finalize_console()
1290 md_link_node(md, node, endpoint->hv_node); in hvmd_finalize_console()
1300 struct md_node *node; in hvmd_finalize_consoles() local
1306 node = md_add_node(md, "consoles"); in hvmd_finalize_consoles()
1307 md_link_node(md, parent, node); in hvmd_finalize_consoles()
1318 struct md_node *node; in hvmd_finalize_guest() local
1328 node = md_add_node(md, "guest"); in hvmd_finalize_guest()
1329 md_link_node(md, parent, node); in hvmd_finalize_guest()
1330 md_add_prop_str(md, node, "name", guest->name); in hvmd_finalize_guest()
1331 md_add_prop_val(md, node, "gid", guest->gid); in hvmd_finalize_guest()
1332 md_add_prop_val(md, node, "pid", guest->pid); in hvmd_finalize_guest()
1333 md_add_prop_val(md, node, "resource_id", guest->resource_id); in hvmd_finalize_guest()
1334 md_add_prop_val(md, node, "tod-offset", guest->tod_offset); in hvmd_finalize_guest()
1335 md_add_prop_val(md, node, "reset-reason", 0); in hvmd_finalize_guest()
1336 md_add_prop_val(md, node, "perfctraccess", guest->perfctraccess); in hvmd_finalize_guest()
1337 md_add_prop_val(md, node, "perfctrhtaccess", guest->perfctrhtaccess); in hvmd_finalize_guest()
1338 md_add_prop_val(md, node, "rngctlaccessible", guest->rngctlaccessible); in hvmd_finalize_guest()
1339 md_add_prop_val(md, node, "diagpriv", 0); in hvmd_finalize_guest()
1340 md_add_prop_val(md, node, "mdpa", guest->mdpa); in hvmd_finalize_guest()
1341 md_add_prop_val(md, node, "rombase", rombase); in hvmd_finalize_guest()
1342 md_add_prop_val(md, node, "romsize", romsize); in hvmd_finalize_guest()
1343 md_add_prop_val(md, node, "uartbase", uartbase); in hvmd_finalize_guest()
1344 guest->hv_node = node; in hvmd_finalize_guest()
1346 node = md_add_node(md, "virtual_devices"); in hvmd_finalize_guest()
1347 md_link_node(md, guest->hv_node, node); in hvmd_finalize_guest()
1348 md_add_prop_val(md, node, "cfghandle", 0x100); in hvmd_finalize_guest()
1350 node = md_add_node(md, "channel_devices"); in hvmd_finalize_guest()
1351 md_link_node(md, guest->hv_node, node); in hvmd_finalize_guest()
1352 md_add_prop_val(md, node, "cfghandle", 0x200); in hvmd_finalize_guest()
1370 struct md_node *node; in hvmd_finalize_guests() local
1376 node = md_add_node(md, "guests"); in hvmd_finalize_guests()
1377 md_link_node(md, parent, node); in hvmd_finalize_guests()
1389 struct md_node *node; in hvmd_finalize() local
1394 node = md_add_node(md, "root"); in hvmd_finalize()
1395 md_add_prop_val(md, node, "content-version", content_version); in hvmd_finalize()
1397 md_add_prop_val(md, node, "stick-frequency", stick_frequency); in hvmd_finalize()
1399 md_add_prop_val(md, node, "tod-frequency", in hvmd_finalize()
1402 md_add_prop_val(md, node, "tod", tod); in hvmd_finalize()
1404 md_add_prop_val(md, node, "erpt-pa", erpt_pa); in hvmd_finalize()
1406 md_add_prop_val(md, node, "erpt-size", erpt_size); in hvmd_finalize()
1408 parent = node; in hvmd_finalize()
1409 node = md_add_node(md, "platform"); in hvmd_finalize()
1410 md_link_node(md, parent, node); in hvmd_finalize()
1411 md_add_prop_val(md, node, "stick-frequency", stick_frequency); in hvmd_finalize()
1417 node = md_add_node(md, "frag_space"); in hvmd_finalize()
1418 md_link_node(md, parent, node); in hvmd_finalize()
1419 md_add_prop_val(md, node, "fragsize", fragsize); in hvmd_finalize()
1423 node = md_add_node(md, "frag_mblock"); in hvmd_finalize()
1424 md_link_node(md, parent, node); in hvmd_finalize()
1425 md_add_prop_val(md, node, "base", mblock->membase); in hvmd_finalize()
1426 md_add_prop_val(md, node, "size", mblock->memsize); in hvmd_finalize()
1433 node = md_add_node(md, "hvmd_mblock"); in hvmd_finalize()
1434 md_link_node(md, parent, node); in hvmd_finalize()
1435 md_add_prop_val(md, node, "base", hvmd_mblock->membase); in hvmd_finalize()
1436 md_add_prop_val(md, node, "size", hvmd_mblock->memsize); in hvmd_finalize()
1437 md_add_prop_val(md, node, "md_maxsize", md_maxsize); in hvmd_finalize()
1615 struct md_node *node; in guest_add_channel_endpoints() local
1620 node = md_add_node(md, "channel-endpoints"); in guest_add_channel_endpoints()
1621 md_link_node(md, parent, node); in guest_add_channel_endpoints()
1623 return node; in guest_add_channel_endpoints()
1631 struct md_node *node; in guest_add_endpoint() local
1637 node = md_add_node(md, "channel-endpoint"); in guest_add_endpoint()
1638 md_link_node(md, parent, node); in guest_add_endpoint()
1639 md_add_prop_val(md, node, "id", id); in guest_add_endpoint()
1640 md_add_prop_val(md, node, "tx-ino", 2 * id); in guest_add_endpoint()
1641 md_add_prop_val(md, node, "rx-ino", 2 * id + 1); in guest_add_endpoint()
1643 return node; in guest_add_endpoint()
1652 struct md_node *node; in guest_add_vcc() local
1657 node = md_add_node(md, "virtual-device"); in guest_add_vcc()
1658 md_link_node(md, parent, node); in guest_add_vcc()
1659 md_add_prop_str(md, node, "name", "virtual-console-concentrator"); in guest_add_vcc()
1660 md_add_prop_data(md, node, "compatible", compatible, in guest_add_vcc()
1662 md_add_prop_str(md, node, "device_type", "vcc"); in guest_add_vcc()
1663 md_add_prop_val(md, node, "cfg-handle", 0x0); in guest_add_vcc()
1664 md_add_prop_str(md, node, "svc-name", "primary-vcc0"); in guest_add_vcc()
1666 return node; in guest_add_vcc()
1673 struct md_node *node, *node2; in guest_find_vcc() local
1677 node = md_find_node(md, "channel-devices"); in guest_find_vcc()
1678 assert(node != NULL); in guest_find_vcc()
1680 TAILQ_FOREACH(prop, &node->prop_list, link) { in guest_find_vcc()
1683 node2 = prop->d.arc.node; in guest_find_vcc()
1699 struct md_node *node; in guest_add_vcc_port() local
1707 node = md_add_node(md, "virtual-device-port"); in guest_add_vcc_port()
1708 md_link_node(md, vcc, node); in guest_add_vcc_port()
1709 md_add_prop_str(md, node, "name", "vcc-port"); in guest_add_vcc_port()
1710 md_add_prop_val(md, node, "id", id); in guest_add_vcc_port()
1711 md_add_prop_str(md, node, "vcc-domain-name", domain); in guest_add_vcc_port()
1712 md_add_prop_str(md, node, "vcc-group-name", domain); in guest_add_vcc_port()
1714 md_add_prop_val(md, node, "vcc-tcp-port", 5000 + id); in guest_add_vcc_port()
1717 md_link_node(md, node, child); in guest_add_vcc_port()
1719 return node; in guest_add_vcc_port()
1728 struct md_node *node; in guest_add_vds() local
1733 node = md_add_node(md, "virtual-device"); in guest_add_vds()
1734 md_link_node(md, parent, node); in guest_add_vds()
1735 md_add_prop_str(md, node, "name", "virtual-disk-server"); in guest_add_vds()
1736 md_add_prop_data(md, node, "compatible", compatible, in guest_add_vds()
1738 md_add_prop_str(md, node, "device_type", "vds"); in guest_add_vds()
1739 md_add_prop_val(md, node, "cfg-handle", 0x0); in guest_add_vds()
1740 md_add_prop_str(md, node, "svc-name", "primary-vds0"); in guest_add_vds()
1742 return node; in guest_add_vds()
1749 struct md_node *node, *node2; in guest_find_vds() local
1753 node = md_find_node(md, "channel-devices"); in guest_find_vds()
1754 assert(node != NULL); in guest_find_vds()
1756 TAILQ_FOREACH(prop, &node->prop_list, link) { in guest_find_vds()
1759 node2 = prop->d.arc.node; in guest_find_vds()
1775 struct md_node *node; in guest_add_vds_port() local
1783 node = md_add_node(md, "virtual-device-port"); in guest_add_vds_port()
1784 md_link_node(md, vds, node); in guest_add_vds_port()
1785 md_add_prop_str(md, node, "name", "vds-port"); in guest_add_vds_port()
1786 md_add_prop_val(md, node, "id", id); in guest_add_vds_port()
1787 md_add_prop_str(md, node, "vds-block-device", path); in guest_add_vds_port()
1790 md_link_node(md, node, child); in guest_add_vds_port()
1792 return node; in guest_add_vds_port()
1801 struct md_node *node; in guest_add_vsw() local
1806 node = md_add_node(md, "virtual-device"); in guest_add_vsw()
1807 md_link_node(md, parent, node); in guest_add_vsw()
1808 md_add_prop_str(md, node, "name", "virtual-network-switch"); in guest_add_vsw()
1809 md_add_prop_data(md, node, "compatible", compatible, in guest_add_vsw()
1811 md_add_prop_str(md, node, "device_type", "vsw"); in guest_add_vsw()
1812 md_add_prop_val(md, node, "cfg-handle", 0x0); in guest_add_vsw()
1813 md_add_prop_str(md, node, "svc-name", "primary-vsw0"); in guest_add_vsw()
1815 return node; in guest_add_vsw()
1822 struct md_node *node, *node2; in guest_find_vsw() local
1826 node = md_find_node(md, "channel-devices"); in guest_find_vsw()
1827 assert(node != NULL); in guest_find_vsw()
1829 TAILQ_FOREACH(prop, &node->prop_list, link) { in guest_find_vsw()
1832 node2 = prop->d.arc.node; in guest_find_vsw()
1848 struct md_node *node; in guest_add_vsw_port() local
1861 node = md_add_node(md, "virtual-device-port"); in guest_add_vsw_port()
1862 md_link_node(md, vds, node); in guest_add_vsw_port()
1863 md_add_prop_str(md, node, "name", "vsw-port"); in guest_add_vsw_port()
1864 md_add_prop_val(md, node, "id", id); in guest_add_vsw_port()
1867 md_link_node(md, node, child); in guest_add_vsw_port()
1869 return node; in guest_add_vsw_port()
1878 struct md_node *node; in guest_add_console_device() local
1883 node = md_add_node(md, "virtual-device"); in guest_add_console_device()
1884 md_link_node(md, parent, node); in guest_add_console_device()
1885 md_add_prop_str(md, node, "name", "console"); in guest_add_console_device()
1886 md_add_prop_str(md, node, "device-type", "serial"); in guest_add_console_device()
1887 md_add_prop_val(md, node, "intr", 0x1); in guest_add_console_device()
1888 md_add_prop_val(md, node, "ino", 0x11); in guest_add_console_device()
1889 md_add_prop_val(md, node, "channel#", 0); in guest_add_console_device()
1890 md_add_prop_val(md, node, "cfg-handle", 0x1); in guest_add_console_device()
1891 md_add_prop_data(md, node, "compatible", compatible, in guest_add_console_device()
1894 return node; in guest_add_console_device()
1903 struct md_node *node; in guest_add_vdc() local
1908 node = md_add_node(md, "virtual-device"); in guest_add_vdc()
1909 md_link_node(md, parent, node); in guest_add_vdc()
1910 md_add_prop_str(md, node, "name", "disk"); in guest_add_vdc()
1911 md_add_prop_str(md, node, "device-type", "block"); in guest_add_vdc()
1912 md_add_prop_val(md, node, "cfg-handle", cfghandle); in guest_add_vdc()
1913 md_add_prop_data(md, node, "compatible", compatible, in guest_add_vdc()
1916 return node; in guest_add_vdc()
1924 struct md_node *node; in guest_add_vdc_port() local
1930 node = md_add_node(md, "virtual-device-port"); in guest_add_vdc_port()
1931 md_link_node(md, vdc, node); in guest_add_vdc_port()
1932 md_add_prop_str(md, node, "name", "vdc-port"); in guest_add_vdc_port()
1933 md_add_prop_val(md, node, "id", id); in guest_add_vdc_port()
1936 md_link_node(md, node, child); in guest_add_vdc_port()
1938 return node; in guest_add_vdc_port()
1948 struct md_node *node; in guest_add_vnet() local
1953 node = md_add_node(md, "virtual-device"); in guest_add_vnet()
1954 md_link_node(md, parent, node); in guest_add_vnet()
1955 md_add_prop_str(md, node, "name", "network"); in guest_add_vnet()
1956 md_add_prop_str(md, node, "device-type", "network"); in guest_add_vnet()
1957 md_add_prop_val(md, node, "cfg-handle", cfghandle); in guest_add_vnet()
1958 md_add_prop_data(md, node, "compatible", compatible, in guest_add_vnet()
1962 md_add_prop_val(md, node, "local-mac-address", mac_addr); in guest_add_vnet()
1963 md_add_prop_val(md, node, "mtu", mtu); in guest_add_vnet()
1965 return node; in guest_add_vnet()
1974 struct md_node *node; in guest_add_vnet_port() local
1980 node = md_add_node(md, "virtual-device-port"); in guest_add_vnet_port()
1981 md_link_node(md, vdc, node); in guest_add_vnet_port()
1982 md_add_prop_str(md, node, "name", "vnet-port"); in guest_add_vnet_port()
1983 md_add_prop_val(md, node, "id", id); in guest_add_vnet_port()
1984 md_add_prop_val(md, node, "switch-port", 0); in guest_add_vnet_port()
1985 md_add_prop_data(md, node, "remote-mac-address", in guest_add_vnet_port()
1989 md_link_node(md, node, child); in guest_add_vnet_port()
1991 return node; in guest_add_vnet_port()
2000 struct md_node *node; in guest_add_channel_devices() local
2005 node = md_add_node(md, "channel-devices"); in guest_add_channel_devices()
2006 md_link_node(md, parent, node); in guest_add_channel_devices()
2007 md_add_prop_str(md, node, "name", "channel-devices"); in guest_add_channel_devices()
2008 md_add_prop_str(md, node, "device-type", "channel-devices"); in guest_add_channel_devices()
2009 md_add_prop_data(md, node, "compatible", compatible, in guest_add_channel_devices()
2011 md_add_prop_val(md, node, "cfg-handle", 0x200); in guest_add_channel_devices()
2013 return node; in guest_add_channel_devices()
2021 struct md_node *node; in guest_add_domain_services() local
2026 node = md_add_node(md, "domain-services"); in guest_add_domain_services()
2027 md_link_node(md, parent, node); in guest_add_domain_services()
2029 return node; in guest_add_domain_services()
2037 struct md_node *node; in guest_add_domain_services_port() local
2044 node = md_add_node(md, "domain-services-port"); in guest_add_domain_services_port()
2045 md_link_node(md, parent, node); in guest_add_domain_services_port()
2046 md_add_prop_val(md, node, "id", id); in guest_add_domain_services_port()
2050 md_link_node(md, node, child); in guest_add_domain_services_port()
2052 return node; in guest_add_domain_services_port()
2060 struct md_node *node; in guest_add_devalias() local
2065 node = md_find_subnode(md, parent, "devalias"); in guest_add_devalias()
2066 if (node == NULL) { in guest_add_devalias()
2067 node = md_add_node(md, "devalias"); in guest_add_devalias()
2068 md_link_node(md, parent, node); in guest_add_devalias()
2071 md_add_prop_str(md, node, name, path); in guest_add_devalias()
2078 struct md_node *node; in guest_set_domaining_enabled() local
2080 node = md_find_node(md, "platform"); in guest_set_domaining_enabled()
2081 assert(node); in guest_set_domaining_enabled()
2083 md_set_prop_val(md, node, "domaining-enabled", 0x1); in guest_set_domaining_enabled()
2090 struct md_node *node; in guest_set_mac_address() local
2094 node = md_find_node(md, "platform"); in guest_set_mac_address()
2095 assert(node); in guest_set_mac_address()
2098 md_set_prop_val(md, node, "mac-address", mac_address); in guest_set_mac_address()
2101 md_set_prop_val(md, node, "hostid", hostid); in guest_set_mac_address()
2108 struct md_node *node, *node2; in guest_find_vc() local
2113 node = md_find_node(md, "channel-devices"); in guest_find_vc()
2114 assert(node != NULL); in guest_find_vc()
2116 TAILQ_FOREACH(prop, &node->prop_list, link) { in guest_find_vc()
2119 node2 = prop->d.arc.node; in guest_find_vc()
2135 struct md_node *node; in guest_add_vc_port() local
2143 node = md_add_node(md, "virtual-device-port"); in guest_add_vc_port()
2144 md_link_node(md, vc, node); in guest_add_vc_port()
2145 md_add_prop_str(md, node, "name", "vldc-port"); in guest_add_vc_port()
2146 md_add_prop_val(md, node, "id", id); in guest_add_vc_port()
2148 md_add_prop_str(md, node, "vldc-svc-name", str); in guest_add_vc_port()
2152 md_link_node(md, node, child); in guest_add_vc_port()
2154 return node; in guest_add_vc_port()
2162 struct md_node *node; in guest_create() local
2187 node = md_find_node(guest->md, "root"); in guest_create()
2188 md_add_prop_val(guest->md, node, "reset-reason", 0); in guest_create()
2215 struct md_node *node, *node2; in guest_prune_phys_io() local
2221 node = md_find_node(guest->md, "phys_io"); in guest_prune_phys_io()
2222 TAILQ_FOREACH_SAFE(prop, &node->prop_list, link, prop2) { in guest_prune_phys_io()
2225 node2 = prop->d.arc.node; in guest_prune_phys_io()
2258 guest_prune_pcie(struct guest *guest, struct md_node *node, const char *path) in guest_prune_pcie() argument
2266 TAILQ_FOREACH_SAFE(prop, &node->prop_list, link, prop2) { in guest_prune_pcie()
2269 node2 = prop->d.arc.node; in guest_prune_pcie()
2332 struct md_node *node, *node2; in guest_fixup_phys_io() local
2343 node = md_find_node(guest->md, "phys_io"); in guest_fixup_phys_io()
2344 TAILQ_FOREACH_SAFE(prop, &node->prop_list, link, prop2) { in guest_fixup_phys_io()
2347 node2 = prop->d.arc.node; in guest_fixup_phys_io()
2396 struct md_node *node; in guest_delete_virtual_device_port() local
2399 TAILQ_FOREACH(node, &md->node_list, link) { in guest_delete_virtual_device_port()
2400 if (strcmp(node->name->str, "virtual-device-port") != 0) in guest_delete_virtual_device_port()
2402 TAILQ_FOREACH(prop, &node->prop_list, link) { in guest_delete_virtual_device_port()
2404 prop->d.arc.node == port) { in guest_delete_virtual_device_port()
2405 md_delete_node(md, node); in guest_delete_virtual_device_port()
2416 struct md_node *node, *node2; in guest_delete_endpoint() local
2420 node = md_find_node(md, "channel-endpoints"); in guest_delete_endpoint()
2421 TAILQ_FOREACH(prop, &node->prop_list, link) { in guest_delete_endpoint()
2424 node2 = prop->d.arc.node; in guest_delete_endpoint()
2604 struct md_node *node; in guest_add_vnetwork() local
2611 node = guest_find_vsw(primary); in guest_add_vnetwork()
2612 md_get_prop_val(primary->md, node, "local-mac-address", &remote_mac_addr); in guest_add_vnetwork()
2633 struct md_node *node; in guest_add_variable() local
2635 node = md_find_node(md, "variables"); in guest_add_variable()
2636 if (node == NULL) { in guest_add_variable()
2640 node = md_add_node(md, "variables"); in guest_add_variable()
2641 md_link_node(md, parent, node); in guest_add_variable()
2644 md_add_prop_str(md, node, name, str); in guest_add_variable()
2689 struct md_node *node, *node2; in guest_finalize() local
2699 node = md_find_node(md, "cpus"); in guest_finalize()
2700 TAILQ_FOREACH_SAFE(prop, &node->prop_list, link, prop2) { in guest_finalize()
2703 node2 = prop->d.arc.node; in guest_finalize()
2721 node = md_find_node(md, "virtual-devices"); in guest_finalize()
2722 TAILQ_FOREACH_SAFE(prop, &node->prop_list, link, prop2) { in guest_finalize()
2725 node2 = prop->d.arc.node; in guest_finalize()
2735 node = md_find_node(md, "memory"); in guest_finalize()
2736 TAILQ_FOREACH_SAFE(prop, &node->prop_list, link, prop2) { in guest_finalize()
2739 node2 = prop->d.arc.node; in guest_finalize()