xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Tamas K Lengyel <tamas@tklengyel.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Keir Fraser <keir@xen.org>, Jan Beulich <jbeulich@suse.com>,
	Razvan Cojocaru <rcojocaru@bitdefender.com>
Subject: Re: [PATCH] monitor: Rename vm_event_monitor_get_capabilities to arch_monitor_get_capabilities
Date: Wed, 20 Apr 2016 11:34:46 +0100	[thread overview]
Message-ID: <57175B46.9080309@arm.com> (raw)
In-Reply-To: <1460651634-25061-1-git-send-email-tamas@tklengyel.com>

Hello Tamas,

On 14/04/16 17:33, Tamas K Lengyel wrote:
> The monitor_get_capabilities check actually belongs to the monitor subsystem so
> relocating and renaming it to sanitize the code's name and location.
>
> Signed-off-by: Tamas K Lengyel <tamas@tklengyel.com>
> Cc: Razvan Cojocaru <rcojocaru@bitdefender.com>
> Cc: Keir Fraser <keir@xen.org>
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: Stefano Stabellini <stefano.stabellini@citrix.com>
> Cc: Julien Grall <julien.grall@arm.com>

For the ARM bits:

Acked-by: Julien Grall <julien.grall@arm.com>

Regards,

> ---
>   xen/arch/x86/monitor.c         |  2 +-
>   xen/common/monitor.c           |  5 ++---
>   xen/include/asm-arm/monitor.h  | 11 ++++++++++-
>   xen/include/asm-arm/vm_event.h |  9 ---------
>   xen/include/asm-x86/monitor.h  | 23 +++++++++++++++++++++++
>   xen/include/asm-x86/vm_event.h | 23 -----------------------
>   6 files changed, 36 insertions(+), 37 deletions(-)
>
> diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
> index 1fec412..621f91a 100644
> --- a/xen/arch/x86/monitor.c
> +++ b/xen/arch/x86/monitor.c
> @@ -126,7 +126,7 @@ int arch_monitor_domctl_event(struct domain *d,
>
>       default:
>           /*
> -         * Should not be reached unless vm_event_monitor_get_capabilities() is
> +         * Should not be reached unless arch_monitor_get_capabilities() is
>            * not properly implemented.
>            */
>           ASSERT_UNREACHABLE();
> diff --git a/xen/common/monitor.c b/xen/common/monitor.c
> index d950a7c..7c3d1c8 100644
> --- a/xen/common/monitor.c
> +++ b/xen/common/monitor.c
> @@ -24,7 +24,6 @@
>   #include <xsm/xsm.h>
>   #include <public/domctl.h>
>   #include <asm/monitor.h>
> -#include <asm/vm_event.h>
>
>   int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
>   {
> @@ -48,12 +47,12 @@ int monitor_domctl(struct domain *d, struct xen_domctl_monitor_op *mop)
>           if ( unlikely(mop->event > 31) )
>               return -EINVAL;
>           /* Check if event type is available. */
> -        if ( unlikely(!(vm_event_monitor_get_capabilities(d) & (1U << mop->event))) )
> +        if ( unlikely(!(arch_monitor_get_capabilities(d) & (1U << mop->event))) )
>               return -EOPNOTSUPP;
>           break;
>
>       case XEN_DOMCTL_MONITOR_OP_GET_CAPABILITIES:
> -        mop->event = vm_event_monitor_get_capabilities(d);
> +        mop->event = arch_monitor_get_capabilities(d);
>           return 0;
>
>       default:
> diff --git a/xen/include/asm-arm/monitor.h b/xen/include/asm-arm/monitor.h
> index 6e36e99..3fd3c9d 100644
> --- a/xen/include/asm-arm/monitor.h
> +++ b/xen/include/asm-arm/monitor.h
> @@ -39,11 +39,20 @@ int arch_monitor_domctl_event(struct domain *d,
>       /*
>        * No arch-specific monitor vm-events on ARM.
>        *
> -     * Should not be reached unless vm_event_monitor_get_capabilities() is not
> +     * Should not be reached unless arch_monitor_get_capabilities() is not
>        * properly implemented.
>        */
>       ASSERT_UNREACHABLE();
>       return -EOPNOTSUPP;
>   }
>
> +static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> +{
> +    uint32_t capabilities = 0;
> +
> +    capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
> +
> +    return capabilities;
> +}
> +
>   #endif /* __ASM_ARM_MONITOR_H__ */
> diff --git a/xen/include/asm-arm/vm_event.h b/xen/include/asm-arm/vm_event.h
> index 014d9ba..a3fc4ce 100644
> --- a/xen/include/asm-arm/vm_event.h
> +++ b/xen/include/asm-arm/vm_event.h
> @@ -59,13 +59,4 @@ static inline void vm_event_fill_regs(vm_event_request_t *req)
>       /* Not supported on ARM. */
>   }
>
> -static inline uint32_t vm_event_monitor_get_capabilities(struct domain *d)
> -{
> -    uint32_t capabilities = 0;
> -
> -    capabilities = (1U << XEN_DOMCTL_MONITOR_EVENT_GUEST_REQUEST);
> -
> -    return capabilities;
> -}
> -
>   #endif /* __ASM_ARM_VM_EVENT_H__ */
> diff --git a/xen/include/asm-x86/monitor.h b/xen/include/asm-x86/monitor.h
> index 0954b59..446b2af 100644
> --- a/xen/include/asm-x86/monitor.h
> +++ b/xen/include/asm-x86/monitor.h
> @@ -50,4 +50,27 @@ int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
>   int arch_monitor_domctl_event(struct domain *d,
>                                 struct xen_domctl_monitor_op *mop);
>
> +static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> +{
> +    uint32_t capabilities = 0;
> +
> +    /*
> +     * At the moment only Intel HVM domains are supported. However, event
> +     * delivery could be extended to AMD and PV domains.
> +     */
> +    if ( !is_hvm_domain(d) || !cpu_has_vmx )
> +        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);
> +
> +    /* 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);
> +
> +    return capabilities;
> +}
> +
>   #endif /* __ASM_X86_MONITOR_H__ */
> diff --git a/xen/include/asm-x86/vm_event.h b/xen/include/asm-x86/vm_event.h
> index 0470240..026f42e 100644
> --- a/xen/include/asm-x86/vm_event.h
> +++ b/xen/include/asm-x86/vm_event.h
> @@ -44,27 +44,4 @@ void vm_event_set_registers(struct vcpu *v, vm_event_response_t *rsp);
>
>   void vm_event_fill_regs(vm_event_request_t *req);
>
> -static inline uint32_t vm_event_monitor_get_capabilities(struct domain *d)
> -{
> -    uint32_t capabilities = 0;
> -
> -    /*
> -     * At the moment only Intel HVM domains are supported. However, event
> -     * delivery could be extended to AMD and PV domains.
> -     */
> -    if ( !is_hvm_domain(d) || !cpu_has_vmx )
> -        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);
> -
> -    /* 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);
> -
> -    return capabilities;
> -}
> -
>   #endif /* __ASM_X86_VM_EVENT_H__ */
>

-- 
Julien Grall

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

  parent reply	other threads:[~2016-04-20 10:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-14 16:33 [PATCH] monitor: Rename vm_event_monitor_get_capabilities to arch_monitor_get_capabilities Tamas K Lengyel
2016-04-14 16:36 ` Andrew Cooper
2016-04-14 17:01   ` Tamas K Lengyel
2016-04-14 16:44 ` Razvan Cojocaru
2016-04-20 10:34 ` Julien Grall [this message]
2016-04-20 11:26 ` Jan Beulich
2016-04-20 11:31   ` Julien Grall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57175B46.9080309@arm.com \
    --to=julien.grall@arm.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=keir@xen.org \
    --cc=rcojocaru@bitdefender.com \
    --cc=sstabellini@kernel.org \
    --cc=tamas@tklengyel.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).