at v4.9 82 lines 2.0 kB view raw
1/* 2 * Copyright IBM Corp. 2015 3 */ 4 5#ifndef S390_GEN_FACILITIES_C 6#error "This file can only be included by gen_facilities.c" 7#endif 8 9#include <linux/kconfig.h> 10 11struct facility_def { 12 char *name; 13 int *bits; 14}; 15 16static struct facility_def facility_defs[] = { 17 { 18 /* 19 * FACILITIES_ALS contains the list of facilities that are 20 * required to run a kernel that is compiled e.g. with 21 * -march=<machine>. 22 */ 23 .name = "FACILITIES_ALS", 24 .bits = (int[]){ 25#ifdef CONFIG_HAVE_MARCH_Z900_FEATURES 26 0, /* N3 instructions */ 27 1, /* z/Arch mode installed */ 28#endif 29#ifdef CONFIG_HAVE_MARCH_Z990_FEATURES 30 18, /* long displacement facility */ 31#endif 32#ifdef CONFIG_HAVE_MARCH_Z9_109_FEATURES 33 7, /* stfle */ 34 17, /* message security assist */ 35 21, /* extended-immediate facility */ 36 25, /* store clock fast */ 37#endif 38#ifdef CONFIG_HAVE_MARCH_Z10_FEATURES 39 27, /* mvcos */ 40 32, /* compare and swap and store */ 41 33, /* compare and swap and store 2 */ 42 34, /* general extension facility */ 43 35, /* execute extensions */ 44#endif 45#ifdef CONFIG_HAVE_MARCH_Z196_FEATURES 46 45, /* fast-BCR, etc. */ 47#endif 48#ifdef CONFIG_HAVE_MARCH_ZEC12_FEATURES 49 49, /* misc-instruction-extensions */ 50 52, /* interlocked facility 2 */ 51#endif 52#ifdef CONFIG_HAVE_MARCH_Z13_FEATURES 53 53, /* load-and-zero-rightmost-byte, etc. */ 54#endif 55 -1 /* END */ 56 } 57 }, 58 { 59 .name = "FACILITIES_KVM", 60 .bits = (int[]){ 61 0, /* N3 instructions */ 62 1, /* z/Arch mode installed */ 63 2, /* z/Arch mode active */ 64 3, /* DAT-enhancement */ 65 4, /* idte segment table */ 66 5, /* idte region table */ 67 6, /* ASN-and-LX reuse */ 68 7, /* stfle */ 69 8, /* enhanced-DAT 1 */ 70 9, /* sense-running-status */ 71 10, /* conditional sske */ 72 13, /* ipte-range */ 73 14, /* nonquiescing key-setting */ 74 73, /* transactional execution */ 75 75, /* access-exception-fetch/store indication */ 76 76, /* msa extension 3 */ 77 77, /* msa extension 4 */ 78 78, /* enhanced-DAT 2 */ 79 -1 /* END */ 80 } 81 }, 82};