All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel De Graaf <dgdegra@tycho.nsa.gov>
To: Julien Grall <julien.grall@linaro.org>, xen-devel@lists.xenproject.org
Cc: stefano.stabellini@citrix.com, tim@xen.org, ian.campbell@citrix.com
Subject: Re: [RFC 06/14] xen/xsm: xsm_do_mca is x86 specific
Date: Thu, 13 Mar 2014 10:26:15 -0400	[thread overview]
Message-ID: <5321C007.1000906@tycho.nsa.gov> (raw)
In-Reply-To: <1394640969-25583-7-git-send-email-julien.grall@linaro.org>

On 03/12/2014 12:16 PM, Julien Grall wrote:
> xsm_do_mca is only used by x86. Only define the function for x86 to
> avoid usage on ARM.
>
> Signed-off-by: Julien Grall <julien.grall@linaro.org>
> Cc: Daniel De Graaf <dgdegra@tycho.nsa.gov>

Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>

> ---
>   xen/include/xsm/dummy.h |   12 ++++++------
>   xen/include/xsm/xsm.h   |   12 ++++++------
>   xen/xsm/dummy.c         |    2 +-
>   xen/xsm/flask/hooks.c   |   12 ++++++------
>   4 files changed, 19 insertions(+), 19 deletions(-)
>
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 76f9280..e722155 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -140,12 +140,6 @@ static XSM_INLINE int xsm_readconsole(XSM_DEFAULT_ARG uint32_t clear)
>       return xsm_default_action(action, current->domain, NULL);
>   }
>
> -static XSM_INLINE int xsm_do_mca(XSM_DEFAULT_VOID)
> -{
> -    XSM_ASSERT_ACTION(XSM_PRIV);
> -    return xsm_default_action(action, current->domain, NULL);
> -}
> -
>   static XSM_INLINE int xsm_alloc_security_domain(struct domain *d)
>   {
>       return 0;
> @@ -496,6 +490,12 @@ static XSM_INLINE int xsm_hvm_param_nested(XSM_DEFAULT_ARG struct domain *d)
>   }
>
>   #ifdef CONFIG_X86
> +static XSM_INLINE int xsm_do_mca(XSM_DEFAULT_VOID)
> +{
> +    XSM_ASSERT_ACTION(XSM_PRIV);
> +    return xsm_default_action(action, current->domain, NULL);
> +}
> +
>   static XSM_INLINE int xsm_shadow_control(XSM_DEFAULT_ARG struct domain *d, uint32_t op)
>   {
>       XSM_ASSERT_ACTION(XSM_HOOK);
> diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
> index 11218b6..15acb3b 100644
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -61,7 +61,6 @@ struct xsm_operations {
>       int (*domctl) (struct domain *d, int cmd);
>       int (*sysctl) (int cmd);
>       int (*readconsole) (uint32_t clear);
> -    int (*do_mca) (void);
>
>       int (*evtchn_unbound) (struct domain *d, struct evtchn *chn, domid_t id2);
>       int (*evtchn_interdomain) (struct domain *d1, struct evtchn *chn1,
> @@ -139,6 +138,7 @@ struct xsm_operations {
>       int (*hvm_param_nested) (struct domain *d);
>
>   #ifdef CONFIG_X86
> +    int (*do_mca) (void);
>       int (*shadow_control) (struct domain *d, uint32_t op);
>       int (*hvm_set_pci_intx_level) (struct domain *d);
>       int (*hvm_set_isa_irq_level) (struct domain *d);
> @@ -223,11 +223,6 @@ static inline int xsm_readconsole (xsm_default_t def, uint32_t clear)
>       return xsm_ops->readconsole(clear);
>   }
>
> -static inline int xsm_do_mca(xsm_default_t def)
> -{
> -    return xsm_ops->do_mca();
> -}
> -
>   static inline int xsm_evtchn_unbound (xsm_default_t def, struct domain *d1, struct evtchn *chn,
>                                                                       domid_t id2)
>   {
> @@ -524,6 +519,11 @@ static inline int xsm_hvm_param_nested (xsm_default_t def, struct domain *d)
>   }
>
>   #ifdef CONFIG_X86
> +static inline int xsm_do_mca(xsm_default_t def)
> +{
> +    return xsm_ops->do_mca();
> +}
> +
>   static inline int xsm_shadow_control (xsm_default_t def, struct domain *d, uint32_t op)
>   {
>       return xsm_ops->shadow_control(d, op);
> diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
> index 627edcc..b79e10f 100644
> --- a/xen/xsm/dummy.c
> +++ b/xen/xsm/dummy.c
> @@ -38,7 +38,6 @@ void xsm_fixup_ops (struct xsm_operations *ops)
>       set_to_dummy_if_null(ops, domctl);
>       set_to_dummy_if_null(ops, sysctl);
>       set_to_dummy_if_null(ops, readconsole);
> -    set_to_dummy_if_null(ops, do_mca);
>
>       set_to_dummy_if_null(ops, evtchn_unbound);
>       set_to_dummy_if_null(ops, evtchn_interdomain);
> @@ -115,6 +114,7 @@ void xsm_fixup_ops (struct xsm_operations *ops)
>       set_to_dummy_if_null(ops, remove_from_physmap);
>
>   #ifdef CONFIG_X86
> +    set_to_dummy_if_null(ops, do_mca);
>       set_to_dummy_if_null(ops, shadow_control);
>       set_to_dummy_if_null(ops, hvm_set_pci_intx_level);
>       set_to_dummy_if_null(ops, hvm_set_isa_irq_level);
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 7329f31..65343f3 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -798,11 +798,6 @@ static int flask_readconsole(uint32_t clear)
>       return domain_has_xen(current->domain, perms);
>   }
>
> -static int flask_do_mca(void)
> -{
> -    return domain_has_xen(current->domain, XEN__MCA_OP);
> -}
> -
>   static inline u32 resource_to_perm(uint8_t access)
>   {
>       if ( access )
> @@ -1169,6 +1164,11 @@ static int flask_deassign_device(struct domain *d, uint32_t machine_bdf)
>   #endif /* HAS_PASSTHROUGH && HAS_PCI */
>
>   #ifdef CONFIG_X86
> +static int flask_do_mca(void)
> +{
> +    return domain_has_xen(current->domain, XEN__MCA_OP);
> +}
> +
>   static int flask_shadow_control(struct domain *d, uint32_t op)
>   {
>       u32 perm;
> @@ -1472,7 +1472,6 @@ static struct xsm_operations flask_ops = {
>       .domctl = flask_domctl,
>       .sysctl = flask_sysctl,
>       .readconsole = flask_readconsole,
> -    .do_mca = flask_do_mca,
>
>       .evtchn_unbound = flask_evtchn_unbound,
>       .evtchn_interdomain = flask_evtchn_interdomain,
> @@ -1551,6 +1550,7 @@ static struct xsm_operations flask_ops = {
>   #endif
>
>   #ifdef CONFIG_X86
> +    .do_mca = flask_do_mca,
>       .shadow_control = flask_shadow_control,
>       .hvm_set_pci_intx_level = flask_hvm_set_pci_intx_level,
>       .hvm_set_isa_irq_level = flask_hvm_set_isa_irq_level,
>


-- 
Daniel De Graaf
National Security Agency

  reply	other threads:[~2014-03-13 14:26 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-12 16:15 [RFC 00/14] xen/arm: Add support for XSM Julien Grall
2014-03-12 16:15 ` [RFC 01/14] xen/arm: kernel: Don't harcode flash address Julien Grall
2014-03-14 17:10   ` Ian Campbell
2014-03-14 17:44     ` Julien Grall
2014-03-12 16:15 ` [RFC 02/14] xen/arm: Remove the parameter "attrindx" in copy_paddr Julien Grall
2014-03-14 17:14   ` Ian Campbell
2014-03-14 18:02     ` Julien Grall
2014-03-17 10:13       ` Ian Campbell
2014-03-17 11:53         ` Julien Grall
2014-03-17 12:02           ` Ian Campbell
2014-03-12 16:15 ` [RFC 03/14] xen/arm: Correctly define size_t Julien Grall
2014-03-14 17:18   ` Ian Campbell
2014-03-12 16:15 ` [RFC 04/14] xen/arm: next_module: Skip module if the size is 0 Julien Grall
2014-03-14 17:19   ` Ian Campbell
2014-03-12 16:16 ` [RFC 05/14] xen/xsm: xsm functions for PCI passthrough is not x86 specific Julien Grall
2014-03-13 14:25   ` Daniel De Graaf
2014-03-14 17:20     ` Ian Campbell
2014-03-12 16:16 ` [RFC 06/14] xen/xsm: xsm_do_mca is " Julien Grall
2014-03-13 14:26   ` Daniel De Graaf [this message]
2014-03-14 17:21     ` Ian Campbell
2014-03-12 16:16 ` [RFC 07/14] xen/xsm: flask: Fix compilation when CONFIG_COMPAT=y Julien Grall
2014-03-13 14:26   ` Daniel De Graaf
2014-03-14 17:23     ` Ian Campbell
2014-03-14 18:08       ` Julien Grall
2014-03-17  7:22       ` Jan Beulich
2014-03-17 10:15         ` Ian Campbell
2014-03-17 11:57         ` Julien Grall
2014-03-12 16:16 ` [RFC 08/14] xen/xsm: flask: Rename variable "bool" in "b" Julien Grall
2014-03-12 16:26   ` Andrew Cooper
2014-03-13 13:17     ` Julien Grall
2014-03-13 13:57       ` Jan Beulich
2014-03-13 14:27   ` Daniel De Graaf
2014-03-14 17:24     ` Ian Campbell
2014-03-12 16:16 ` [RFC 09/14] xen/xsm: flask: MSI is PCI specific Julien Grall
2014-03-13 14:34   ` Daniel De Graaf
2014-03-13 14:40     ` Julien Grall
2014-03-14 17:25       ` Ian Campbell
2014-03-14 18:15         ` Julien Grall
2014-03-17 10:13           ` Ian Campbell
2014-03-17 12:05             ` Julien Grall
2014-03-12 16:16 ` [RFC 10/14] xen/xsm: flask: flask_copying_string is taking a XEN_GUEST_HANDLE as first param Julien Grall
2014-03-13 14:34   ` Daniel De Graaf
2014-03-14 17:26     ` Ian Campbell
2014-03-12 16:16 ` [RFC 11/14] xen/xsm: flask: Add missing header in hooks.c Julien Grall
2014-03-13 14:34   ` Daniel De Graaf
2014-03-14 17:26     ` Ian Campbell
2014-03-12 16:16 ` [RFC 12/14] xen/xsm: Don't use multiboot by default to initialize XSM Julien Grall
2014-03-12 16:52   ` Jan Beulich
2014-03-13 14:36   ` Daniel De Graaf
2014-03-14 17:27     ` Ian Campbell
2014-03-12 16:16 ` [RFC 13/14] xen/xsm: Add support for device tree Julien Grall
2014-03-13 14:47   ` Daniel De Graaf
2014-03-14 17:34   ` Ian Campbell
2014-03-14 18:24     ` Julien Grall
2014-03-17 10:15       ` Ian Campbell
2014-03-12 16:16 ` [RFC 14/14] xen/arm: Add support for XSM Julien Grall
2014-03-14 17:34   ` Ian Campbell

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=5321C007.1000906@tycho.nsa.gov \
    --to=dgdegra@tycho.nsa.gov \
    --cc=ian.campbell@citrix.com \
    --cc=julien.grall@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=tim@xen.org \
    --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.