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

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

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