[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v1 1/4] asm-x86/monitor: Enable svm monitor events
On Fri, Feb 2, 2018 at 2:37 AM, Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx> wrote: > This commit separates the svm caps from the vmx caps. > > Signed-off-by: Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx> > --- > xen/include/asm-x86/monitor.h | 33 ++++++++++++++++++++------------- > 1 file changed, 20 insertions(+), 13 deletions(-) > > diff --git a/xen/include/asm-x86/monitor.h b/xen/include/asm-x86/monitor.h > index a0444d1..3706b7a 100644 > --- a/xen/include/asm-x86/monitor.h > +++ b/xen/include/asm-x86/monitor.h > @@ -74,21 +74,28 @@ static inline uint32_t > arch_monitor_get_capabilities(struct domain *d) > * At the moment only Intel HVM domains are supported. However, event > * delivery could be extended to AMD and PV domains. I guess adjusting this comment here would now be also appropriate. > */ > - if ( !is_hvm_domain(d) || !cpu_has_vmx ) > + if ( !is_hvm_domain(d) ) > return capabilities; > > - capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) | > - (1U << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) | > - (1U << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) | > - (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST) | > - (1U << XEN_DOMCTL_MONITOR_EVENT_DEBUG_EXCEPTION) | > - (1U << XEN_DOMCTL_MONITOR_EVENT_CPUID) | > - (1U << XEN_DOMCTL_MONITOR_EVENT_INTERRUPT) | > - (1U << XEN_DOMCTL_MONITOR_EVENT_EMUL_UNIMPLEMENTED); > - > - /* Since we know this is on VMX, we can just call the hvm func */ > - if ( hvm_is_singlestep_supported() ) > - capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP); > + if( cpu_has_vmx ) > + { > + capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) | > + (1U << XEN_DOMCTL_MONITOR_EVENT_MOV_TO_MSR) | > + (1U << XEN_DOMCTL_MONITOR_EVENT_SOFTWARE_BREAKPOINT) | > + (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST) | > + (1U << XEN_DOMCTL_MONITOR_EVENT_DEBUG_EXCEPTION) | > + (1U << XEN_DOMCTL_MONITOR_EVENT_CPUID) | > + (1U << XEN_DOMCTL_MONITOR_EVENT_INTERRUPT) | > + (1U << XEN_DOMCTL_MONITOR_EVENT_EMUL_UNIMPLEMENTED); > + > + /* Since we know this is on VMX, we can just call the hvm func */ > + if ( hvm_is_singlestep_supported() ) > + capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP); > + } > + else if ( cpu_has_svm ) > + { > + capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST); If this is now supported on both svm and vmx, so you could just set it outside the if blocks. We know we are dealing with an hvm domain at this point. Tamas _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |