[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] xen: add update indicator to vcpu_runstate_info
On 20/05/16 14:22, Juergen Gross wrote: > diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c > index 1365b4a..91f256b 100644 > --- a/xen/arch/arm/domain.c > +++ b/xen/arch/arm/domain.c > @@ -239,10 +239,32 @@ static void ctxt_switch_to(struct vcpu *n) > /* Update per-VCPU guest runstate shared memory area (if registered). */ > static void update_runstate_area(struct vcpu *v) > { > + bool_t update_flag; > + void __user *guest_handle = NULL; > + unsigned off = 0; > + > if ( guest_handle_is_null(runstate_guest(v)) ) > return; > > + update_flag = VM_ASSIST(v->domain, runstate_update_flag); > + if ( update_flag ) > + { > + off = offsetof(struct vcpu_runstate_info, state_entry_time) + 7; > + guest_handle = v->runstate_guest.p; > + guest_handle += off; > + v->runstate.state_entry_time |= XEN_RUNSTATE_UPDATE; > + __raw_copy_to_guest(guest_handle, (void *)&v->runstate + off, 1); > + wmb(); smp_wmb(), throughout. A whole lot of code gets this wrong in Xen, and plan to clean it all up in 4.8 ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |