aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qapi/misc.json3
-rw-r--r--vl.c10
2 files changed, 7 insertions, 6 deletions
diff --git a/qapi/misc.json b/qapi/misc.json
index 3a68af9ca3..c85c6c8ca3 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 chosen to drive RTC (specified by -rtc clock).
#
# Note: This event is rate-limited.
#
diff --git a/vl.c b/vl.c
index 5bb53f7204..c5fffa349b 100644
--- a/vl.c
+++ b/vl.c
@@ -789,10 +789,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 */
@@ -812,7 +812,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;
@@ -847,7 +847,7 @@ int qemu_timedate_diff(struct tm *tm)
abort();
}
- return seconds - qemu_ref_timedate();
+ return seconds - qemu_ref_timedate(QEMU_CLOCK_HOST);
}
static void configure_rtc_base_datetime(const char *startdate)