From 24470b99c1671dca531c2cf5747eda2f8892ecbc Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Fri, 16 Feb 2018 18:16:23 +0000 Subject: [PATCH] hvm/monitor: fix usage of the control register mask MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Previous usage is not correct and would prevent certain updates from being notified to the monitor client. For example if (value ^ old) == (PGE | PSE) and mask == PGE this update would not be notified. Signed-off-by: Roger Pau Monné Acked-by: Razvan Cojocaru --- xen/arch/x86/hvm/monitor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c index 5d568a39d3..160c0327b9 100644 --- a/xen/arch/x86/hvm/monitor.c +++ b/xen/arch/x86/hvm/monitor.c @@ -39,7 +39,7 @@ bool hvm_monitor_cr(unsigned int index, unsigned long value, unsigned long old) if ( (ad->monitor.write_ctrlreg_enabled & ctrlreg_bitmask) && (!(ad->monitor.write_ctrlreg_onchangeonly & ctrlreg_bitmask) || value != old) && - (!((value ^ old) & ad->monitor.write_ctrlreg_mask[index])) ) + ((value ^ old) & ~ad->monitor.write_ctrlreg_mask[index]) ) { bool sync = ad->monitor.write_ctrlreg_sync & ctrlreg_bitmask; -- 2.39.5