Only 'channels' when mapped to consoles have a string name. */
}
-int libxl__domain_build(libxl__gc *gc, uint32_t domid,
- libxl__domain_create_state *dcs)
+int libxl__domain_build(libxl__gc *gc,
+ libxl_domain_config *d_config,
+ uint32_t domid,
+ libxl__domain_build_state *state)
{
- libxl_domain_config *d_config = dcs->guest_config;
libxl_domain_build_info *const info = &d_config->b_info;
- libxl__domain_build_state *state = &dcs->build_state;
char **vments = NULL, **localents = NULL;
struct timeval start_time;
int i, ret;
- ret = libxl__build_pre(gc, domid, dcs);
+ ret = libxl__build_pre(gc, domid, d_config, state);
if (ret)
goto out;
dcs->sdss.callback = domcreate_devmodel_started;
if (restore_fd < 0 && dcs->domid_soft_reset == INVALID_DOMID) {
- rc = libxl__domain_build(gc, domid, dcs);
+ rc = libxl__domain_build(gc, d_config, domid, state);
domcreate_rebuild_done(egc, dcs, rc);
return;
}
goto out;
}
- rc = libxl__build_pre(gc, domid, dcs);
+ rc = libxl__build_pre(gc, domid, d_config, state);
if (rc)
goto out;
dcs->sdss.dm.guest_domid = domid;
if (libxl_defbool_val(d_config->b_info.device_model_stubdomain))
- libxl__spawn_stub_dm(egc, dcs);
+ libxl__spawn_stub_dm(egc, &dcs->sdss);
else
libxl__spawn_local_dm(egc, &dcs->sdss.dm);
return GCSPRINTF("%s-dm", guest_name);
}
-void libxl__spawn_stub_dm(libxl__egc *egc, libxl__domain_create_state *dcs)
+void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state *sdss)
{
- libxl__stub_dm_spawn_state *sdss = &dcs->sdss;
STATE_AO_GC(sdss->dm.spawn.ao);
libxl_ctx *ctx = libxl__gc_owner(gc);
int ret;
if (ret)
goto out;
uint32_t dm_domid = sdss->pvqemu.guest_domid;
- ret = libxl__domain_build(gc, dm_domid, dcs);
+ ret = libxl__domain_build(gc, dm_config, dm_domid, stubdom_state);
if (ret)
goto out;
}
int libxl__build_pre(libxl__gc *gc, uint32_t domid,
- libxl__domain_create_state *dcs)
+ libxl_domain_config *d_config, libxl__domain_build_state *state)
{
- libxl_domain_config *d_config = dcs->guest_config;
libxl_domain_build_info *const info = &d_config->b_info;
- libxl__domain_build_state *state = &dcs->build_state;
libxl_ctx *ctx = libxl__gc_owner(gc);
char *xs_domid, *con_domid;
int rc;
_hidden void libxl__domain_build_state_dispose(libxl__domain_build_state *s);
_hidden int libxl__build_pre(libxl__gc *gc, uint32_t domid,
- libxl__domain_create_state *dcs);
+ libxl_domain_config * const d_config,
+ libxl__domain_build_state *state);
_hidden int libxl__build_post(libxl__gc *gc, uint32_t domid,
libxl_domain_build_info *info, libxl__domain_build_state *state,
char **vms_ents, char **local_ents);
libxl__domain_build_state *state,
uint32_t *domid);
-_hidden int libxl__domain_build(libxl__gc *gc, uint32_t domid,
- libxl__domain_create_state *dcs);
+_hidden int libxl__domain_build(libxl__gc *gc,
+ libxl_domain_config *d_config,
+ uint32_t domid,
+ libxl__domain_build_state *state);
/* for device model creation */
_hidden const char *libxl__domain_device_model(libxl__gc *gc,
libxl__xswait_state xswait;
} libxl__stub_dm_spawn_state;
-_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__domain_create_state *dcs);
+_hidden void libxl__spawn_stub_dm(libxl__egc *egc, libxl__stub_dm_spawn_state*);
_hidden char *libxl__stub_dm_name(libxl__gc *gc, const char * guest_name);