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