Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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};