From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>,
"Wei Liu" <wl@xen.org>, "Roger Pau Monné" <roger.pau@citrix.com>,
"George Dunlap" <george.dunlap@citrix.com>
Subject: [PATCH] x86/p2m: please Clang after making certain parts HVM-only
Date: Wed, 5 May 2021 09:07:30 +0200 [thread overview]
Message-ID: <cfac6284-d4ec-af2f-6be4-c114c7c10009@suse.com> (raw)
Move a few #ifdef-s, to account for diagnostics like
p2m.c:549:1: error: non-void function does not return a value in all control paths [-Werror,-Wreturn-type]
which appear despite paging_mode_translate() resolving to constant
"false" when !HVM. All of the affected functions are intended to become
fully HVM-only anyway, with their non-translated stub handling split off
elsewhere.
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Fixes: 8d012d3ddffc ("x86/p2m: {get,set}_entry hooks and p2m-pt.c are HVM-only")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -497,21 +497,23 @@ mfn_t __get_gfn_type_access(struct p2m_d
#ifdef CONFIG_HVM
mfn_t mfn;
gfn_t gfn = _gfn(gfn_l);
-#endif
-
- /* Unshare makes no sense withuot populate. */
- if ( q & P2M_UNSHARE )
- q |= P2M_ALLOC;
if ( !p2m || !paging_mode_translate(p2m->domain) )
{
- /* Not necessarily true, but for non-translated guests, we claim
- * it's the most generic kind of memory */
+#endif
+ /*
+ * Not necessarily true, but for non-translated guests we claim
+ * it's the most generic kind of memory.
+ */
*t = p2m_ram_rw;
return _mfn(gfn_l);
+#ifdef CONFIG_HVM
}
-#ifdef CONFIG_HVM
+ /* Unshare makes no sense without populate. */
+ if ( q & P2M_UNSHARE )
+ q |= P2M_ALLOC;
+
if ( locked )
/* Grab the lock here, don't release until put_gfn */
gfn_lock(p2m, gfn, 0);
@@ -1417,18 +1419,18 @@ int set_identity_p2m_entry(struct domain
mfn_t mfn;
struct p2m_domain *p2m = p2m_get_hostp2m(d);
int ret;
-#endif
if ( !paging_mode_translate(d) )
{
+#endif
if ( !is_iommu_enabled(d) )
return 0;
return iommu_legacy_map(d, _dfn(gfn_l), _mfn(gfn_l),
1ul << PAGE_ORDER_4K,
IOMMUF_readable | IOMMUF_writable);
+#ifdef CONFIG_HVM
}
-#ifdef CONFIG_HVM
gfn_lock(p2m, gfn, 0);
mfn = p2m->get_entry(p2m, gfn, &p2mt, &a, 0, NULL, NULL);
@@ -1464,16 +1466,16 @@ int clear_identity_p2m_entry(struct doma
mfn_t mfn;
struct p2m_domain *p2m = p2m_get_hostp2m(d);
int ret;
-#endif
if ( !paging_mode_translate(d) )
{
+#endif
if ( !is_iommu_enabled(d) )
return 0;
return iommu_legacy_unmap(d, _dfn(gfn_l), 1ul << PAGE_ORDER_4K);
+#ifdef CONFIG_HVM
}
-#ifdef CONFIG_HVM
gfn_lock(p2m, gfn, 0);
mfn = p2m->get_entry(p2m, gfn, &p2mt, &a, 0, NULL, NULL);
next reply other threads:[~2021-05-05 7:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-05 7:07 Jan Beulich [this message]
2021-05-05 8:01 ` [PATCH] x86/p2m: please Clang after making certain parts HVM-only Roger Pau Monné
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cfac6284-d4ec-af2f-6be4-c114c7c10009@suse.com \
--to=jbeulich@suse.com \
--cc=andrew.cooper3@citrix.com \
--cc=george.dunlap@citrix.com \
--cc=roger.pau@citrix.com \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).