1 /* FEATALL.H    (c) Copyright Jan Jaeger, 2000-2009                  */
2 /*              Architecture-dependent macro definitions             */
3 
4 /*-------------------------------------------------------------------*/
5 /* Default features                                                  */
6 /*   All existing features MUST be #undef-ed here.                   */
7 /*-------------------------------------------------------------------*/
8 #define OPTION_370_MODE                 /* Generate S/370 support    */
9 #define OPTION_390_MODE                 /* Generate ESA/390 support  */
10 #define OPTION_900_MODE                 /* Generate ESAME support    */
11 #define OPTION_LPP_RESTRICT             /* Disable Licensed Software */
12 #define OPTION_SMP                      /* Enable SMP support        */
13 #define VECTOR_SECTION_SIZE         128 /* Vector section size       */
14 #define VECTOR_PARTIAL_SUM_NUMBER     1 /* Vector partial sum number */
15 #define CKD_MAXFILES                 27 /* Max files per CKD volume  */
16 #define OPTION_MIPS_COUNTING            /* Display MIPS on ctl panel */
17 #define PANEL_REFRESH_RATE              /* Enable panrate feature    */
18 #define PANEL_REFRESH_RATE_FAST      50 /* Fast refresh rate         */
19 #define PANEL_REFRESH_RATE_SLOW     500 /* Slow refresh rate         */
20 #define DEFAULT_TIMER_REFRESH_USECS  50 /* Default timer refresh int */
21 #define MAX_DEVICE_THREAD_IDLE_SECS 300 /* 5 Minute thread timeout   */
22 #undef  OPTION_NO_INLINE_DAT            /* Performance option        */
23 #undef  OPTION_NO_INLINE_LOGICAL        /* Performance option        */
24 #undef  OPTION_NO_INLINE_VSTORE         /* Performance option        */
25 #undef  OPTION_NO_INLINE_IFETCH         /* Performance option        */
26 #define OPTION_MULTI_BYTE_ASSIST        /* Performance option        */
27 #define OPTION_SINGLE_CPU_DW            /* Performance option (ia32) */
28 #define OPTION_FAST_DEVLOOKUP           /* Fast devnum/subchan lookup*/
29 #define OPTION_IODELAY_KLUDGE           /* IODELAY kludge for linux  */
30 #undef  OPTION_FOOTPRINT_BUFFER /* 2048 ** Size must be a power of 2 */
31 #undef  OPTION_INSTRUCTION_COUNTING     /* First use trace and count */
32 #define OPTION_CKD_KEY_TRACING          /* Trace CKD search keys     */
33 #undef  OPTION_CMPSC_DEBUGLVL      /* 3 ** 1=Exp 2=Comp 3=Both debug */
34 #undef  MODEL_DEPENDENT_STCM            /* STCM, STCMH always store  */
35 #define OPTION_NOP_MODEL158_DIAGNOSE    /* NOP mod 158 specific diags*/
36 #define FEATURE_ALD_FORMAT            0 /* Use fmt0 Access-lists     */
37 #define FEATURE_SIE_MAXZONES          8 /* Maximum SIE Zones         */
38 #define FEATURE_LCSS_MAX              4 /* Number of supported lcss's*/
39 // #define SIE_DEBUG_PERFMON            /* SIE performance monitor   */
40 #define OPTION_LPARNAME                 /* DIAG 204 lparname         */
41 #define OPTION_HTTP_SERVER              /* HTTP server support       */
42 #define OPTION_WAKEUP_SELECT_VIA_PIPE   /* Use communication pipes to
43                                            interrupt selects instead
44                                            of inter-thread signaling */
45 #define OPTION_TIMESTAMP_LOGFILE        /* Hardcopy logfile HH:MM:SS */
46 #define OPTION_IPLPARM                  /* IPL PARM a la VM          */
47 #define OPTION_PTTRACE                  /* Pthreads tracing          */
48 //#define OPTION_DEBUG_MESSAGES         /* Prefix msgs with filename
49 //                                         and line# if DEBUG build  */
50 #define OPTION_SET_STSI_INFO            /* Set STSI info in cfg file */
51 
52 #define OPTION_TAPE_AUTOMOUNT           /* "Automount" CCWs support  */
53 #define OPTION_CMDTGT                   /* the cmdtgt command        */
54 #define OPTION_MSGCLR                   /* Colored messages          */
55 #define OPTION_MSGHLD                   /* Sticky messages           */
56 
57 #if defined(OPTION_MSGHLD) && !defined(OPTION_MSGCLR)
58   #error OPTION_MSGHLD requires OPTION_MSGCLR
59 #endif // defined(OPTION_MSGHLD) && !defined(OPTION_MSGCLR)
60 
61 #if (CKD_MAXFILES > 35)
62   #error CKD_MAXFILES can not exceed design limit of 35
63 #endif
64 /*********************************************************************\
65  *********************************************************************
66  **                                                                 **
67  **                    ***   NOTE!   ***                            **
68  **                                                                 **
69  **    All HOST-operating-system-specific FEATUREs and OPTIONs      **
70  **    should be #defined in the below header (and ONLY in the      **
71  **    below header!) Please read the comments there!               **
72  **                                                                 **
73  *********************************************************************
74 \*********************************************************************/
75 
76 #include "hostopts.h"     // (HOST-specific options/feature settings)
77 
78 // (allow for compiler command-line overrides...)
79 #if defined(OPTION_370_MODE) && defined(NO_370_MODE)
80   #undef    OPTION_370_MODE
81 #endif
82 #if defined(OPTION_390_MODE) && defined(NO_390_MODE)
83   #undef    OPTION_390_MODE
84 #endif
85 #if defined(OPTION_900_MODE) && defined(NO_900_MODE)
86   #undef    OPTION_900_MODE
87 #endif
88 
89 #undef FEATURE_4K_STORAGE_KEYS
90 #undef FEATURE_2K_STORAGE_KEYS
91 #undef FEATURE_ACCESS_EXCEPTION_FETCH_STORE_INDICATION          /*810*/
92 #undef FEATURE_ACCESS_REGISTERS
93 #undef FEATURE_ADDRESS_LIMIT_CHECKING
94 #undef FEATURE_ASN_AND_LX_REUSE
95 #undef FEATURE_BASIC_FP_EXTENSIONS
96 #undef FEATURE_BASIC_STORAGE_KEYS
97 #undef FEATURE_BCMODE
98 #undef FEATURE_BIMODAL_ADDRESSING
99 #undef FEATURE_BINARY_FLOATING_POINT
100 #undef FEATURE_BRANCH_AND_SET_AUTHORITY
101 #undef FEATURE_BROADCASTED_PURGING
102 #undef FEATURE_CALLED_SPACE_IDENTIFICATION
103 #undef FEATURE_CANCEL_IO_FACILITY
104 #undef FEATURE_CHANNEL_SUBSYSTEM
105 #undef FEATURE_CHANNEL_SWITCHING
106 #undef FEATURE_CHECKSUM_INSTRUCTION
107 #undef FEATURE_CHSC
108 #undef FEATURE_COMPARE_AND_MOVE_EXTENDED
109 #undef FEATURE_COMPARE_AND_SWAP_AND_STORE                       /*407*/
110 #undef FEATURE_COMPARE_AND_SWAP_AND_STORE_FACILITY_2            /*208*/
111 #undef FEATURE_COMPRESSION
112 #undef FEATURE_CONDITIONAL_SSKE                                 /*407*/
113 #undef FEATURE_CONFIGURATION_TOPOLOGY_FACILITY                  /*208*/
114 #undef FEATURE_CPU_MEASUREMENT_COUNTER_FACILITY
115 #undef FEATURE_CPU_MEASUREMENT_SAMPLING_FACILITY
116 #undef FEATURE_CPU_RECONFIG
117 #undef FEATURE_DAT_ENHANCEMENT
118 #undef FEATURE_DAT_ENHANCEMENT_FACILITY_2                       /*@Z9*/
119 #undef FEATURE_DECIMAL_FLOATING_POINT                           /*DFP*/
120 #undef FEATURE_DFP_ZONED_CONVERSION_FACILITY                    /*912*/
121 #undef FEATURE_DISTINCT_OPERANDS_FACILITY                       /*810*/
122 #undef FEATURE_DUAL_ADDRESS_SPACE
123 #undef FEATURE_ECPSVM
124 #undef FEATURE_EMULATE_VM
125 #undef FEATURE_ENHANCED_DAT_FACILITY                            /*208*/
126 #undef FEATURE_ENHANCED_DAT_FACILITY_2                          /*912*/
127 #undef FEATURE_ENHANCED_MONITOR_FACILITY                        /*810*/
128 #undef FEATURE_ENHANCED_SUPPRESSION_ON_PROTECTION               /*208*/
129 #undef FEATURE_ESAME
130 #undef FEATURE_ESAME_N3_ESA390
131 #undef FEATURE_ETF2_ENHANCEMENT                                 /*@Z9*/
132 #undef FEATURE_ETF3_ENHANCEMENT                                 /*@Z9*/
133 #undef FEATURE_EXECUTE_EXTENSIONS_FACILITY                      /*208*/
134 #undef FEATURE_EXECUTION_HINT_FACILITY                          /*912*/
135 #undef FEATURE_EXPANDED_STORAGE
136 #undef FEATURE_EXPEDITED_SIE_SUBSET
137 #undef FEATURE_EXTENDED_DIAG204
138 #undef FEATURE_EXTENDED_IMMEDIATE                               /*@Z9*/
139 #undef FEATURE_EXTENDED_STORAGE_KEYS
140 #undef FEATURE_EXTENDED_TOD_CLOCK
141 #undef FEATURE_EXTENDED_TRANSLATION
142 #undef FEATURE_EXTENDED_TRANSLATION_FACILITY_2
143 #undef FEATURE_EXTENDED_TRANSLATION_FACILITY_3
144 #undef FEATURE_EXTERNAL_INTERRUPT_ASSIST
145 #undef FEATURE_EXTRACT_CPU_TIME                                 /*407*/
146 #undef FEATURE_FAST_BCR_SERIALIZATION_FACILITY                  /*810*/
147 #undef FEATURE_FAST_SYNC_DATA_MOVER
148 #undef FEATURE_FETCH_PROTECTION_OVERRIDE
149 #undef FEATURE_FLOATING_POINT_EXTENSION_FACILITY                /*810*/
150 #undef FEATURE_FPS_ENHANCEMENT                                  /*DFP*/
151 #undef FEATURE_FPS_EXTENSIONS
152 #undef FEATURE_GENERAL_INSTRUCTIONS_EXTENSION_FACILITY
153 #undef FEATURE_HERCULES_DIAGCALLS
154 #undef FEATURE_HEXADECIMAL_FLOATING_POINT
155 #undef FEATURE_HFP_EXTENSIONS
156 #undef FEATURE_HFP_MULTIPLY_ADD_SUBTRACT
157 #undef FEATURE_HFP_UNNORMALIZED_EXTENSION                       /*@Z9*/
158 #undef FEATURE_HIGH_WORD_FACILITY                               /*810*/
159 #undef FEATURE_HYPERVISOR
160 #undef FEATURE_IEEE_EXCEPTION_SIMULATION                        /*407*/
161 #undef FEATURE_IMMEDIATE_AND_RELATIVE
162 #undef FEATURE_INCORRECT_LENGTH_INDICATION_SUPPRESSION
163 #undef FEATURE_INTEGRATED_3270_CONSOLE
164 #undef FEATURE_INTEGRATED_ASCII_CONSOLE
165 #undef FEATURE_INTERLOCKED_ACCESS_FACILITY                      /*810*/
166 #undef FEATURE_INTERLOCKED_ACCESS_FACILITY_2                    /*912*/
167 #undef FEATURE_INTERPRETIVE_EXECUTION
168 #undef FEATURE_INTERVAL_TIMER
169 #undef FEATURE_IPTE_RANGE_FACILITY                              /*810*/
170 #undef FEATURE_IO_ASSIST
171 #undef FEATURE_LINKAGE_STACK
172 #undef FEATURE_LOAD_AND_TRAP_FACILITY                           /*912*/
173 #undef FEATURE_LOAD_PROGRAM_PARAMETER_FACILITY
174 #undef FEATURE_LOAD_REVERSED
175 #undef FEATURE_LOAD_STORE_ON_CONDITION_FACILITY                 /*810*/
176 #undef FEATURE_LOCAL_TLB_CLEARING_FACILITY                      /*912*/
177 #undef FEATURE_LOCK_PAGE
178 #undef FEATURE_LONG_DISPLACEMENT
179 #undef FEATURE_MESSAGE_SECURITY_ASSIST
180 #undef FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_1              /*@Z9*/
181 #undef FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_2
182 #undef FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_3              /*810*/
183 #undef FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_4              /*810*/
184 #undef FEATURE_MIDAW                                            /*@Z9*/
185 #undef FEATURE_MISC_INSTRUCTION_EXTENSIONS_FACILITY             /*912*/
186 #undef FEATURE_MOVE_PAGE_FACILITY_2
187 #undef FEATURE_MOVE_WITH_OPTIONAL_SPECIFICATIONS                /*208*/
188 #undef FEATURE_MPF_INFO
189 #undef FEATURE_MSSF_CALL
190 #undef FEATURE_MULTIPLE_CONTROLLED_DATA_SPACE
191 #undef FEATURE_MVS_ASSIST
192 #undef FEATURE_NONQUIESCING_KEY_SETTING_FACILITY                /*810*/
193 #undef FEATURE_PAGE_PROTECTION
194 #undef FEATURE_PARSING_ENHANCEMENT_FACILITY                     /*208*/
195 #undef FEATURE_PERFORM_LOCKED_OPERATION
196 #undef FEATURE_PER
197 #undef FEATURE_PER2
198 #undef FEATURE_PER3                                             /*@Z9*/
199 #undef FEATURE_PER_ZERO_ADDRESS_DETECTION_FACILITY              /*912*/
200 #undef FEATURE_PFPO                                             /*407*/
201 #undef FEATURE_POPULATION_COUNT_FACILITY                        /*810*/
202 #undef FEATURE_PRIVATE_SPACE
203 #undef FEATURE_PROCESSOR_ASSIST_FACILITY                        /*912*/
204 #undef FEATURE_PROGRAM_DIRECTED_REIPL                           /*@Z9*/
205 #undef FEATURE_PROTECTION_INTERCEPTION_CONTROL
206 #undef FEATURE_QUEUED_DIRECT_IO
207 #undef FEATURE_REGION_RELOCATE
208 #undef FEATURE_RESET_REFERENCE_BITS_MULTIPLE_FACILITY           /*810*/
209 #undef FEATURE_RESTORE_SUBCHANNEL_FACILITY                      /*208*/
210 #undef FEATURE_RESUME_PROGRAM
211 #undef FEATURE_SCEDIO
212 #undef FEATURE_S370_CHANNEL
213 #undef FEATURE_S390_DAT
214 #undef FEATURE_S370E_EXTENDED_ADDRESSING
215 #undef FEATURE_SEGMENT_PROTECTION
216 #undef FEATURE_SENSE_RUNNING_STATUS                             /*@Z9*/
217 #undef FEATURE_SERVICE_PROCESSOR
218 #undef FEATURE_SET_ADDRESS_SPACE_CONTROL_FAST
219 #undef FEATURE_SQUARE_ROOT
220 #undef FEATURE_STORAGE_KEY_ASSIST
221 #undef FEATURE_STORAGE_PROTECTION_OVERRIDE
222 #undef FEATURE_STORE_CLOCK_FAST                                 /*@Z9*/
223 #undef FEATURE_STORE_FACILITY_LIST
224 #undef FEATURE_STORE_FACILITY_LIST_EXTENDED                     /*@Z9*/
225 #undef FEATURE_STORE_SYSTEM_INFORMATION
226 #undef FEATURE_STRING_INSTRUCTION
227 #undef FEATURE_SUBSPACE_GROUP
228 #undef FEATURE_SUPPRESSION_ON_PROTECTION
229 #undef FEATURE_SYSTEM_CONSOLE
230 #undef FEATURE_TEST_BLOCK
231 #undef FEATURE_TOD_CLOCK_STEERING                               /*@Z9*/
232 #undef FEATURE_TRACING
233 #undef FEATURE_TRANSACTIONAL_EXECUTION_FACILITY                 /*912*/
234 #undef FEATURE_VECTOR_FACILITY
235 #undef FEATURE_VM_BLOCKIO
236 #undef FEATURE_WAITSTATE_ASSIST
237 #undef FEATURE_WARNING_TRACK_INTERRUPTION_FACILITY              /*912*/
238 
239 /* end of FEATALL.H */
240