[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



On 10/24/2014 11:27 AM, Oleksandr Dmytryshyn wrote:
> On Fri, Oct 24, 2014 at 1:24 PM, Oleksandr Dmytryshyn
> <oleksandr.dmytryshyn@xxxxxxxxxxxxxxx> wrote:
>> On Thu, Oct 23, 2014 at 7:11 PM, Julien Grall <julien.grall@xxxxxxxxxx> 
>> wrote:
>>> Hi Oleksandr,
>>>
>>> You forgot to CC Daniel (CCed him) who is the XSM maintainers.
> I'll CC Daniel in the future.

A good way to not forget maintainers is to use scripts/get_maintainers.pl.

Regards,

>>> 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.
>> I'll do this in the next patch-set.
>>
>>> 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


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