On Fri, Apr 15, 2016 at 3:02 AM, Razvan Cojocaru <rcojoc...@bitdefender.com> wrote:
> Previously, subscribing to MSR write events was an all-or-none > approach, with special cases for introspection MSR-s. This patch > allows the vm_event consumer to specify exactly what MSR-s it is > interested in, and as a side-effect gets rid of the > vmx_introspection_force_enabled_msrs[] special case. > This replaces the previously posted "xen: Filter out MSR write > events" patch. > > Signed-off-by: Razvan Cojocaru <rcojoc...@bitdefender.com> > > --- > Changes since V2: > - Bumped XEN_DOMCTL_INTERFACE_VERSION. > - Introduced struct monitor_msr_bitmap as recommended by Andrew > Cooper, which allowed removing some pointer arithmetic magic. > - Removed arch_ prefix from monitor functions, as recommended > by Tamas Lengyel. > - Replaced the page allocation code with xzalloc() / xfree() for > struct monitor_msr_bitmap. > - Now returning -ENXIO instead of -EINVAL from the monitor > functions, as recommended by Konrad Rzeszutek Wilk. > --- > tools/libxc/include/xenctrl.h | 4 +- > tools/libxc/xc_monitor.c | 6 +-- > xen/arch/x86/hvm/event.c | 3 +- > xen/arch/x86/hvm/hvm.c | 3 +- > xen/arch/x86/hvm/vmx/vmcs.c | 26 ++--------- > xen/arch/x86/hvm/vmx/vmx.c | 10 ++-- > xen/arch/x86/monitor.c | 95 > +++++++++++++++++++++++++++++++++----- > xen/arch/x86/vm_event.c | 9 ++++ > xen/include/asm-x86/domain.h | 4 +- > xen/include/asm-x86/hvm/hvm.h | 8 ++-- > xen/include/asm-x86/hvm/vmx/vmcs.h | 7 --- > xen/include/asm-x86/monitor.h | 8 ++++ > xen/include/public/domctl.h | 5 +- > 13 files changed, 121 insertions(+), 67 deletions(-) > > diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h > index f5a034a..9698d46 100644 > --- a/tools/libxc/include/xenctrl.h > +++ b/tools/libxc/include/xenctrl.h > @@ -2183,8 +2183,8 @@ int xc_monitor_get_capabilities(xc_interface *xch, > domid_t domain_id, > int xc_monitor_write_ctrlreg(xc_interface *xch, domid_t domain_id, > uint16_t index, bool enable, bool sync, > bool onchangeonly); > -int xc_monitor_mov_to_msr(xc_interface *xch, domid_t domain_id, bool > enable, > - bool extended_capture); > +int xc_monitor_mov_to_msr(xc_interface *xch, domid_t domain_id, uint32_t > msr, > + bool enable); > So my only concern with this approach here is that the MSR index definitions that are supposed to be passed are never exported via a public header, are only defined in asm-x86/msr-index.h. Should that also be moved to be a public header as part of this patch? Tamas
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel