facilities_src.h 2.0 KB

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