diff mbox series

[7/8] xen/mm: Exclude flushtlb.h from mm.h for ARM

Message ID 20250312174513.4075066-9-andrew.cooper3@citrix.com (mailing list archive)
State New
Headers show
Series xen: Untangle mm.h | expand

Commit Message

Andrew Cooper March 12, 2025, 5:45 p.m. UTC
A number of files pick up flushtlb.h transitively through mm.h, while the
flushtlb.h hierachy themselves aren't even self-sufficient.

Address all of these, and exclude flushtlb.h from mm.h

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@vates.tech>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
CC: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/arm/include/asm/arm32/flushtlb.h | 2 ++
 xen/arch/arm/include/asm/arm64/flushtlb.h | 2 ++
 xen/arch/arm/include/asm/fixmap.h         | 2 ++
 xen/arch/arm/include/asm/pmap.h           | 1 +
 xen/arch/arm/mmu/domain_page.c            | 2 ++
 xen/arch/arm/mmu/pt.c                     | 1 +
 xen/arch/arm/mmu/setup.c                  | 1 +
 xen/arch/arm/traps.c                      | 1 +
 xen/include/xen/mm.h                      | 2 +-
 9 files changed, 13 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/xen/arch/arm/include/asm/arm32/flushtlb.h b/xen/arch/arm/include/asm/arm32/flushtlb.h
index 61c25a318998..510eb649a5c6 100644
--- a/xen/arch/arm/include/asm/arm32/flushtlb.h
+++ b/xen/arch/arm/include/asm/arm32/flushtlb.h
@@ -1,6 +1,8 @@ 
 #ifndef __ASM_ARM_ARM32_FLUSHTLB_H__
 #define __ASM_ARM_ARM32_FLUSHTLB_H__
 
+#include <asm/arm32/sysregs.h>
+
 /*
  * Every invalidation operation use the following patterns:
  *
diff --git a/xen/arch/arm/include/asm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
index 45642201d147..b98c8d14a78f 100644
--- a/xen/arch/arm/include/asm/arm64/flushtlb.h
+++ b/xen/arch/arm/include/asm/arm64/flushtlb.h
@@ -1,6 +1,8 @@ 
 #ifndef __ASM_ARM_ARM64_FLUSHTLB_H__
 #define __ASM_ARM_ARM64_FLUSHTLB_H__
 
+#include <asm/alternative.h>
+
 /*
  * Every invalidation operation use the following patterns:
  *
diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/asm/fixmap.h
index 0cb5d54d1c74..68d82d3d4ea2 100644
--- a/xen/arch/arm/include/asm/fixmap.h
+++ b/xen/arch/arm/include/asm/fixmap.h
@@ -22,6 +22,8 @@ 
 
 #ifndef __ASSEMBLY__
 
+#include <asm/lpae.h>
+
 /*
  * Direct access to xen_fixmap[] should only happen when {set,
  * clear}_fixmap() is unusable (e.g. where we would end up to
diff --git a/xen/arch/arm/include/asm/pmap.h b/xen/arch/arm/include/asm/pmap.h
index bca3381796f3..1162e8a6e4d2 100644
--- a/xen/arch/arm/include/asm/pmap.h
+++ b/xen/arch/arm/include/asm/pmap.h
@@ -4,6 +4,7 @@ 
 #include <xen/mm.h>
 
 #include <asm/fixmap.h>
+#include <asm/flushtlb.h>
 
 static inline void arch_pmap_map(unsigned int slot, mfn_t mfn)
 {
diff --git a/xen/arch/arm/mmu/domain_page.c b/xen/arch/arm/mmu/domain_page.c
index 3a43601623f0..850214925a3b 100644
--- a/xen/arch/arm/mmu/domain_page.c
+++ b/xen/arch/arm/mmu/domain_page.c
@@ -3,6 +3,8 @@ 
 #include <xen/pmap.h>
 #include <xen/vmap.h>
 
+#include <asm/flushtlb.h>
+
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index da28d669e796..16c73da853e6 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -13,6 +13,7 @@ 
 
 #include <asm/current.h>
 #include <asm/fixmap.h>
+#include <asm/flushtlb.h>
 
 #ifdef NDEBUG
 static inline void
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index f6119ccacf15..64a06e30e8fb 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -13,6 +13,7 @@ 
 #include <xen/vmap.h>
 
 #include <asm/fixmap.h>
+#include <asm/flushtlb.h>
 #include <asm/setup.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 445e7378dd79..52f267fb11f8 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -34,6 +34,7 @@ 
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
 #include <asm/event.h>
+#include <asm/flushtlb.h>
 #include <asm/hsr.h>
 #include <asm/mem_access.h>
 #include <asm/mmio.h>
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 154e649db9e4..27e420e302d8 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -587,7 +587,7 @@  void destroy_ring_for_helper(void **_va, struct page_info *page);
 /* Return the upper bound of MFNs, including hotplug memory. */
 unsigned long get_upper_mfn_bound(void);
 
-#if defined(CONFIG_X86) || defined(CONFIG_ARM)
+#if defined(CONFIG_X86)
 #include <asm/flushtlb.h>
 #endif