|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 11/24] XSM: make certain x86-specific hooks dependent upon PV=y
They're unreachable / dead otherwise.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -640,11 +640,6 @@ static XSM_INLINE int cf_check xsm_platf
}
#ifdef CONFIG_X86
-static XSM_INLINE int cf_check xsm_do_mca(XSM_DEFAULT_VOID)
-{
- XSM_ASSERT_ACTION(XSM_PRIV);
- return xsm_default_action(action, current->domain, NULL);
-}
static XSM_INLINE int cf_check xsm_mem_sharing_op(
XSM_DEFAULT_ARG struct domain *d, struct domain *cd, int op)
@@ -673,6 +668,14 @@ static XSM_INLINE int cf_check xsm_domai
return xsm_default_action(action, current->domain, d);
}
+#ifdef CONFIG_PV
+
+static XSM_INLINE int cf_check xsm_do_mca(XSM_DEFAULT_VOID)
+{
+ XSM_ASSERT_ACTION(XSM_PRIV);
+ return xsm_default_action(action, current->domain, NULL);
+}
+
static XSM_INLINE int cf_check xsm_mmu_update(
XSM_DEFAULT_ARG struct domain *d, struct domain *t, struct domain *f,
uint32_t flags)
@@ -700,6 +703,8 @@ static XSM_INLINE int cf_check xsm_updat
return xsm_default_action(action, d, f);
}
+#endif /* CONFIG_PV */
+
static XSM_INLINE int cf_check xsm_priv_mapping(
XSM_DEFAULT_ARG struct domain *d, struct domain *t)
{
--- a/xen/include/xsm/hooks.h
+++ b/xen/include/xsm/hooks.h
@@ -131,14 +131,16 @@ XSM_HOOK(int, mem_sharing_op, struct dom
XSM_HOOK(int, platform_op, uint32_t)
#ifdef CONFIG_X86
-XSM_HOOK(int, do_mca)
XSM_HOOK(int, apic, struct domain *, int)
XSM_HOOK(int, machine_memory_map)
XSM_HOOK(int, domain_memory_map, struct domain *)
+#ifdef CONFIG_PV
+XSM_HOOK(int, do_mca)
XSM_HOOK(int, mmu_update, struct domain *, struct domain *, struct domain *,
uint32_t)
XSM_HOOK(int, mmuext_op, struct domain *, struct domain *)
XSM_HOOK(int, update_va_mapping, struct domain *, struct domain *,
l1_pgentry_t)
+#endif /* CONFIG_PV */
XSM_HOOK(int, priv_mapping, struct domain *, struct domain *)
XSM_HOOK(int, ioport_permission, struct domain *, uint32_t, uint32_t, uint8_t)
XSM_HOOK(int, ioport_mapping, struct domain *, uint32_t, uint32_t, uint8_t)
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1654,10 +1654,6 @@ static int cf_check flask_platform_op(ui
}
#ifdef CONFIG_X86
-static int cf_check flask_do_mca(void)
-{
- return domain_has_xen(current->domain, XEN__MCA_OP);
-}
static int flask_shadow_control(struct domain *d, unsigned int op)
{
@@ -1783,6 +1779,13 @@ static int cf_check flask_domain_memory_
return current_has_perm(d, SECCLASS_MMU, MMU__MEMORYMAP);
}
+#ifdef CONFIG_PV
+
+static int cf_check flask_do_mca(void)
+{
+ return domain_has_xen(current->domain, XEN__MCA_OP);
+}
+
static int cf_check flask_mmu_update(
struct domain *d, struct domain *t, struct domain *f, uint32_t flags)
{
@@ -1823,6 +1826,8 @@ static int cf_check flask_update_va_mapp
return domain_has_perm(d, f, SECCLASS_MMU, map_perms);
}
+#endif /* CONFIG_PV */
+
static int cf_check flask_priv_mapping(struct domain *d, struct domain *t)
{
return domain_has_perm(d, t, SECCLASS_MMU, MMU__TARGET_HACK);
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |