|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 01/12] x86/p2m: set_{foreign,mmio}_p2m_entry() are HVM-only
Extend a respective #ifdef from inside set_typed_p2m_entry() to around
all three functions. Add ASSERT_UNREACHABLE() to the latter one's safety
check path.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1260,6 +1260,8 @@ int p2m_finish_type_change(struct domain
return rc;
}
+#ifdef CONFIG_HVM
+
/*
* Returns:
* 0 for success
@@ -1280,7 +1282,10 @@ static int set_typed_p2m_entry(struct do
struct p2m_domain *p2m = p2m_get_hostp2m(d);
if ( !paging_mode_translate(d) )
+ {
+ ASSERT_UNREACHABLE();
return -EIO;
+ }
gfn_lock(p2m, gfn, order);
omfn = p2m->get_entry(p2m, gfn, &ot, &a, 0, &cur_order, NULL);
@@ -1313,7 +1318,6 @@ static int set_typed_p2m_entry(struct do
if ( rc )
gdprintk(XENLOG_ERR, "p2m_set_entry: %#lx:%u -> %d (0x%"PRI_mfn")\n",
gfn_l, order, rc, mfn_x(mfn));
-#ifdef CONFIG_HVM
else if ( p2m_is_pod(ot) )
{
pod_lock(p2m);
@@ -1321,7 +1325,6 @@ static int set_typed_p2m_entry(struct do
BUG_ON(p2m->pod.entry_count < 0);
pod_unlock(p2m);
}
-#endif
gfn_unlock(p2m, gfn, order);
return rc;
@@ -1349,6 +1352,8 @@ int set_mmio_p2m_entry(struct domain *d,
p2m_get_hostp2m(d)->default_access);
}
+#endif /* CONFIG_HVM */
+
int set_identity_p2m_entry(struct domain *d, unsigned long gfn_l,
p2m_access_t p2ma, unsigned int flag)
{
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |