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

Re: [Xen-devel] [RFC PATCH v3 08/12] xsm: enable xsm_platform_op hook for all architectures



Hi Oleksandr,

You forgot to CC Daniel (CCed him) who is the XSM maintainers.

On 10/23/2014 04:07 PM, Oleksandr Dmytryshyn wrote:
> This hook is used by platform hypercall which will
> be implemented for all architectures.

I don't think it's necessary to have a separate patch for XSM. I would
fold it in #9.

Otherwise, this change looks good to me.

> 
> Signed-off-by: Oleksandr Dmytryshyn <oleksandr.dmytryshyn@xxxxxxxxxxxxxxx>
> ---
>  xen/include/xsm/dummy.h | 12 ++++++------
>  xen/include/xsm/xsm.h   | 10 +++++-----
>  xen/xsm/flask/hooks.c   |  3 ++-
>  3 files changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index eb9e1a1..911fb5d 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -491,6 +491,12 @@ static XSM_INLINE int 
> xsm_hvm_param_nested(XSM_DEFAULT_ARG struct domain *d)
>      return xsm_default_action(action, current->domain, d);
>  }
>  
> +static XSM_INLINE int xsm_platform_op(XSM_DEFAULT_ARG uint32_t op)
> +{
> +    XSM_ASSERT_ACTION(XSM_PRIV);
> +    return xsm_default_action(action, current->domain, NULL);
> +}
> +
>  #ifdef CONFIG_X86
>  static XSM_INLINE int xsm_shadow_control(XSM_DEFAULT_ARG struct domain *d, 
> uint32_t op)
>  {
> @@ -546,12 +552,6 @@ static XSM_INLINE int xsm_apic(XSM_DEFAULT_ARG struct 
> domain *d, int cmd)
>      return xsm_default_action(action, d, NULL);
>  }
>  
> -static XSM_INLINE int xsm_platform_op(XSM_DEFAULT_ARG uint32_t op)
> -{
> -    XSM_ASSERT_ACTION(XSM_PRIV);
> -    return xsm_default_action(action, current->domain, NULL);
> -}
> -
>  static XSM_INLINE int xsm_machine_memory_map(XSM_DEFAULT_VOID)
>  {
>      XSM_ASSERT_ACTION(XSM_PRIV);
> diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
> index 1939453..5cb1e0d 100644
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -509,6 +509,11 @@ static inline int xsm_hvm_param_nested (xsm_default_t 
> def, struct domain *d)
>      return xsm_ops->hvm_param_nested(d);
>  }
>  
> +static inline int xsm_platform_op (xsm_default_t def, uint32_t op)
> +{
> +    return xsm_ops->platform_op(op);
> +}
> +
>  #ifdef CONFIG_X86
>  static inline int xsm_shadow_control (xsm_default_t def, struct domain *d, 
> uint32_t op)
>  {
> @@ -560,11 +565,6 @@ static inline int xsm_memtype (xsm_default_t def, 
> uint32_t access)
>      return xsm_ops->memtype(access);
>  }
>  
> -static inline int xsm_platform_op (xsm_default_t def, uint32_t op)
> -{
> -    return xsm_ops->platform_op(op);
> -}
> -
>  static inline int xsm_machine_memory_map(xsm_default_t def)
>  {
>      return xsm_ops->machine_memory_map();
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index d94ab77..29126ec 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -1542,6 +1542,8 @@ static struct xsm_operations flask_ops = {
>      .add_to_physmap = flask_add_to_physmap,
>      .remove_from_physmap = flask_remove_from_physmap,
>  
> +    .platform_op = flask_platform_op,
> +
>  #ifdef CONFIG_X86
>      .shadow_control = flask_shadow_control,
>      .hvm_set_pci_intx_level = flask_hvm_set_pci_intx_level,
> @@ -1552,7 +1554,6 @@ static struct xsm_operations flask_ops = {
>      .mem_event_op = flask_mem_event_op,
>      .mem_sharing_op = flask_mem_sharing_op,
>      .apic = flask_apic,
> -    .platform_op = flask_platform_op,
>      .machine_memory_map = flask_machine_memory_map,
>      .domain_memory_map = flask_domain_memory_map,
>      .mmu_update = flask_mmu_update,
> 


-- 
Julien Grall

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