Lines Matching refs:d_config
461 libxl_domain_config *d_config, in libxl__domain_build() argument
465 libxl_domain_build_info *const info = &d_config->b_info; in libxl__domain_build()
470 ret = libxl__build_pre(gc, domid, d_config, state); in libxl__domain_build()
478 ret = libxl__build_hvm(gc, domid, d_config, state); in libxl__domain_build()
516 ret = libxl__build_pv(gc, domid, d_config, state); in libxl__domain_build()
545 ret = libxl__build_hvm(gc, domid, d_config, state); in libxl__domain_build()
565 int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config, in libxl__domain_make() argument
580 libxl_domain_create_info *info = &d_config->c_info; in libxl__domain_make()
581 libxl_domain_build_info *b_info = &d_config->b_info; in libxl__domain_make()
657 ret = libxl__arch_domain_prepare_config(gc, d_config, &create); in libxl__domain_make()
757 rc = libxl__arch_domain_save_config(gc, d_config, state, &create); in libxl__domain_make()
1070 libxl_domain_config *d_config, in libxl__domain_config_setdefault() argument
1076 libxl_domain_create_info *c_info = &d_config->c_info; in libxl__domain_config_setdefault()
1082 if (d_config->c_info.ssid_label) { in libxl__domain_config_setdefault()
1083 char *s = d_config->c_info.ssid_label; in libxl__domain_config_setdefault()
1085 &d_config->c_info.ssidref); in libxl__domain_config_setdefault()
1096 if (d_config->b_info.exec_ssid_label) { in libxl__domain_config_setdefault()
1097 char *s = d_config->b_info.exec_ssid_label; in libxl__domain_config_setdefault()
1099 &d_config->b_info.exec_ssidref); in libxl__domain_config_setdefault()
1110 if (d_config->b_info.device_model_ssid_label) { in libxl__domain_config_setdefault()
1111 char *s = d_config->b_info.device_model_ssid_label; in libxl__domain_config_setdefault()
1113 &d_config->b_info.device_model_ssidref); in libxl__domain_config_setdefault()
1125 if (d_config->c_info.pool_name) { in libxl__domain_config_setdefault()
1126 d_config->c_info.poolid = -1; in libxl__domain_config_setdefault()
1127 libxl_cpupool_qualifier_to_cpupoolid(ctx, d_config->c_info.pool_name, in libxl__domain_config_setdefault()
1128 &d_config->c_info.poolid, in libxl__domain_config_setdefault()
1131 if (!libxl_cpupoolid_is_valid(ctx, d_config->c_info.poolid)) { in libxl__domain_config_setdefault()
1133 d_config->c_info.pool_name); in libxl__domain_config_setdefault()
1138 ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info, in libxl__domain_config_setdefault()
1150 bool need_pt = d_config->num_pcidevs || d_config->num_dtdevs; in libxl__domain_config_setdefault()
1171 ret = libxl__arch_passthrough_mode_setdefault(gc,domid,d_config,&physinfo); in libxl__domain_config_setdefault()
1181 pod_enabled = (d_config->c_info.type != LIBXL_DOMAIN_TYPE_PV) && in libxl__domain_config_setdefault()
1182 (d_config->b_info.target_memkb < d_config->b_info.max_memkb); in libxl__domain_config_setdefault()
1189 if (d_config->c_info.type != LIBXL_DOMAIN_TYPE_PV && in libxl__domain_config_setdefault()
1190 d_config->c_info.passthrough != LIBXL_PASSTHROUGH_DISABLED && in libxl__domain_config_setdefault()
1201 if (pod_enabled && d_config->b_info.num_vnuma_nodes) { in libxl__domain_config_setdefault()
1210 if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_PV && in libxl__domain_config_setdefault()
1211 d_config->b_info.num_vnuma_nodes) { in libxl__domain_config_setdefault()
1217 if (d_config->b_info.shadow_memkb == LIBXL_MEMKB_DEFAULT in libxl__domain_config_setdefault()
1219 bool hap = d_config->c_info.type != LIBXL_DOMAIN_TYPE_PV && in libxl__domain_config_setdefault()
1220 libxl_defbool_val(d_config->c_info.hap); in libxl__domain_config_setdefault()
1222 d_config->b_info.shadow_memkb = in libxl__domain_config_setdefault()
1223 libxl__get_required_paging_memory(d_config->b_info.max_memkb, in libxl__domain_config_setdefault()
1224 d_config->b_info.max_vcpus, in libxl__domain_config_setdefault()
1225 d_config->c_info.type, in libxl__domain_config_setdefault()
1230 if (d_config->b_info.iommu_memkb == LIBXL_MEMKB_DEFAULT in libxl__domain_config_setdefault()
1232 d_config->b_info.iommu_memkb = in libxl__domain_config_setdefault()
1233 (d_config->c_info.passthrough == LIBXL_PASSTHROUGH_SYNC_PT) in libxl__domain_config_setdefault()
1234 ? libxl__get_required_iommu_memory(d_config->b_info.max_memkb) in libxl__domain_config_setdefault()
1237 ret = libxl__domain_build_info_setdefault(gc, &d_config->b_info); in libxl__domain_config_setdefault()
1243 if (d_config->c_info.type != LIBXL_DOMAIN_TYPE_PV && in libxl__domain_config_setdefault()
1244 (libxl_defbool_val(d_config->b_info.nested_hvm) && in libxl__domain_config_setdefault()
1245 ((d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM && in libxl__domain_config_setdefault()
1246 libxl_defbool_val(d_config->b_info.u.hvm.altp2m)) || in libxl__domain_config_setdefault()
1247 (d_config->b_info.altp2m != LIBXL_ALTP2M_MODE_DISABLED)))) { in libxl__domain_config_setdefault()
1253 if (((d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM && in libxl__domain_config_setdefault()
1254 libxl_defbool_val(d_config->b_info.u.hvm.altp2m)) || in libxl__domain_config_setdefault()
1255 (d_config->c_info.type != LIBXL_DOMAIN_TYPE_PV && in libxl__domain_config_setdefault()
1256 d_config->b_info.altp2m != LIBXL_ALTP2M_MODE_DISABLED)) && in libxl__domain_config_setdefault()
1263 if (libxl_defbool_val(d_config->b_info.vpmu) && !physinfo.cap_vpmu) { in libxl__domain_config_setdefault()
1269 for (i = 0; i < d_config->num_virtios; i++) { in libxl__domain_config_setdefault()
1271 &d_config->virtios[i], false); in libxl__domain_config_setdefault()
1291 libxl_domain_config *const d_config = dcs->guest_config; in initiate_domain_create() local
1298 ret = libxl__domain_config_setdefault(gc,d_config,domid); in initiate_domain_create()
1301 ret = libxl__domain_make(gc, d_config, dbs, &domid, dcs->soft_reset); in initiate_domain_create()
1319 store_libxl_entry(gc, domid, &d_config->b_info); in initiate_domain_create()
1321 for (i = 0; i < d_config->num_disks; i++) { in initiate_domain_create()
1322 ret = libxl__disk_devtype.set_default(gc, domid, &d_config->disks[i], in initiate_domain_create()
1332 d_config->num_disks > 0 ? &d_config->disks[0] : NULL; in initiate_domain_create()
1341 ret = libxl__device_nic_set_devids(gc, d_config, domid); in initiate_domain_create()
1352 dcs->bl.info = &d_config->b_info; in initiate_domain_create()
1393 libxl_domain_config *const d_config = dcs->guest_config; in domcreate_bootloader_done() local
1398 libxl_domain_build_info *const info = &d_config->b_info; in domcreate_bootloader_done()
1422 rc = libxl__domain_build(gc, d_config, domid, state); in domcreate_bootloader_done()
1449 rc = libxl__build_pre(gc, domid, d_config, state); in domcreate_bootloader_done()
1509 libxl_domain_config *d_config = dcs->guest_config; in libxl__srm_callout_callback_static_data_done() local
1510 libxl_domain_build_info *info = &d_config->b_info; in libxl__srm_callout_callback_static_data_done()
1554 libxl_domain_config *const d_config = dcs->guest_config; in domcreate_stream_done() local
1555 libxl_domain_build_info *const info = &d_config->b_info; in domcreate_stream_done()
1644 libxl_domain_config *const d_config = dcs->guest_config; in domcreate_rebuild_done() local
1652 store_libxl_entry(gc, domid, &d_config->b_info); in domcreate_rebuild_done()
1656 libxl__add_disks(egc, ao, domid, d_config, &dcs->multidev); in domcreate_rebuild_done()
1675 libxl_domain_config *const d_config = dcs->guest_config; in domcreate_launch_dm() local
1683 for (i = 0; i < d_config->b_info.num_ioports; i++) { in domcreate_launch_dm()
1684 libxl_ioport_range *io = &d_config->b_info.ioports[i]; in domcreate_launch_dm()
1700 for (i = 0; i < d_config->b_info.num_irqs; i++) { in domcreate_launch_dm()
1701 int irq = d_config->b_info.irqs[i]; in domcreate_launch_dm()
1714 for (i = 0; i < d_config->b_info.num_iomem; i++) { in domcreate_launch_dm()
1715 libxl_iomem_range *io = &d_config->b_info.iomem[i]; in domcreate_launch_dm()
1744 for (i = 0; i < d_config->num_channels; i++) { in domcreate_launch_dm()
1748 &d_config->channels[i]); in domcreate_launch_dm()
1757 for (i = 0; i < d_config->num_pvcallsifs; i++) in domcreate_launch_dm()
1759 &d_config->pvcallsifs[i]); in domcreate_launch_dm()
1761 for (i = 0; i < d_config->num_virtios; i++) in domcreate_launch_dm()
1763 &d_config->virtios[i]); in domcreate_launch_dm()
1765 if (d_config->num_vkbs) { in domcreate_launch_dm()
1766 for (i = 0; i < d_config->num_vkbs; i++) { in domcreate_launch_dm()
1768 &d_config->vkbs[i]); in domcreate_launch_dm()
1771 } else if (d_config->c_info.type == LIBXL_DOMAIN_TYPE_HVM && in domcreate_launch_dm()
1772 libxl_defbool_val(d_config->b_info.u.hvm.vkb_device)) { in domcreate_launch_dm()
1780 switch (d_config->c_info.type) { in domcreate_launch_dm()
1792 if (libxl_defbool_val(d_config->b_info.device_model_stubdomain)) in domcreate_launch_dm()
1801 ret = libxl__grant_vga_iomem_permission(gc, domid, d_config); in domcreate_launch_dm()
1813 for (i = 0; i < d_config->num_vfbs; i++) { in domcreate_launch_dm()
1815 &d_config->vfbs[i]); in domcreate_launch_dm()
1818 if (d_config->b_info.arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) { in domcreate_launch_dm()
1830 ret = libxl__need_xenpv_qemu(gc, d_config); in domcreate_launch_dm()
1855 libxl_domain_config *d_config, in libxl__add_dtdevs() argument
1862 for (i = 0; i < d_config->num_dtdevs; i++) { in libxl__add_dtdevs()
1863 const libxl_device_dtdev *dtdev = &d_config->dtdevs[i]; in libxl__add_dtdevs()
1929 libxl_domain_config *const d_config = dcs->guest_config; in domcreate_attach_devices() local
1942 if (*libxl__device_type_get_num(dt, d_config) > 0 && !dt->skip_attach) { in domcreate_attach_devices()
1946 dt->add(egc, ao, domid, d_config, &dcs->multidev); in domcreate_attach_devices()
2010 libxl_domain_config *const d_config = dcs->guest_config; in domcreate_complete() local
2017 if (!rc && d_config->b_info.exec_ssidref) in domcreate_complete()
2018 rc = xc_flask_relabel_domain(CTX->xch, dcs->guest_domid, d_config->b_info.exec_ssidref); in domcreate_complete()
2032 libxl__update_domain_configuration(gc, d_config_saved, d_config); in domcreate_complete()
2088 static int do_domain_create(libxl_ctx *ctx, libxl_domain_config *d_config, in do_domain_create() argument
2100 cdcs->dcs.guest_config = d_config; in do_domain_create()
2102 libxl_domain_config_copy(ctx, &cdcs->dcs.guest_config_saved, d_config); in do_domain_create()
2184 libxl_domain_config *d_config, in do_domain_soft_reset() argument
2208 srs->cdcs.dcs.guest_config = d_config; in do_domain_soft_reset()
2211 d_config); in do_domain_soft_reset()
2270 rc = libxl__domain_suspend_init(egc, &dss->dsps, d_config->b_info.type); in do_domain_soft_reset()
2332 static void set_disk_colo_restore(libxl_domain_config *d_config) in set_disk_colo_restore() argument
2336 for (i = 0; i < d_config->num_disks; i++) in set_disk_colo_restore()
2337 libxl_defbool_set(&d_config->disks[i].colo_restore_enable, true); in set_disk_colo_restore()
2340 static void unset_disk_colo_restore(libxl_domain_config *d_config) in unset_disk_colo_restore() argument
2344 for (i = 0; i < d_config->num_disks; i++) in unset_disk_colo_restore()
2345 libxl_defbool_set(&d_config->disks[i].colo_restore_enable, false); in unset_disk_colo_restore()
2348 int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config, in libxl_domain_create_new() argument
2353 unset_disk_colo_restore(d_config); in libxl_domain_create_new()
2354 return do_domain_create(ctx, d_config, domid, -1, -1, NULL, in libxl_domain_create_new()
2358 int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config, in libxl_domain_create_restore() argument
2366 set_disk_colo_restore(d_config); in libxl_domain_create_restore()
2368 unset_disk_colo_restore(d_config); in libxl_domain_create_restore()
2377 libxl_defbool_setdefault(&d_config->b_info.arch_x86.msr_relaxed, true); in libxl_domain_create_restore()
2378 libxl_defbool_setdefault(&d_config->b_info.u.hvm.pirq, true); in libxl_domain_create_restore()
2380 return do_domain_create(ctx, d_config, domid, restore_fd, send_back_fd, in libxl_domain_create_restore()
2385 libxl_domain_config *d_config, in libxl_domain_soft_reset() argument
2391 libxl_domain_build_info *const info = &d_config->b_info; in libxl_domain_soft_reset()
2395 return do_domain_soft_reset(ctx, d_config, domid, ao_how, in libxl_domain_soft_reset()