[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC V8 3/5] xen, libxc: Force-enable relevant MSR events



>>> On 27.08.14 at 16:01, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
> Vmx_disable_intercept_for_msr() will now refuse to disable interception of
> MSRs needed for memory introspection. It is not possible to gate this on
> mem_access being active for the domain, since by the time mem_access does
> become active the interception for the interesting MSRs has already been
> disabled (vmx_disable_intercept_for_msr() runs very early on).
> 
> Changes since V1:
>  - Replaced printk() with gdprintk(XENLOG_DEBUG, ...).
> 
> Changes since V2:
>  - Split a log line differently to keep it grepable.
>  - Interception for relevant MSRs will be disabled only if
>    mem_access is not enabled.
>  - Since they end up being disabled early on (when mem_access
>    is not enabled yet), re-enable interception when mem_access
>    becomes active.
> 
> Changes since V3:
>  - Removed log line stating that MSR interception cannot be disabled.
>  - Removed superfluous #include <asm/hvm/vmx/vmcs.h>.
>  - Moved VMX-specific code to vmx.c (as a new hvm_funcs member).
> 
> Changes since V5:
>  - Added xc_mem_access_enable_introspection() to libxc, which has
>    the same parameters and semantics as xc_mem_access_enable(),
>    but it additionally sets d->arch.hvm_domain.introspection_enabled
>    and enables relevant MSR interception.
>  - Renamed vmx_enable_intro_msr_interception() to
>    vmx_enable_msr_exit_interception().
>  - Simplified vmx_enable_msr_exit_interception() (const array of MSRs).
> 
> Changes since V6:
>  - Moved the array of interesting MSRs to common header.
>  - Minor code cleanup.
> 
> Changes since V7:
>  - Reversed if conditions (cheapest one first).
>  - Combined two if statements.
>  - Moved "bool_t introspection_enabled;" to the bool_t group above.
>  - Renamed msrs_exit_array to vmx_msrs_exit_array and made it
>    "extern" in the header.
> 
> Signed-off-by: Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx>
> ---
>  tools/libxc/xc_mem_access.c        |   10 +++++++++-
>  tools/libxc/xc_mem_event.c         |    7 +++++--
>  tools/libxc/xc_private.h           |    2 +-
>  tools/libxc/xenctrl.h              |    2 ++
>  xen/arch/x86/hvm/vmx/vmcs.c        |   25 +++++++++++++++++++++++++
>  xen/arch/x86/hvm/vmx/vmx.c         |   12 ++++++++++++
>  xen/arch/x86/mm/mem_event.c        |   11 +++++++++++
>  xen/include/asm-x86/hvm/domain.h   |    1 +
>  xen/include/asm-x86/hvm/hvm.h      |    2 ++
>  xen/include/asm-x86/hvm/vmx/vmcs.h |    3 +++
>  xen/include/public/domctl.h        |    7 ++++---
>  11 files changed, 75 insertions(+), 7 deletions(-)

For the hypervisor parts:
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.