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

Re: [Xen-devel] [RFC PATCH V3 12/12] xen/vm_event: Check for VM_EVENT_FLAG_DUMMY only in Debug builds



> From: Tamas K Lengyel [mailto:tamas.lengyel@xxxxxxxxxxxx]
> Sent: Friday, January 30, 2015 5:47 AM
> 
> The flag is only used for debugging purposes, thus it should be only checked
> for in debug builds of Xen.
> 
> Signed-off-by: Tamas K Lengyel <tamas.lengyel@xxxxxxxxxxxx>
> ---
>  xen/arch/x86/mm/mem_sharing.c |  2 ++
>  xen/arch/x86/mm/p2m.c         |  2 ++
>  xen/common/mem_access.c       | 31
> +++++++++++++++++++++++++++++++
>  3 files changed, 35 insertions(+)
> 
> diff --git a/xen/arch/x86/mm/mem_sharing.c
> b/xen/arch/x86/mm/mem_sharing.c
> index c487207..303c2fb 100644
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -604,8 +604,10 @@ int mem_sharing_sharing_resume(struct domain *d)
>          if ( rsp.version != VM_EVENT_INTERFACE_VERSION )
>              continue;
> 
> +#ifndef NDEBUG
>          if ( rsp.flags & VM_EVENT_FLAG_DUMMY )
>              continue;
> +#endif
> 
>          /* Validate the vcpu_id in the response. */
>          if ( (rsp.vcpu_id >= d->max_vcpus) || !d->vcpu[rsp.vcpu_id] )
> diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
> index 3b58700..1d91000 100644
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -1305,8 +1305,10 @@ void p2m_mem_paging_resume(struct domain *d)
>          if ( rsp.version != VM_EVENT_INTERFACE_VERSION )
>              continue;
> 
> +#ifndef NDEBUG
>          if ( rsp.flags & VM_EVENT_FLAG_DUMMY )
>              continue;
> +#endif
> 
>          /* Validate the vcpu_id in the response. */
>          if ( (rsp.vcpu_id >= d->max_vcpus) || !d->vcpu[rsp.vcpu_id] )
> diff --git a/xen/common/mem_access.c b/xen/common/mem_access.c
> index 3655165..e0a538f 100644
> --- a/xen/common/mem_access.c
> +++ b/xen/common/mem_access.c
> @@ -30,6 +30,37 @@
>  #include <asm/p2m.h>
>  #include <xsm/xsm.h>
> 
> +void mem_access_resume(struct domain *d)

so there is no caller of this new function?

> +{
> +    vm_event_response_t rsp;
> +
> +    /* Pull all responses off the ring. */
> +    while ( vm_event_get_response(d, &d->vm_event->monitor, &rsp) )
> +    {
> +        struct vcpu *v;
> +
> +        if ( rsp.version != VM_EVENT_INTERFACE_VERSION )
> +            continue;
> +
> +#ifndef NDEBUG
> +        if ( rsp.flags & VM_EVENT_FLAG_DUMMY )
> +            continue;
> +#endif
> +
> +        /* Validate the vcpu_id in the response. */
> +        if ( (rsp.vcpu_id >= d->max_vcpus) || !d->vcpu[rsp.vcpu_id] )
> +            continue;
> +
> +        v = d->vcpu[rsp.vcpu_id];
> +
> +        p2m_vm_event_emulate_check(v, &rsp);
> +
> +        /* Unpause domain. */
> +        if ( rsp.flags & VM_EVENT_FLAG_VCPU_PAUSED )
> +            vm_event_vcpu_unpause(v);
> +    }
> +}
> +
>  int mem_access_memop(unsigned long cmd,
> 
> XEN_GUEST_HANDLE_PARAM(xen_mem_access_op_t) arg)
>  {
> --
> 2.1.4


_______________________________________________
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®.