#ifndef _ASM_KMAP_TYPES_H
#define _ASM_KMAP_TYPES_H
-#include <linux/config.h>
-#include <linux/thread_info.h>
-enum km_type {
- /*
- * IMPORTANT: don't move these 3 entries, be wary when adding entries,
- * the 4G/4G virtual stack must be THREAD_SIZE aligned on each cpu.
- */
- KM_BOUNCE_READ,
- KM_VSTACK_BASE,
- KM_VSTACK_TOP = KM_VSTACK_BASE + STACK_PAGE_COUNT-1,
+#ifdef CONFIG_DEBUG_HIGHMEM
+# define D(n) __KM_FENCE_##n ,
+#else
+# define D(n)
+#endif
- KM_LDT_PAGE15,
- KM_LDT_PAGE0 = KM_LDT_PAGE15 + 16-1,
- KM_USER_COPY,
- KM_VSTACK_HOLE,
- KM_SKB_SUNRPC_DATA,
- KM_SKB_DATA_SOFTIRQ,
- KM_USER0,
- KM_USER1,
- KM_BIO_SRC_IRQ,
- KM_BIO_DST_IRQ,
- KM_PTE0,
- KM_PTE1,
- KM_IRQ0,
- KM_IRQ1,
- KM_SOFTIRQ0,
- KM_SOFTIRQ1,
- KM_NETDUMP,
- KM_UNUSED,
- KM_TYPE_NR,
- KM_DUMP
+enum km_type {
+D(0) KM_BOUNCE_READ,
+D(1) KM_SKB_SUNRPC_DATA,
+D(2) KM_SKB_DATA_SOFTIRQ,
+D(3) KM_USER0,
+D(4) KM_USER1,
+D(5) KM_BIO_SRC_IRQ,
+D(6) KM_BIO_DST_IRQ,
+D(7) KM_PTE0,
+D(8) KM_PTE1,
+D(9) KM_IRQ0,
+D(10) KM_IRQ1,
+D(11) KM_SOFTIRQ0,
+D(12) KM_SOFTIRQ1,
+#ifdef CONFIG_XEN
+D(13) KM_SWIOTLB,
+D(14) KM_TYPE_NR
+#else
+D(13) KM_TYPE_NR
+#endif
};
+#undef D
+
#endif