aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/facilities_src.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/include/asm/facilities_src.h')
-rw-r--r--arch/s390/include/asm/facilities_src.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/arch/s390/include/asm/facilities_src.h b/arch/s390/include/asm/facilities_src.h
new file mode 100644
index 000000000000..4555fa69a29e
--- /dev/null
+++ b/arch/s390/include/asm/facilities_src.h
@@ -0,0 +1,67 @@
+/*
+ * Copyright IBM Corp. 2015
+ */
+
+#ifndef S390_GEN_FACILITIES_C
+#error "This file can only be included by gen_facilities.c"
+#endif
+
+#include <linux/kconfig.h>
+
+struct facility_def {
+ char *name;
+ int *bits;
+};
+
+static struct facility_def facility_defs[] = {
+ {
+ /*
+ * FACILITIES_ALS contains the list of facilities that are
+ * required to run a kernel that is compiled e.g. with
+ * -march=<machine>.
+ */
+ .name = "FACILITIES_ALS",
+ .bits = (int[]){
+#ifdef CONFIG_HAVE_MARCH_Z900_FEATURES
+ 0, /* N3 instructions */
+ 1, /* z/Arch mode installed */
+#endif
+#ifdef CONFIG_HAVE_MARCH_Z990_FEATURES
+ 18, /* long displacement facility */
+#endif
+#ifdef CONFIG_HAVE_MARCH_Z9_109_FEATURES
+ 7, /* stfle */
+ 16, /* extended translation facility 2 */
+ 17, /* message security assist */
+ 20, /* HFP-multiply-and-add */
+ 21, /* extended-immediate facility */
+ 22, /* extended-translation facility 3 */
+ 23, /* HFP-unnormalized-extension */
+ 24, /* ETF2-enhancement */
+ 25, /* store clock fast */
+ 30, /* ETF3-enhancement */
+#endif
+#ifdef CONFIG_HAVE_MARCH_Z10_FEATURES
+ 26, /* parsing enhancement facility */
+ 27, /* mvcos */
+ 32, /* compare and swap and store */
+ 33, /* compare and swap and store 2 */
+ 34, /* general extension facility */
+ 35, /* execute extensions */
+ 41, /* floating point support enhancement */
+ 42, /* DFP facility */
+ 44, /* PFPO */
+#endif
+#ifdef CONFIG_HAVE_MARCH_Z196_FEATURES
+ 37, /* floating point extension */
+ 45, /* fast-BCR, etc. */
+#endif
+#ifdef CONFIG_HAVE_MARCH_ZEC12_FEATURES
+ 48, /* decimal floating point zoned */
+ 49, /* misc-instruction-extensions */
+ 52, /* interlocked facility 2 */
+#endif
+ -1 /* END */
+ }
+ },
+};