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