[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] VM_EVENT_FLAG_SET_REGISTERS and sync_vcpu_execstate()
Hello, We've been mostly setting registers by using xc_vcpu_setcontext(): https://github.com/razvan-cojocaru/libbdvmi/blob/master/src/bdvmixendriver.cpp#L504 but lately trying to push as much of that as possible to the VM_EVENT_FLAG_SET_REGISTERS-related code (i.e. via the vm_event replies) to save processing time. So with the xc_vcpu_setcontext() call removed, I've found that there are cases where vm_event_set_registers() won't work properly unless I kept the xc_vcpu_getcontext() call. This would appear to be not because of anything that arch_get_info_guest() does (please see the implementation for XEN_DOMCTL_getvcpucontext), but because of the vcpu_pause() call, or more specifically, because of its calling sync_vcpu_execstate(). So it would appear that a sync_vcpu_execstate(v) call is necessary at the start of vm_event_set_registers() for the vcpu struct instance to be synchronized with the current VCPU state. Any objections to a patch with this simple modification? Thanks, Razvan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |