[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH]libxl:refactor the code of stdvga option support
On Tue, May 29, 2012 at 5:17 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote: > On Mon, 2012-05-28 at 09:52 +0100, ZhouPeng wrote: >> refactor the code of stdvga option support. >> >> Be ready to add and describe new vga interface > > Are you proposing this for 4.2, which is currently in feature freeze? > > I'd be inclined to accept this particular for 4.2 due to the API change, for the upstream-xen and upstream-xen-qemu > but I'm curious what the "new vga interface" is going to be. QXL > >> Signed-off-by: Zhou Peng <ailvpeng25@xxxxxxxxx> >> >> diff -r 592d15bd4d5e tools/libxl/libxl_types.idl >> --- a/tools/libxl/libxl_types.idl Fri May 18 16:19:21 2012 +0100 >> +++ b/tools/libxl/libxl_types.idl Mon May 28 16:10:02 2012 +0800 >> @@ -125,9 +125,20 @@ libxl_shutdown_reason = Enumeration("shu >> (4, "watchdog"), >> ]) >> >> +libxl_vga_interface_type = Enumeration("vga_interface_type", [ >> + (0, "DEFAULT"), > > "DEFAULT" here just means "whatever qemu gives you if you don't say > otherwise"? Yes, It keep the same with the current libxl behavior (trans nothing for vga in the qemu cmd). > What actually is that? Cirrus will be selected by qemu in face. > I think we'd be better off having it > as an explicit option too and using setdefault to convert DEFAULT->that. Ok. > >> + (1, "STD"), >> + ]) >> + >> # >> # Complex libxl types >> # >> + >> +libxl_vga_interface_info = Struct("vga_interface_info", [ >> + ("type", libxl_vga_interface_type), >> + ("vramkb", MemKB), > > I can't see "vramkb" being used anywhere. Did you mean to include it in > the followup "new vga interface" patch? Yes. By qxl or other vga in the future. > >> + ]) >> + >> libxl_vnc_info = Struct("vnc_info", [ >> ("enable", libxl_defbool), >> # "address:port" that should be listened on >> @@ -286,7 +297,7 @@ libxl_domain_build_info = Struct("domain >> ("nested_hvm", libxl_defbool), >> ("incr_generationid",libxl_defbool), >> ("nographic", libxl_defbool), >> - ("stdvga", libxl_defbool), >> + ("vga", >> libxl_vga_interface_info), >> ("vnc", libxl_vnc_info), >> # keyboard layout, default is >> en-us keyboard >> ("keymap", string), > > Looks like this bit is whitespace damaged. > > http://wiki.xen.org/wiki/Submitting_Xen_Patches has some hints on using > the mercurial patchbomb tool to avoid this and also a link to > http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/email-clients.txt;hb=HEAD > which gives advice on using various mailclients to manually send patches > without mangling them. >> diff -r 592d15bd4d5e tools/libxl/xl_cmdimpl.c >> --- a/tools/libxl/xl_cmdimpl.c Fri May 18 16:19:21 2012 +0100 >> +++ b/tools/libxl/xl_cmdimpl.c Mon May 28 16:10:02 2012 +0800 >> @@ -1256,7 +1256,12 @@ skip_vfb: >> #undef parse_extra_args >> >> if (c_info->type == LIBXL_DOMAIN_TYPE_HVM) { >> - xlu_cfg_get_defbool(config, "stdvga", &b_info->u.hvm.stdvga, 0); >> + libxl_defbool vga; >> + b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_DEFAULT; >> + if (!xlu_cfg_get_defbool(config, "stdvga", &vga, 0)) >> + if (libxl_defbool_val(vga)) > > I don't think you need to launder this through a defbool, since it is no > longer one at the libxl interface. Use xlu_cfg_get_long into &l and > then > if (l) Ok. > b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD; > >> + b_info->u.hvm.vga.type = LIBXL_VGA_INTERFACE_TYPE_STD; >> + >> xlu_cfg_get_defbool(config, "vnc", &b_info->u.hvm.vnc.enable, 0); >> xlu_cfg_replace_string (config, "vnclisten", >> &b_info->u.hvm.vnc.listen, 0); >> diff -r 592d15bd4d5e tools/libxl/xl_sxp.c >> --- a/tools/libxl/xl_sxp.c Fri May 18 16:19:21 2012 +0100 >> +++ b/tools/libxl/xl_sxp.c Mon May 28 16:10:02 2012 +0800 >> @@ -110,8 +110,10 @@ void printf_info_sexp(int domid, libxl_d >> libxl_defbool_to_string(b_info->u.hvm.nested_hvm)); >> printf("\t\t\t(no_incr_generationid %s)\n", >> libxl_defbool_to_string(b_info->u.hvm.incr_generationid)); >> - printf("\t\t\t(stdvga %s)\n", >> - libxl_defbool_to_string(b_info->u.hvm.stdvga)); >> + libxl_defbool stdvga; >> + libxl_defbool_set(&stdvga, >> + b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD); >> + printf("\t\t\t(stdvga %s)\n", libxl_defbool_to_string(stdvga)); > > Likewise I think this is just > printf("\t\t\t(stdvga %s)\n", > b_info->u.hvm.vga.type == LIBXL_VGA_INTERFACE_TYPE_STD) ? > True" : "False"); > >> printf("\t\t\t(vnc %s)\n", >> libxl_defbool_to_string(b_info->u.hvm.vnc.enable)); >> printf("\t\t\t(vnclisten %s)\n", b_info->u.hvm.vnc.listen); >> Ok. > > -- Zhou Peng _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |