All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.