[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH]: xl: move domain struct init functions to libxl
This allows libxl users to get some sane default values for this complex set of structures. This is purely code movement and there are no functional changes. Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx> diff -r feb198f3c97f tools/libxl/libxl.h --- a/tools/libxl/libxl.h Mon Jan 10 16:03:39 2011 +0000 +++ b/tools/libxl/libxl.h Tue Jan 11 10:53:36 2011 +0000 @@ -280,6 +280,9 @@ int libxl_ctx_set_log(libxl_ctx *ctx, xe int libxl_ctx_postfork(libxl_ctx *ctx); /* domain related functions */ +void libxl_init_create_info(libxl_domain_create_info *c_info); +void libxl_init_build_info(libxl_domain_build_info *b_info, libxl_domain_create_info *c_info); +void libxl_init_dm_info(libxl_device_model_info *dm_info, libxl_domain_create_info *c_info, libxl_domain_build_info *b_info); typedef int (*libxl_console_ready)(libxl_ctx *ctx, uint32_t domid, void *priv); int libxl_domain_create_new(libxl_ctx *ctx, libxl_domain_config *d_config, libxl_console_ready cb, void *priv, uint32_t *domid); int libxl_domain_create_restore(libxl_ctx *ctx, libxl_domain_config *d_config, libxl_console_ready cb, void *priv, uint32_t *domid, int restore_fd); diff -r feb198f3c97f tools/libxl/libxl_create.c --- a/tools/libxl/libxl_create.c Mon Jan 10 16:03:39 2011 +0000 +++ b/tools/libxl/libxl_create.c Tue Jan 11 10:53:36 2011 +0000 @@ -60,6 +60,75 @@ void libxl_domain_config_destroy(libxl_d libxl_device_model_info_destroy(&d_config->dm_info); } +void libxl_init_create_info(libxl_domain_create_info *c_info) +{ + memset(c_info, '\0', sizeof(*c_info)); + c_info->xsdata = NULL; + c_info->platformdata = NULL; + c_info->hap = 1; + c_info->hvm = 1; + c_info->oos = 1; + c_info->ssidref = 0; + c_info->poolid = 0; +} + +void libxl_init_build_info(libxl_domain_build_info *b_info, libxl_domain_create_info *c_info) +{ + memset(b_info, '\0', sizeof(*b_info)); + b_info->max_vcpus = 1; + b_info->max_memkb = 32 * 1024; + b_info->target_memkb = b_info->max_memkb; + b_info->disable_migrate = 0; + b_info->cpuid = NULL; + b_info->shadow_memkb = 0; + if (c_info->hvm) { + b_info->video_memkb = 8 * 1024; + b_info->kernel.path = strdup("hvmloader"); + b_info->hvm = 1; + b_info->u.hvm.pae = 1; + b_info->u.hvm.apic = 1; + b_info->u.hvm.acpi = 1; + b_info->u.hvm.nx = 1; + b_info->u.hvm.viridian = 0; + b_info->u.hvm.hpet = 1; + b_info->u.hvm.vpt_align = 1; + b_info->u.hvm.timer_mode = 1; + } else { + b_info->u.pv.slack_memkb = 8 * 1024; + } +} + +void libxl_init_dm_info(libxl_device_model_info *dm_info, + libxl_domain_create_info *c_info, libxl_domain_build_info *b_info) +{ + memset(dm_info, '\0', sizeof(*dm_info)); + + libxl_uuid_generate(&dm_info->uuid); + + dm_info->dom_name = strdup(c_info->name); + dm_info->device_model = strdup("qemu-dm"); + dm_info->target_ram = libxl__sizekb_to_mb(b_info->target_memkb); + dm_info->videoram = libxl__sizekb_to_mb(b_info->video_memkb); + dm_info->apic = b_info->u.hvm.apic; + dm_info->vcpus = b_info->max_vcpus; + dm_info->vcpu_avail = b_info->cur_vcpus; + + dm_info->stdvga = 0; + dm_info->vnc = 1; + dm_info->vnclisten = strdup("127.0.0.1"); + dm_info->vncdisplay = 0; + dm_info->vncunused = 1; + dm_info->keymap = NULL; + dm_info->sdl = 0; + dm_info->opengl = 0; + dm_info->nographic = 0; + dm_info->serial = NULL; + dm_info->boot = strdup("cda"); + dm_info->usb = 0; + dm_info->usbdevice = NULL; + dm_info->xen_platform_pci = 1; +} + static int init_console_info(libxl_device_console *console, int dev_num, libxl_domain_build_state *state) { memset(console, 0x00, sizeof(libxl_device_console)); diff -r feb198f3c97f tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Mon Jan 10 16:03:39 2011 +0000 +++ b/tools/libxl/xl_cmdimpl.c Tue Jan 11 10:53:36 2011 +0000 @@ -249,75 +249,6 @@ static void dolog(const char *file, int libxl_write_exactly(NULL, logfile, s, rc, NULL, NULL); } -static void init_create_info(libxl_domain_create_info *c_info) -{ - memset(c_info, '\0', sizeof(*c_info)); - c_info->xsdata = NULL; - c_info->platformdata = NULL; - c_info->hap = 1; - c_info->hvm = 1; - c_info->oos = 1; - c_info->ssidref = 0; - c_info->poolid = 0; -} - -static void init_build_info(libxl_domain_build_info *b_info, libxl_domain_create_info *c_info) -{ - memset(b_info, '\0', sizeof(*b_info)); - b_info->max_vcpus = 1; - b_info->max_memkb = 32 * 1024; - b_info->target_memkb = b_info->max_memkb; - b_info->disable_migrate = 0; - b_info->cpuid = NULL; - b_info->shadow_memkb = 0; - if (c_info->hvm) { - b_info->video_memkb = 8 * 1024; - b_info->kernel.path = strdup("hvmloader"); - b_info->hvm = 1; - b_info->u.hvm.pae = 1; - b_info->u.hvm.apic = 1; - b_info->u.hvm.acpi = 1; - b_info->u.hvm.nx = 1; - b_info->u.hvm.viridian = 0; - b_info->u.hvm.hpet = 1; - b_info->u.hvm.vpt_align = 1; - b_info->u.hvm.timer_mode = 1; - } else { - b_info->u.pv.slack_memkb = 8 * 1024; - } -} - -static void init_dm_info(libxl_device_model_info *dm_info, - libxl_domain_create_info *c_info, libxl_domain_build_info *b_info) -{ - memset(dm_info, '\0', sizeof(*dm_info)); - - libxl_uuid_generate(&dm_info->uuid); - - dm_info->dom_name = strdup(c_info->name); - dm_info->device_model = strdup("qemu-dm"); - dm_info->target_ram = libxl__sizekb_to_mb(b_info->target_memkb); - dm_info->videoram = libxl__sizekb_to_mb(b_info->video_memkb); - dm_info->apic = b_info->u.hvm.apic; - dm_info->vcpus = b_info->max_vcpus; - dm_info->vcpu_avail = b_info->cur_vcpus; - - dm_info->stdvga = 0; - dm_info->vnc = 1; - dm_info->vnclisten = strdup("127.0.0.1"); - dm_info->vncdisplay = 0; - dm_info->vncunused = 1; - dm_info->keymap = NULL; - dm_info->sdl = 0; - dm_info->opengl = 0; - dm_info->nographic = 0; - dm_info->serial = NULL; - dm_info->boot = strdup("cda"); - dm_info->usb = 0; - dm_info->usbdevice = NULL; - dm_info->xen_platform_pci = 1; -} - static void init_nic_info(libxl_device_nic *nic_info, int devnum) { const uint8_t *r; @@ -726,7 +657,7 @@ static void parse_config_data(const char exit(1); } - init_create_info(c_info); + libxl_init_create_info(c_info); c_info->hvm = 0; if (!xlu_cfg_get_string (config, "builder", &buf) && @@ -761,7 +692,7 @@ static void parse_config_data(const char exit(1); } - init_build_info(b_info, c_info); + libxl_init_build_info(b_info, c_info); /* the following is the actual config parsing with overriding values in the structures */ if (!xlu_cfg_get_long (config, "vcpus", &l)) { @@ -1187,7 +1118,7 @@ skip_vfb: if (c_info->hvm == 1) { /* init dm from c and b */ - init_dm_info(dm_info, c_info, b_info); + libxl_init_dm_info(dm_info, c_info, b_info); /* then process config related to dm */ xlu_cfg_replace_string (config, "device_model", &dm_info->device_model); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |