|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |