* [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime" @ 2012-03-19 13:02 Lin Ming 2012-03-19 13:19 ` Ian Campbell 0 siblings, 1 reply; 5+ messages in thread From: Lin Ming @ 2012-03-19 13:02 UTC (permalink / raw) To: xen-devel; +Cc: Teck Choon Giam, Ian Campbell Implement "rtc_timeoffset" and "localtime" options compatible as xm. rtc_timeoffset is the offset between host time and guest time. localtime means to specify whether the emulted RTC appears as UTC or is offset by the host. Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn> --- docs/man/xl.cfg.pod.5 | 8 ++++++++ tools/libxl/libxl_create.c | 1 + tools/libxl/libxl_dom.c | 3 +++ tools/libxl/libxl_types.idl | 2 ++ tools/libxl/xl_cmdimpl.c | 14 ++++++++++++++ 5 files changed, 28 insertions(+), 0 deletions(-) Changed since v1: * Add tm_gmtoff, instead subtract, to rtc_timeoffset (Giam Teck Choon) * Add docs for the newly supported options * Include "bool localtime" in libxl API * Remove the unneeded "rtc_timeoffset" output in printf_info_sexp() diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 index 55f7e75..f93f1d6 100644 --- a/docs/man/xl.cfg.pod.5 +++ b/docs/man/xl.cfg.pod.5 @@ -109,6 +109,14 @@ created online and the remainder will be offline. Start the guest with MBYTES megabytes of RAM. +=item B<localtime=BOOLEAN> + +Set the real time clock to local time or to UTC. UTC by default. + +=item B<rtc_timeoffset=SECONDS> + +Set the real time clock offset in seconds. 0 by default. + =item B<on_poweroff="ACTION"> Specifies what should be done with the domain if it shuts itself down. diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index 8417661..b0e76cb 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -124,6 +124,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT) b_info->target_memkb = b_info->max_memkb; + libxl_defbool_setdefault(&b_info->localtime, false); libxl_defbool_setdefault(&b_info->disable_migrate, false); switch (b_info->type) { diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index 9b33267..0bdd654 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -91,6 +91,9 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, if (libxl_defbool_val(info->disable_migrate)) xc_domain_disable_migrate(ctx->xch, domid); + if (info->rtc_timeoffset) + xc_domain_set_time_offset(ctx->xch, domid, info->rtc_timeoffset); + if (info->type == LIBXL_DOMAIN_TYPE_HVM) { unsigned long shadow; shadow = (info->shadow_memkb + 1023) / 1024; diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 413a1a6..09089b2 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -238,6 +238,8 @@ libxl_domain_build_info = Struct("domain_build_info",[ ("target_memkb", MemKB), ("video_memkb", MemKB), ("shadow_memkb", MemKB), + ("rtc_timeoffset", uint32), + ("localtime", libxl_defbool), ("disable_migrate", libxl_defbool), ("cpuid", libxl_cpuid_policy_list), diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 1d59b89..bcbea48 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -697,6 +697,20 @@ static void parse_config_data(const char *configfile_filename_report, } } + if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0)) + b_info->rtc_timeoffset = l; + + xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0); + if (libxl_defbool_val(b_info->localtime)) { + time_t t; + struct tm *tm; + + t = time(NULL); + tm = localtime(&t); + + b_info->rtc_timeoffset += tm->tm_gmtoff; + } + if (!xlu_cfg_get_long (config, "videoram", &l, 0)) b_info->video_memkb = l * 1024; -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime" 2012-03-19 13:02 [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime" Lin Ming @ 2012-03-19 13:19 ` Ian Campbell 2012-03-19 15:31 ` Lin Ming 0 siblings, 1 reply; 5+ messages in thread From: Ian Campbell @ 2012-03-19 13:19 UTC (permalink / raw) To: Lin Ming; +Cc: Teck Choon Giam, xen-devel@lists.xen.org On Mon, 2012-03-19 at 13:02 +0000, Lin Ming wrote: > Implement "rtc_timeoffset" and "localtime" options compatible as xm. > > rtc_timeoffset is the offset between host time and guest time. > localtime means to specify whether the emulted RTC appears as UTC or is > offset by the host. > > Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn> > --- > docs/man/xl.cfg.pod.5 | 8 ++++++++ > tools/libxl/libxl_create.c | 1 + > tools/libxl/libxl_dom.c | 3 +++ > tools/libxl/libxl_types.idl | 2 ++ > tools/libxl/xl_cmdimpl.c | 14 ++++++++++++++ > 5 files changed, 28 insertions(+), 0 deletions(-) > > Changed since v1: > * Add tm_gmtoff, instead subtract, to rtc_timeoffset (Giam Teck Choon) > * Add docs for the newly supported options > * Include "bool localtime" in libxl API > * Remove the unneeded "rtc_timeoffset" output in printf_info_sexp() > > diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 > index 55f7e75..f93f1d6 100644 > --- a/docs/man/xl.cfg.pod.5 > +++ b/docs/man/xl.cfg.pod.5 > @@ -109,6 +109,14 @@ created online and the remainder will be offline. > > Start the guest with MBYTES megabytes of RAM. > > +=item B<localtime=BOOLEAN> > + > +Set the real time clock to local time or to UTC. UTC by default. Might be worth making it clearer which corresponds to true and which to false? Also both of these options belong in the "Fully-virtualised (HVM) Guest Specific Options" section of the document. > + > +=item B<rtc_timeoffset=SECONDS> > + > +Set the real time clock offset in seconds. 0 by default. > + > =item B<on_poweroff="ACTION"> > > Specifies what should be done with the domain if it shuts itself down. > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > index 8417661..b0e76cb 100644 > --- a/tools/libxl/libxl_create.c > +++ b/tools/libxl/libxl_create.c > @@ -124,6 +124,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT) > b_info->target_memkb = b_info->max_memkb; > > + libxl_defbool_setdefault(&b_info->localtime, false); > libxl_defbool_setdefault(&b_info->disable_migrate, false); > > switch (b_info->type) { > diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c > index 9b33267..0bdd654 100644 > --- a/tools/libxl/libxl_dom.c > +++ b/tools/libxl/libxl_dom.c > @@ -91,6 +91,9 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, > if (libxl_defbool_val(info->disable_migrate)) > xc_domain_disable_migrate(ctx->xch, domid); > > + if (info->rtc_timeoffset) > + xc_domain_set_time_offset(ctx->xch, domid, info->rtc_timeoffset); > + > if (info->type == LIBXL_DOMAIN_TYPE_HVM) { > unsigned long shadow; > shadow = (info->shadow_memkb + 1023) / 1024; > diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl > index 413a1a6..09089b2 100644 > --- a/tools/libxl/libxl_types.idl > +++ b/tools/libxl/libxl_types.idl > @@ -238,6 +238,8 @@ libxl_domain_build_info = Struct("domain_build_info",[ > ("target_memkb", MemKB), > ("video_memkb", MemKB), > ("shadow_memkb", MemKB), > + ("rtc_timeoffset", uint32), > + ("localtime", libxl_defbool), > ("disable_migrate", libxl_defbool), > ("cpuid", libxl_cpuid_policy_list), > > diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c > index 1d59b89..bcbea48 100644 > --- a/tools/libxl/xl_cmdimpl.c > +++ b/tools/libxl/xl_cmdimpl.c > @@ -697,6 +697,20 @@ static void parse_config_data(const char *configfile_filename_report, > } > } > > + if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0)) > + b_info->rtc_timeoffset = l; > + > + xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0); > + if (libxl_defbool_val(b_info->localtime)) { > + time_t t; > + struct tm *tm; > + > + t = time(NULL); > + tm = localtime(&t); > + > + b_info->rtc_timeoffset += tm->tm_gmtoff; > + } This "if(...) { ... }" and the logic therein should be done inside libxl, I think in libxl__domain_build_info_setdefault() just after you set the default value BT doesn't the above crash if localtime is not given at all in the config due to the lack of a specific value (which libxl_defbool_val requires has been set previously) Ian. > + > if (!xlu_cfg_get_long (config, "videoram", &l, 0)) > b_info->video_memkb = l * 1024; > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime" 2012-03-19 13:19 ` Ian Campbell @ 2012-03-19 15:31 ` Lin Ming 2012-03-19 15:40 ` Ian Campbell 0 siblings, 1 reply; 5+ messages in thread From: Lin Ming @ 2012-03-19 15:31 UTC (permalink / raw) To: Ian Campbell; +Cc: Teck Choon Giam, xen-devel@lists.xen.org On Mon, 2012-03-19 at 13:19 +0000, Ian Campbell wrote: > On Mon, 2012-03-19 at 13:02 +0000, Lin Ming wrote: > > Implement "rtc_timeoffset" and "localtime" options compatible as xm. > > > > rtc_timeoffset is the offset between host time and guest time. > > localtime means to specify whether the emulted RTC appears as UTC or is > > offset by the host. > > > > Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn> > > --- > > docs/man/xl.cfg.pod.5 | 8 ++++++++ > > tools/libxl/libxl_create.c | 1 + > > tools/libxl/libxl_dom.c | 3 +++ > > tools/libxl/libxl_types.idl | 2 ++ > > tools/libxl/xl_cmdimpl.c | 14 ++++++++++++++ > > 5 files changed, 28 insertions(+), 0 deletions(-) > > > > Changed since v1: > > * Add tm_gmtoff, instead subtract, to rtc_timeoffset (Giam Teck Choon) > > * Add docs for the newly supported options > > * Include "bool localtime" in libxl API > > * Remove the unneeded "rtc_timeoffset" output in printf_info_sexp() > > > > diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 > > index 55f7e75..f93f1d6 100644 > > --- a/docs/man/xl.cfg.pod.5 > > +++ b/docs/man/xl.cfg.pod.5 > > @@ -109,6 +109,14 @@ created online and the remainder will be offline. > > > > Start the guest with MBYTES megabytes of RAM. > > > > +=item B<localtime=BOOLEAN> > > + > > +Set the real time clock to local time or to UTC. UTC by default. > > Might be worth making it clearer which corresponds to true and which to > false? How about: Set the real time clock to local time or to UTC. 0 by default, i.e. set to UTC. > > Also both of these options belong in the "Fully-virtualised (HVM) Guest > Specific Options" section of the document. Move both to the end of that section. See below patch. > > > + > > +=item B<rtc_timeoffset=SECONDS> > > + > > +Set the real time clock offset in seconds. 0 by default. > > + > > =item B<on_poweroff="ACTION"> > > > > Specifies what should be done with the domain if it shuts itself down. > > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > > index 8417661..b0e76cb 100644 > > --- a/tools/libxl/libxl_create.c > > +++ b/tools/libxl/libxl_create.c > > @@ -124,6 +124,7 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > > if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT) > > b_info->target_memkb = b_info->max_memkb; > > > > + libxl_defbool_setdefault(&b_info->localtime, false); > > libxl_defbool_setdefault(&b_info->disable_migrate, false); > > > > switch (b_info->type) { > > diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c > > index 9b33267..0bdd654 100644 > > --- a/tools/libxl/libxl_dom.c > > +++ b/tools/libxl/libxl_dom.c > > @@ -91,6 +91,9 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, > > if (libxl_defbool_val(info->disable_migrate)) > > xc_domain_disable_migrate(ctx->xch, domid); > > > > + if (info->rtc_timeoffset) > > + xc_domain_set_time_offset(ctx->xch, domid, info->rtc_timeoffset); > > + > > if (info->type == LIBXL_DOMAIN_TYPE_HVM) { > > unsigned long shadow; > > shadow = (info->shadow_memkb + 1023) / 1024; > > diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl > > index 413a1a6..09089b2 100644 > > --- a/tools/libxl/libxl_types.idl > > +++ b/tools/libxl/libxl_types.idl > > @@ -238,6 +238,8 @@ libxl_domain_build_info = Struct("domain_build_info",[ > > ("target_memkb", MemKB), > > ("video_memkb", MemKB), > > ("shadow_memkb", MemKB), > > + ("rtc_timeoffset", uint32), > > + ("localtime", libxl_defbool), > > ("disable_migrate", libxl_defbool), > > ("cpuid", libxl_cpuid_policy_list), > > > > diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c > > index 1d59b89..bcbea48 100644 > > --- a/tools/libxl/xl_cmdimpl.c > > +++ b/tools/libxl/xl_cmdimpl.c > > @@ -697,6 +697,20 @@ static void parse_config_data(const char *configfile_filename_report, > > } > > } > > > > + if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0)) > > + b_info->rtc_timeoffset = l; > > + > > + xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0); > > + if (libxl_defbool_val(b_info->localtime)) { > > + time_t t; > > + struct tm *tm; > > + > > + t = time(NULL); > > + tm = localtime(&t); > > + > > + b_info->rtc_timeoffset += tm->tm_gmtoff; > > + } > > This "if(...) { ... }" and the logic therein should be done inside > libxl, I think in libxl__domain_build_info_setdefault() just after you > set the default value > > BT doesn't the above crash if localtime is not given at all in the > config due to the lack of a specific value (which libxl_defbool_val > requires has been set previously) (I have problem to run xen-unstable, will re-send this patch after I get xen-unstable running and more test). How about below compile-test-only patch? >From 0614ad85fc5956d95d988b88689cc4967b4d8af8 Mon Sep 17 00:00:00 2001 From: Lin Ming <mlin@ss.pku.edu.cn> Date: Sun, 18 Mar 2012 13:14:32 +0800 Subject: [PATCH] libxl: support for "rtc_timeoffset" and "localtime" Implement "rtc_timeoffset" and "localtime" options compatible as xm. rtc_timeoffset is the offset between host time and guest time. localtime means to specify whether the emulted RTC appears as UTC or is offset by the host. Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn> --- docs/man/xl.cfg.pod.5 | 8 ++++++++ tools/libxl/libxl_create.c | 11 +++++++++++ tools/libxl/libxl_dom.c | 3 +++ tools/libxl/libxl_types.idl | 2 ++ tools/libxl/xl_cmdimpl.c | 5 +++++ 5 files changed, 29 insertions(+), 0 deletions(-) diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 index 55f7e75..8d5a4ee 100644 --- a/docs/man/xl.cfg.pod.5 +++ b/docs/man/xl.cfg.pod.5 @@ -767,6 +767,14 @@ Set mode for Virtual Timers XXX ??? should be an enum of particular values. See C<HVM_PARAM_TIMER_MODE> in F<xen/include/public/hvm/params.h>. +=item B<localtime=BOOLEAN> + +Set the real time clock to local time or to UTC. 0 by default, i.e. set to UTC. + +=item B<rtc_timeoffset=SECONDS> + +Set the real time clock offset in seconds. 0 by default. + =back =head2 Device-Model Options diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index 8417661..d39ecbe 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -124,6 +124,17 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT) b_info->target_memkb = b_info->max_memkb; + libxl_defbool_setdefault(&b_info->localtime, false); + if (libxl_defbool_val(b_info->localtime)) { + time_t t; + struct tm *tm; + + t = time(NULL); + tm = localtime(&t); + + b_info->rtc_timeoffset += tm->tm_gmtoff; + } + libxl_defbool_setdefault(&b_info->disable_migrate, false); switch (b_info->type) { diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index 9b33267..0bdd654 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -91,6 +91,9 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, if (libxl_defbool_val(info->disable_migrate)) xc_domain_disable_migrate(ctx->xch, domid); + if (info->rtc_timeoffset) + xc_domain_set_time_offset(ctx->xch, domid, info->rtc_timeoffset); + if (info->type == LIBXL_DOMAIN_TYPE_HVM) { unsigned long shadow; shadow = (info->shadow_memkb + 1023) / 1024; diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 413a1a6..09089b2 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -238,6 +238,8 @@ libxl_domain_build_info = Struct("domain_build_info",[ ("target_memkb", MemKB), ("video_memkb", MemKB), ("shadow_memkb", MemKB), + ("rtc_timeoffset", uint32), + ("localtime", libxl_defbool), ("disable_migrate", libxl_defbool), ("cpuid", libxl_cpuid_policy_list), diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 1d59b89..0736357 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -697,6 +697,11 @@ static void parse_config_data(const char *configfile_filename_report, } } + if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0)) + b_info->rtc_timeoffset = l; + + xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0); + if (!xlu_cfg_get_long (config, "videoram", &l, 0)) b_info->video_memkb = l * 1024; -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime" 2012-03-19 15:31 ` Lin Ming @ 2012-03-19 15:40 ` Ian Campbell 2012-03-19 15:49 ` Lin Ming 0 siblings, 1 reply; 5+ messages in thread From: Ian Campbell @ 2012-03-19 15:40 UTC (permalink / raw) To: Lin Ming; +Cc: Teck Choon Giam, xen-devel@lists.xen.org On Mon, 2012-03-19 at 15:31 +0000, Lin Ming wrote: > From 0614ad85fc5956d95d988b88689cc4967b4d8af8 Mon Sep 17 00:00:00 2001 > From: Lin Ming <mlin@ss.pku.edu.cn> > Date: Sun, 18 Mar 2012 13:14:32 +0800 > Subject: [PATCH] libxl: support for "rtc_timeoffset" and "localtime" > > Implement "rtc_timeoffset" and "localtime" options compatible as xm. > > rtc_timeoffset is the offset between host time and guest time. > localtime means to specify whether the emulted RTC appears as UTC or is > offset by the host. > > Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn> Looks good to me, thanks! Acked-by: Ian Campbell <ian.campbell@citrix.com> Although when you repost please can you fix the following: > [...] > @@ -767,6 +767,14 @@ Set mode for Virtual Timers XXX ??? should be an enum of particular > values. See C<HVM_PARAM_TIMER_MODE> in > F<xen/include/public/hvm/params.h>. The is the end of a sub section entitled "Unclassified HVM Specific Options". I think these new options belong in the "Guest Virtual Time Controls" subsection or perhaps "Miscellaneous Emulated Hardware". Ian. > > +=item B<localtime=BOOLEAN> > + > +Set the real time clock to local time or to UTC. 0 by default, i.e. set to UTC. > + > +=item B<rtc_timeoffset=SECONDS> > + > +Set the real time clock offset in seconds. 0 by default. > + > =back > > =head2 Device-Model Options > diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c > index 8417661..d39ecbe 100644 > --- a/tools/libxl/libxl_create.c > +++ b/tools/libxl/libxl_create.c > @@ -124,6 +124,17 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, > if (b_info->target_memkb == LIBXL_MEMKB_DEFAULT) > b_info->target_memkb = b_info->max_memkb; > > + libxl_defbool_setdefault(&b_info->localtime, false); > + if (libxl_defbool_val(b_info->localtime)) { > + time_t t; > + struct tm *tm; > + > + t = time(NULL); > + tm = localtime(&t); > + > + b_info->rtc_timeoffset += tm->tm_gmtoff; > + } > + > libxl_defbool_setdefault(&b_info->disable_migrate, false); > > switch (b_info->type) { > diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c > index 9b33267..0bdd654 100644 > --- a/tools/libxl/libxl_dom.c > +++ b/tools/libxl/libxl_dom.c > @@ -91,6 +91,9 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid, > if (libxl_defbool_val(info->disable_migrate)) > xc_domain_disable_migrate(ctx->xch, domid); > > + if (info->rtc_timeoffset) > + xc_domain_set_time_offset(ctx->xch, domid, info->rtc_timeoffset); > + > if (info->type == LIBXL_DOMAIN_TYPE_HVM) { > unsigned long shadow; > shadow = (info->shadow_memkb + 1023) / 1024; > diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl > index 413a1a6..09089b2 100644 > --- a/tools/libxl/libxl_types.idl > +++ b/tools/libxl/libxl_types.idl > @@ -238,6 +238,8 @@ libxl_domain_build_info = Struct("domain_build_info",[ > ("target_memkb", MemKB), > ("video_memkb", MemKB), > ("shadow_memkb", MemKB), > + ("rtc_timeoffset", uint32), > + ("localtime", libxl_defbool), > ("disable_migrate", libxl_defbool), > ("cpuid", libxl_cpuid_policy_list), > > diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c > index 1d59b89..0736357 100644 > --- a/tools/libxl/xl_cmdimpl.c > +++ b/tools/libxl/xl_cmdimpl.c > @@ -697,6 +697,11 @@ static void parse_config_data(const char *configfile_filename_report, > } > } > > + if (!xlu_cfg_get_long(config, "rtc_timeoffset", &l, 0)) > + b_info->rtc_timeoffset = l; > + > + xlu_cfg_get_defbool(config, "localtime", &b_info->localtime, 0); > + > if (!xlu_cfg_get_long (config, "videoram", &l, 0)) > b_info->video_memkb = l * 1024; > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime" 2012-03-19 15:40 ` Ian Campbell @ 2012-03-19 15:49 ` Lin Ming 0 siblings, 0 replies; 5+ messages in thread From: Lin Ming @ 2012-03-19 15:49 UTC (permalink / raw) To: Ian Campbell; +Cc: Teck Choon Giam, xen-devel@lists.xen.org On Mon, Mar 19, 2012 at 11:40 PM, Ian Campbell <Ian.Campbell@citrix.com> wrote: > On Mon, 2012-03-19 at 15:31 +0000, Lin Ming wrote: >> From 0614ad85fc5956d95d988b88689cc4967b4d8af8 Mon Sep 17 00:00:00 2001 >> From: Lin Ming <mlin@ss.pku.edu.cn> >> Date: Sun, 18 Mar 2012 13:14:32 +0800 >> Subject: [PATCH] libxl: support for "rtc_timeoffset" and "localtime" >> >> Implement "rtc_timeoffset" and "localtime" options compatible as xm. >> >> rtc_timeoffset is the offset between host time and guest time. >> localtime means to specify whether the emulted RTC appears as UTC or is >> offset by the host. >> >> Signed-off-by: Lin Ming <mlin@ss.pku.edu.cn> > > Looks good to me, thanks! > > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > Although when you repost please can you fix the following: >> [...] >> @@ -767,6 +767,14 @@ Set mode for Virtual Timers XXX ??? should be an enum of particular >> values. See C<HVM_PARAM_TIMER_MODE> in >> F<xen/include/public/hvm/params.h>. > > The is the end of a sub section entitled "Unclassified HVM Specific > Options". I think these new options belong in the "Guest Virtual Time > Controls" subsection or perhaps "Miscellaneous Emulated Hardware". OK, "Guest Virtual Time Controls" looks better to me. Will move there. > > Ian. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-03-19 15:49 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-19 13:02 [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime" Lin Ming 2012-03-19 13:19 ` Ian Campbell 2012-03-19 15:31 ` Lin Ming 2012-03-19 15:40 ` Ian Campbell 2012-03-19 15:49 ` Lin Ming
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).