When the guest writes to the RTC, the write is intercepted and emulated
by Xen and the time difference is broadcasted as a TIMEOFFSET ioreq.
Emit an RTC_CHANGE QMP event when this happens rather than ignoring it
so that something can make use of the information (e.g. the toolstack
can persist it between VM starts).
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
hw/xen/xen-hvm-common.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 59c73dfaeb59..9b539f5c5c56 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -4,6 +4,7 @@
#include "qemu/error-report.h"
#include "qemu/target-info.h"
#include "qapi/error.h"
+#include "qapi/qapi-events-misc.h"
#include "exec/target_page.h"
#include "trace.h"
@@ -471,6 +472,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
cpu_ioreq_move(req);
break;
case IOREQ_TYPE_TIMEOFFSET:
+ qapi_event_send_rtc_change((int64_t)req->data, NULL);
break;
case IOREQ_TYPE_INVALIDATE:
xen_invalidate_map_cache();
--
2.52.0