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_.

Is that updating-all-context case of no interest to a
monitoring application, now and forever?

As I said above, I'm don't see how such a case would (ever) be possible.

--- a/xen/include/asm-x86/domain.h
+++ b/xen/include/asm-x86/domain.h
@@ -259,19 +259,19 @@ struct pv_domain
      struct cpuidmasks *cpuidmasks;
  };
-struct monitor_write_data {
-    struct {
-        unsigned int msr : 1;
-        unsigned int cr0 : 1;
-        unsigned int cr3 : 1;
-        unsigned int cr4 : 1;
-    } do_write;
+enum monitor_write_status
+{
+    MWS_NOWRITE = 0,
Please omit the "= 0" here - MWS_NOWRITE will be zero even
without that.

Jan



Ack.

Thanks,
Corneliu.

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

Reply via email to