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
next prev 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).