Lin Ming
2012-Mar-19 13:02 UTC
[PATCH v2] 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 | 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
Ian Campbell
2012-Mar-19 13:19 UTC
Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime"
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; >
Lin Ming
2012-Mar-19 15:31 UTC
Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime"
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
Ian Campbell
2012-Mar-19 15:40 UTC
Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime"
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; >
Lin Ming
2012-Mar-19 15:49 UTC
Re: [PATCH v2] libxl: support for "rtc_timeoffset" and "localtime"
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.