[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] xen: Emit RTC_CHANGE upon TIMEOFFSET ioreq
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH v2] xen: Emit RTC_CHANGE upon TIMEOFFSET ioreq |
Date: |
Wed, 20 Sep 2017 10:18:32 -0700 (PDT) |
User-agent: |
Alpine 2.10 (DEB 1266 2009-07-14) |
Ping?
On Wed, 6 Sep 2017, Anthony PERARD wrote:
> On Wed, Aug 23, 2017 at 02:25:05PM +0100, Ross Lagerwall wrote:
> > When the guest writes to the RTC, Xen emulates it and broadcasts a
> > TIMEOFFSET ioreq. Emit an RTC_CHANGE QMP event to all QMP monitors when
> > this happens rather than ignoring it so that something useful can be
> > done with the information. This is the same event that QEMU generates
> > when it emulates the RTC.
> >
> > This patch by itself doesn't affect any of the toolstacks that I
> > checked; the libxl toolstack doesn't currently handle this event nor
> > does the XAPI toolstack. If nothing handles the event, it is simply
> > ignored. We plan on modifying XAPI to handle it.
> >
> > Signed-off-by: Ross Lagerwall <address@hidden>
> > ---
> >
> > Changed in v2:
> > * Expanded commit message.
> >
> > hw/i386/xen/xen-hvm.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
> > index d9ccd5d..ffd20dc 100644
> > --- a/hw/i386/xen/xen-hvm.c
> > +++ b/hw/i386/xen/xen-hvm.c
> > @@ -16,6 +16,7 @@
> > #include "hw/i386/apic-msidef.h"
> > #include "hw/xen/xen_common.h"
> > #include "hw/xen/xen_backend.h"
> > +#include "qapi-event.h"
> > #include "qmp-commands.h"
> >
> > #include "qemu/error-report.h"
> > @@ -967,6 +968,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t
> > *req)
> > handle_vmport_ioreq(state, req);
> > break;
> > case IOREQ_TYPE_TIMEOFFSET:
> > + qapi_event_send_rtc_change((int64_t)req->data, &error_abort);
>
> Is this the right value?
>
> >From qapi-schema.json: "offset between base RTC clock (as specified by
> -rtc base), and new RTC clock value". But with this patch, the offset
> sent via QMP seems to be between the previous value of the guest rtc and
> the new one. Other calls to qapi_event_send_rtc_change send the offset
> between the new guest RTC and qemu_time().