Message ID | 27268f8d488b4ec134a4475139bf0b50459cbf96.1539259394.git.artem.k.pisarenko@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix and improve core RTC function and documentation | expand |
On 10/11/18 7:23 AM, Artem Pisarenko wrote: > Return value of qemu_timedate_diff(), used for calculation offset in QAPI 'RTC_CHANGE' event restored to keep compatibility, although it isn't documented that difference is relative to host clock advancement. Long line. Remember to manually wrap commit messages around 70 columns or so, so that they still fit in an 80-column window under 'git log' which adds leading indentation. Also, the subject line is way too long (there, you should target 60 columns or less; 'git shortlog -30' will give you some ideas of typical summaries). > Added important note to 'RTC_CHANGE' event description to highlight established implementation specifics. > > Signed-off-by: Artem Pisarenko <artem.k.pisarenko@gmail.com> > --- > qapi/misc.json | 3 ++- > vl.c | 10 +++++----- > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/qapi/misc.json b/qapi/misc.json > index ada9af5..ed866f2 100644 > --- a/qapi/misc.json > +++ b/qapi/misc.json > @@ -3070,7 +3070,8 @@ > # Emitted when the guest changes the RTC time. > # > # @offset: offset between base RTC clock (as specified by -rtc base), and > -# new RTC clock value > +# new RTC clock value. Note that value will be different depending > +# on clock choosen to drive RTC (specified by -rtc clock). s/choosen/chosen/
diff --git a/qapi/misc.json b/qapi/misc.json index ada9af5..ed866f2 100644 --- a/qapi/misc.json +++ b/qapi/misc.json @@ -3070,7 +3070,8 @@ # Emitted when the guest changes the RTC time. # # @offset: offset between base RTC clock (as specified by -rtc base), and -# new RTC clock value +# new RTC clock value. Note that value will be different depending +# on clock choosen to drive RTC (specified by -rtc clock). # # Note: This event is rate-limited. # diff --git a/vl.c b/vl.c index d60018f..72a4173 100644 --- a/vl.c +++ b/vl.c @@ -788,10 +788,10 @@ void qemu_system_vmstop_request(RunState state) /***********************************************************/ /* RTC reference time/date access */ -static time_t qemu_ref_timedate(void) +static time_t qemu_ref_timedate(QEMUClockType clock) { - time_t value = qemu_clock_get_ms(rtc_clock) / 1000; - switch (rtc_clock) { + time_t value = qemu_clock_get_ms(clock) / 1000; + switch (clock) { case QEMU_CLOCK_REALTIME: value -= rtc_realtime_clock_offset; /* no break */ @@ -811,7 +811,7 @@ static time_t qemu_ref_timedate(void) void qemu_get_timedate(struct tm *tm, int offset) { - time_t ti = qemu_ref_timedate(); + time_t ti = qemu_ref_timedate(rtc_clock); ti += offset; @@ -844,7 +844,7 @@ int qemu_timedate_diff(struct tm *tm) } } - return seconds - qemu_ref_timedate(); + return seconds - qemu_ref_timedate(QEMU_CLOCK_HOST); } static void configure_rtc_base_datetime(const char *startdate)
Return value of qemu_timedate_diff(), used for calculation offset in QAPI 'RTC_CHANGE' event restored to keep compatibility, although it isn't documented that difference is relative to host clock advancement. Added important note to 'RTC_CHANGE' event description to highlight established implementation specifics. Signed-off-by: Artem Pisarenko <artem.k.pisarenko@gmail.com> --- qapi/misc.json | 3 ++- vl.c | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-)