-
Notifications
You must be signed in to change notification settings - Fork 6
/
feat390.h
174 lines (161 loc) · 7.34 KB
/
feat390.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/* FEAT390.H (C) Copyright Jan Jaeger, 2000-2012 */
/* ESA/390 feature definitions */
/* */
/* Released under "The Q Public License Version 1" */
/* (http://www.hercules-390.org/herclic.html) as modifications to */
/* Hercules. */
/*-------------------------------------------------------------------*/
/* This file defines the architectural features which are included */
/* at compilation time for ESA/390 mode */
/*-------------------------------------------------------------------*/
/*********************************************************************/
/*********************************************************************/
/** **/
/** PROGRAMMING NOTE! **/
/** **/
/** This file MUST *NOT* contain any #undef statements! **/
/** **/
/*********************************************************************/
/*********************************************************************/
#if !defined( OPTION_390_MODE )
#define _ARCH_390_NAME ""
#else
#define _ARCH_390_NAME "ESA/390"
/*-------------------------------------------------------------------*/
/* FEATUREs with STFL facility bits defined */
/*-------------------------------------------------------------------*/
#define FEATURE_000_N3_INSTR_FACILITY
//efine FEATURE_001_ZARCH_INSTALLED_FACILITY
//efine FEATURE_002_ZARCH_ACTIVE_FACILITY
//efine FEATURE_003_DAT_ENHANCE_FACILITY_1
//efine FEATURE_004_IDTE_SC_SEGTAB_FACILITY
//efine FEATURE_005_IDTE_SC_REGTAB_FACILITY
//efine FEATURE_006_ASN_LX_REUSE_FACILITY
#define FEATURE_007_STFL_EXTENDED_FACILITY
//efine FEATURE_008_ENHANCED_DAT_FACILITY_1
//efine FEATURE_009_SENSE_RUN_STATUS_FACILITY
//efine FEATURE_010_CONDITIONAL_SSKE_FACILITY
//efine FEATURE_011_CONFIG_TOPOLOGY_FACILITY
//efine FEATURE_013_IPTE_RANGE_FACILITY
#define FEATURE_014_NONQ_KEY_SET_FACILITY
#define FEATURE_016_EXT_TRANSL_FACILITY_2
#define FEATURE_017_MSA_FACILITY
#define DYNINST_017_MSA_FACILITY /* dyncrypt */
//efine FEATURE_018_LONG_DISPL_INST_FACILITY
//efine FEATURE_019_LONG_DISPL_HPERF_FACILITY
#define FEATURE_020_HFP_MULT_ADD_SUB_FACILITY
//efine FEATURE_021_EXTENDED_IMMED_FACILITY
//efine FEATURE_022_EXT_TRANSL_FACILITY_3
//efine FEATURE_023_HFP_UNNORM_EXT_FACILITY
#define FEATURE_024_ETF2_ENHANCEMENT_FACILITY
//efine FEATURE_025_STORE_CLOCK_FAST_FACILITY
//efine FEATURE_026_PARSING_ENHANCE_FACILITY
//efine FEATURE_027_MVCOS_FACILITY
//efine FEATURE_028_TOD_CLOCK_STEER_FACILITY
//efine FEATURE_030_ETF3_ENHANCEMENT_FACILITY
//efine FEATURE_031_EXTRACT_CPU_TIME_FACILITY
/*-------------------------------------------------------------------*/
/* */
/* PROGRAMMING NOTE */
/* */
/* The Principles of Operation (for both z/Arch as well as for */
/* ESA/390) both state quite clearly regarding facility bits: */
/* */
/* "A bit is set to one REGARDLESS of the current architectural */
/* mode (emphasis mine) if its meaning is true. A meaning applies */
/* to the current architectural mode unless it is said to apply */
/* to a specific architectural mode." */
/* */
/* Thus since bit 52 is described as follows: */
/* */
/* 52 "The interlocked-access facility 2 is installed." */
/* */
/* it DOES apply to the ESA/390 architecture too, since it lacks */
/* the key phrase "...in the z/Architecture architectural mode." */
/* */
/*-------------------------------------------------------------------*/
#if CAN_IAF2 != IAF2_ATOMICS_UNAVAILABLE
#define FEATURE_052_INTERLOCKED_ACCESS_FACILITY_2
#endif
/*-------------------------------------------------------------------*/
/* FEATUREs that DON'T have any facility bits defined */
/*-------------------------------------------------------------------*/
#define FEATURE_4K_STORAGE_KEYS
#define FEATURE_ACCESS_REGISTERS
#define FEATURE_ADDRESS_LIMIT_CHECKING
#define FEATURE_BASIC_FP_EXTENSIONS
#define FEATURE_BIMODAL_ADDRESSING
#define FEATURE_BINARY_FLOATING_POINT
#define FEATURE_BRANCH_AND_SET_AUTHORITY
#define FEATURE_BROADCASTED_PURGING
#define FEATURE_CALLED_SPACE_IDENTIFICATION
#define FEATURE_CANCEL_IO_FACILITY
#define FEATURE_CHANNEL_SUBSYSTEM
//#define FEATURE_CHANNEL_SWITCHING
#define FEATURE_CHECKSUM_INSTRUCTION
#define FEATURE_CHSC
#define FEATURE_COMPARE_AND_MOVE_EXTENDED
#define FEATURE_CMPSC
#define FEATURE_CPU_RECONFIG
#define FEATURE_DUAL_ADDRESS_SPACE
#define FEATURE_EMULATE_VM
#define FEATURE_EXPANDED_STORAGE
#define FEATURE_EXPEDITED_SIE_SUBSET
#define FEATURE_EXTENDED_STORAGE_KEYS
#define FEATURE_EXTENDED_TOD_CLOCK
#define FEATURE_EXTENDED_TRANSLATION_FACILITY_1
#define FEATURE_EXTERNAL_INTERRUPT_ASSIST
#define FEATURE_FAST_SYNC_DATA_MOVER
#define FEATURE_FETCH_PROTECTION_OVERRIDE
#define FEATURE_FPS_EXTENSIONS
#define FEATURE_HARDWARE_LOADER
#define FEATURE_HERCULES_DIAGCALLS
#define FEATURE_HEXADECIMAL_FLOATING_POINT
#define FEATURE_HFP_EXTENSIONS
#define FEATURE_HOST_RESOURCE_ACCESS_FACILITY
#define FEATURE_HYPERVISOR
#define FEATURE_IMMEDIATE_AND_RELATIVE
#define FEATURE_INCORRECT_LENGTH_INDICATION_SUPPRESSION
#define FEATURE_INTEGRATED_3270_CONSOLE
//efine FEATURE_INTEGRATED_ASCII_CONSOLE
#define FEATURE_IO_ASSIST
#define FEATURE_LINKAGE_STACK
#define FEATURE_LOCK_PAGE
#define FEATURE_MSA_EXTENSION_FACILITY_1
#define FEATURE_MSA_EXTENSION_FACILITY_2
#define FEATURE_MOVE_PAGE_FACILITY_2
#define FEATURE_MPF_INFO
#define FEATURE_MSSF_CALL
#define FEATURE_MULTIPLE_CONTROLLED_DATA_SPACE
#define FEATURE_MVS_ASSIST
#define FEATURE_PAGE_PROTECTION
#define FEATURE_PER
#define FEATURE_PER2
#define FEATURE_PERFORM_LOCKED_OPERATION
#define FEATURE_PRIVATE_SPACE
#define FEATURE_PROTECTION_INTERCEPTION_CONTROL
#define FEATURE_QUEUED_DIRECT_IO
#define FEATURE_REGION_RELOCATE
#define FEATURE_RESUME_PROGRAM
//#define FEATURE_S370_CHANNEL
//#define FEATURE_S370_S390_VECTOR_FACILITY /* INCOMPLETE */
#define FEATURE_S390_DAT
#define FEATURE_SCEDIO
#define FEATURE_SCSI_IPL
#define FEATURE_SERVICE_PROCESSOR
#define FEATURE_SET_ADDRESS_SPACE_CONTROL_FAST
#define FEATURE_SIE
#define FEATURE_SQUARE_ROOT
#define FEATURE_STORAGE_KEY_ASSIST
#define FEATURE_STORAGE_PROTECTION_OVERRIDE
#define FEATURE_STORE_SYSTEM_INFORMATION
#define FEATURE_STRING_INSTRUCTION
#define FEATURE_SUBSPACE_GROUP
#define FEATURE_SUPPRESSION_ON_PROTECTION
#define FEATURE_SYSTEM_CONSOLE
#define FEATURE_TEST_BLOCK
#define FEATURE_TRACING
#define FEATURE_VM_BLOCKIO
#define FEATURE_WAITSTATE_ASSIST
#endif /*defined(OPTION_390_MODE)*/
/* end of FEAT390.H */