On 7/4/2016 4:07 PM, Jan Beulich wrote:
On 04.07.16 at 14:47, <cz...@bitdefender.com> wrote:
On 7/4/2016 3:37 PM, Jan Beulich wrote:
On 30.06.16 at 20:44, <cz...@bitdefender.com> wrote:
After trapping a control-register write vm-event and -until- deciding if that
write is to be permitted or not (VM_EVENT_FLAG_DENY) and doing the actual
write,
there cannot and should not be another trapped control-register write event.
Is that true even for the case where full register state gets updated
for a vCPU?
AFAIK, the full register state cannot be updated _at once_, that is:
after each trapped register update monitor_write_data must _always_ be
handled _before reentering the vCPU_.
I'm thinking about operations like VCPUOP_initialise here. Of course
operations on current can't possibly update more than one register
at a time.

Jan

Yes but those register update operations happen outside the vm-event subsystem, i.e. in those cases the registers get updated directly, not by setting bits in monitor_write_data. Only hypervisor-trapped register updates (e.g. hvm_set_cr0 w/ may_defer parameter = 1) which are deferred because of hvm_event_crX returning true use monitor_write_data.

Corneliu.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to