From: Jan Beulich Date: Mon, 3 May 2021 13:17:19 +0000 (+0200) Subject: x86/p2m: set_{foreign,mmio}_p2m_entry() are HVM-only X-Git-Tag: archive/raspbian/4.16.0+51-g0941d6cb-1+rpi1~2^2~42^2~583 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e7f062e246ad4a4d1baac86fec92fe9fa8aae4d8;p=xen.git 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 Acked-by: Roger Pau Monné --- diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index 3840f167b0..3e356418e1 100644 --- 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 *d, return rc; } +#ifdef CONFIG_HVM + /* * Returns: * 0 for success @@ -1280,7 +1282,10 @@ static int set_typed_p2m_entry(struct domain *d, unsigned long gfn_l, 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 domain *d, unsigned long gfn_l, 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 domain *d, unsigned long gfn_l, 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, gfn_t gfn, mfn_t mfn, 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) {