author: Stefano Stabellini <stefano.stabellini@xilinx.com> 2021-05-12 13:18:21 -0700
committer: Juergen Gross <jgross@suse.com> 2021-05-14 15:52:05 +0200
commit: cb6f6b3384d7825d2a43f2256c5200e3b3956fc8
parent: dbc03e81586fc33e4945263fd6e09e22eb4b980f
Commit Summary:
Diffstat:
1 file changed, 13 insertions, 1 deletion
diff --git a/include/xen/arm/swiotlb-xen.h b/include/xen/arm/swiotlb-xen.h
index 2994fe6031a0..33336ab58afc 100644
--- a/include/xen/arm/swiotlb-xen.h
+++ b/include/xen/arm/swiotlb-xen.h
@@ -2,6 +2,19 @@
#ifndef _ASM_ARM_SWIOTLB_XEN_H
#define _ASM_ARM_SWIOTLB_XEN_H
-extern int xen_swiotlb_detect(void);
+#include <xen/features.h>
+#include <xen/xen.h>
+
+static inline int xen_swiotlb_detect(void)
+{
+ if (!xen_domain())
+ return 0;
+ if (xen_feature(XENFEAT_direct_mapped))
+ return 1;
+ /* legacy case */
+ if (!xen_feature(XENFEAT_not_direct_mapped) && xen_initial_domain())
+ return 1;
+ return 0;
+}
#endif /* _ASM_ARM_SWIOTLB_XEN_H */