]> xenbits.xensource.com Git - xen.git/commitdiff
x86/acpi: separate AMD-Vi and VT-d specific functions
authorXenia Ragiadakou <burzalodowa@gmail.com>
Fri, 20 Jan 2023 08:22:42 +0000 (09:22 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 20 Jan 2023 08:22:42 +0000 (09:22 +0100)
The functions acpi_dmar_init() and acpi_dmar_zap/reinstate() are
VT-d specific while the function acpi_ivrs_init() is AMD-Vi specific.
To eliminate dead code, they need to be guarded under CONFIG_INTEL_IOMMU
and CONFIG_AMD_IOMMU, respectively.

Instead of adding #ifdef guards around the function calls, implement them
as empty static inline functions.

Take the opportunity to move the declaration of acpi_dmar_init from the
x86 arch-specific header to the common header, since Intel VT-d has been
also used on IA-64 platforms.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/include/asm/acpi.h
xen/include/xen/acpi.h

index c453450a74da8bd16ec707181ebdde89ca6fcd7c..6ce79ce465b45b336138786a4fa8694e2c029b44 100644 (file)
@@ -140,8 +140,12 @@ extern u32 pmtmr_ioport;
 extern unsigned int pmtmr_width;
 
 void acpi_iommu_init(void);
-int acpi_dmar_init(void);
+
+#ifdef CONFIG_AMD_IOMMU
 int acpi_ivrs_init(void);
+#else
+static inline int acpi_ivrs_init(void) { return -ENODEV; }
+#endif
 
 void acpi_mmcfg_init(void);
 
index 1b9c75e68fc48a1f010ef3a197c9d9cdc2b05a26..352f27f6a72396ada2dc30c6374d766614c2094f 100644 (file)
@@ -206,8 +206,15 @@ static inline int acpi_get_pxm(acpi_handle handle)
 
 void acpi_reboot(void);
 
+#ifdef CONFIG_INTEL_IOMMU
+int acpi_dmar_init(void);
 void acpi_dmar_zap(void);
 void acpi_dmar_reinstate(void);
+#else
+static inline int acpi_dmar_init(void) { return -ENODEV; }
+static inline void acpi_dmar_zap(void) {}
+static inline void acpi_dmar_reinstate(void) {}
+#endif
 
 #endif /* __ASSEMBLY__ */