return xsm_default_action(action, current->domain, NULL);
}
-static XSM_INLINE int xsm_do_mca(XSM_DEFAULT_VOID)
-{
- XSM_ASSERT_ACTION(XSM_PRIV);
- return xsm_default_action(action, current->domain, NULL);
-}
-
static XSM_INLINE int xsm_alloc_security_domain(struct domain *d)
{
return 0;
}
#ifdef CONFIG_X86
+static XSM_INLINE int xsm_do_mca(XSM_DEFAULT_VOID)
+{
+ XSM_ASSERT_ACTION(XSM_PRIV);
+ return xsm_default_action(action, current->domain, NULL);
+}
+
static XSM_INLINE int xsm_shadow_control(XSM_DEFAULT_ARG struct domain *d, uint32_t op)
{
XSM_ASSERT_ACTION(XSM_HOOK);
int (*domctl) (struct domain *d, int cmd);
int (*sysctl) (int cmd);
int (*readconsole) (uint32_t clear);
- int (*do_mca) (void);
int (*evtchn_unbound) (struct domain *d, struct evtchn *chn, domid_t id2);
int (*evtchn_interdomain) (struct domain *d1, struct evtchn *chn1,
int (*hvm_param_nested) (struct domain *d);
#ifdef CONFIG_X86
+ int (*do_mca) (void);
int (*shadow_control) (struct domain *d, uint32_t op);
int (*hvm_set_pci_intx_level) (struct domain *d);
int (*hvm_set_isa_irq_level) (struct domain *d);
return xsm_ops->readconsole(clear);
}
-static inline int xsm_do_mca(xsm_default_t def)
-{
- return xsm_ops->do_mca();
-}
-
static inline int xsm_evtchn_unbound (xsm_default_t def, struct domain *d1, struct evtchn *chn,
domid_t id2)
{
}
#ifdef CONFIG_X86
+static inline int xsm_do_mca(xsm_default_t def)
+{
+ return xsm_ops->do_mca();
+}
+
static inline int xsm_shadow_control (xsm_default_t def, struct domain *d, uint32_t op)
{
return xsm_ops->shadow_control(d, op);
set_to_dummy_if_null(ops, domctl);
set_to_dummy_if_null(ops, sysctl);
set_to_dummy_if_null(ops, readconsole);
- set_to_dummy_if_null(ops, do_mca);
set_to_dummy_if_null(ops, evtchn_unbound);
set_to_dummy_if_null(ops, evtchn_interdomain);
set_to_dummy_if_null(ops, remove_from_physmap);
#ifdef CONFIG_X86
+ set_to_dummy_if_null(ops, do_mca);
set_to_dummy_if_null(ops, shadow_control);
set_to_dummy_if_null(ops, hvm_set_pci_intx_level);
set_to_dummy_if_null(ops, hvm_set_isa_irq_level);
return domain_has_xen(current->domain, perms);
}
-static int flask_do_mca(void)
-{
- return domain_has_xen(current->domain, XEN__MCA_OP);
-}
-
static inline u32 resource_to_perm(uint8_t access)
{
if ( access )
#endif /* HAS_PASSTHROUGH && HAS_PCI */
#ifdef CONFIG_X86
+static int flask_do_mca(void)
+{
+ return domain_has_xen(current->domain, XEN__MCA_OP);
+}
+
static int flask_shadow_control(struct domain *d, uint32_t op)
{
u32 perm;
.domctl = flask_domctl,
.sysctl = flask_sysctl,
.readconsole = flask_readconsole,
- .do_mca = flask_do_mca,
.evtchn_unbound = flask_evtchn_unbound,
.evtchn_interdomain = flask_evtchn_interdomain,
#endif
#ifdef CONFIG_X86
+ .do_mca = flask_do_mca,
.shadow_control = flask_shadow_control,
.hvm_set_pci_intx_level = flask_hvm_set_pci_intx_level,
.hvm_set_isa_irq_level = flask_hvm_set_isa_irq_level,