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