[PATCH 02/12] x86/mm: pagetable_dying() is HVM+SHADOW_PAGING only
Jan Beulich <[email protected]>
| Newsgroups | gmane.comp.emulators.xen.devel |
|---|---|
| Message-ID | <[email protected]> |
The referenced commit didn't go far enough, leaving a Misra rule 2.1
(unreachable code) violation: The function lacks "noreturn" in this
configuration. Since with SHADOW_PAGING=n paging_mode_shadow() is compile-
time-constant false, the compiler can DCE the call site. Hence we can
avoid building the function itself altogether.
No functional change.
Fixes: 2fb2dee1ac62 ("x86/mm: pagetable_dying() is HVM-only")
Signed-off-by: Jan Beulich <[email protected]>
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -872,22 +872,18 @@ int paging_enable(struct domain *d, u32
}
#endif
-#ifdef CONFIG_HVM
+#if defined(CONFIG_HVM) && defined(CONFIG_SHADOW_PAGING)
/* Called from the guest to indicate that a process is being torn down
* and therefore its pagetables will soon be discarded */
void pagetable_dying(paddr_t gpa)
{
-#ifdef CONFIG_SHADOW_PAGING
struct vcpu *curr = current;
ASSERT(paging_mode_shadow(curr->domain));
curr->arch.paging.mode->shadow.pagetable_dying(gpa);
-#else
- BUG();
-#endif
}
-#endif /* CONFIG_HVM */
+#endif /* HVM && SHADOW_PAGING */
/* Print paging-assistance info to the console */
void paging_dump_domain_info(struct domain *d)