forked from hercules-390/html
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hercconf.html
4530 lines (3957 loc) · 192 KB
/
hercconf.html
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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
<html>
<head><title>
Hercules Version 4: Configuration File</title>
<link rel="Stylesheet" type="text/css" href="hercules.css"/>
</head>
<body bgcolor="#ffffcc" text="#000000" link="#0000A0"
vlink="#008040" alink="#000000">
<h1>Hercules Version 4: Configuration File</h1>
<p>
This page describes the configuration file for the Hercules S/370,
ESA/390, and z/Architecture emulator.
<p>
The configuration file <b><i>hercules.cnf</b></i> contains the
processor and device layout. It is roughly equivalent to the IOCDS on
a real System/390. The configuration file is an ASCII text file.
<h3>Example configuration file</h3>
<p>
<i>
<blockquote>
<b>Please note</b> that the below example configuration file should
<u>not</u> be considered a good example of how an actual configuration
file should look! It is only meant to illustrate what some of the supported
configuration file statements look like and how they are used.
</blockquote>
</i>
<p><br>
<center>
<table border=1><tr><td>
<pre><code>
####################################################################
# HERCULES EMULATOR CONTROL FILE #
# (Note: not all parameters are shown) #
####################################################################
#------------------------------------------------------------------
# <a href="#system_parameters">SYSTEM PARAMETERS</a>
#------------------------------------------------------------------
<a href="#ARCHLVL">##ARCHMODE</a> ESA/390 (deprecated)
<a href="#ASN_AND_LX_REUSE">##ASN_AND_LX_REUSE</a> disable (deprecated)
<a href="#ARCHLVL">ARCHLVL</a> ESA/390
<a href="#OSTAILOR">OSTAILOR</a> OS/390
<a href="#LOADPARM">LOADPARM</a> 0120....
<a href="#ARCHLVL_FACILITY">ARCHLVL</a> DISABLE ASN_LX_REUSE
<a href="#CPUSERIAL">CPUSERIAL</a> 000611
<a href="#CPUMODEL">CPUMODEL</a> 3090
<a href="#CPUVERID">CPUVERID</a> FD
<a href="#LPARNAME">LPARNAME</a> HERCULES
<a href="#LPARNUM">LPARNUM</a> 21
<a href="#CPUIDFMT">CPUIDFMT</a> 1
<a href="#MODEL">MODEL</a> EMULATOR
<a href="#PLANT">PLANT</a> ZZ
<a href="#MANUFACTURER">MANUFACTURER</a> HRC
<a href="#MAINSIZE">MAINSIZE</a> 64
<a href="#XPNDSIZE">XPNDSIZE</a> 0
<a href="#NUMCPU">NUMCPU</a> 1
<a href="#NUMVEC">NUMVEC</a> 1
<a href="#MAXCPU">MAXCPU</a> 8
<a href="#ENGINES">ENGINES</a> CP
<a href="#SYSEPOCH">SYSEPOCH</a> 1900
<a href="#YROFFSET">YROFFSET</a> -28
<a href="#TZOFFSET">TZOFFSET</a> -0500
<a href="#HTTPPORT">##HTTPPORT</a> 8081 NOAUTH (deprecated)
<a href="#HTTPROOT">##HTTPROOT</a> /usr/local/share/hercules/ (deprecated)
<a href="#HTTPPORT">HTTP</a> PORT 8081 NOAUTH
<a href="#HTTPROOT">HTTP</a> ROOT /usr/local/share/hercules/
<a href="#HTTPSTRT">HTTP</a> START
<a href="#CCKD">CCKD</a> RA=2,RAQ=4,RAT=2,WR=2,GCINT=10,GCPARM=0,NOSTRESS=0,TRACE=0,FREEPEND=-1
<a href="#SHRDPORT">SHRDPORT</a> 3990
<a href="#SHOWDVOL1">SHOWDVOL1</a> NO
<a href="#PANTITLE">PANTITLE</a> "My own private MAINFRAME!"
<a href="#PANRATE">PANRATE</a> FAST
<a href="#LOGOPT">LOGOPT</a> TIMESTAMP
<a href="#CODEPAGE">CODEPAGE</a> default
<a href="#CNSLPORT">CNSLPORT</a> 3270
<a href="#CONKPALV">CONKPALV</a> (3,1,10)
<a href="#LEGACYSENSEID">LEGACYSENSEID</a> OFF
<a href="#HERCPRIO">HERCPRIO</a> 0
<a href="#TODPRIO">TODPRIO</a> -20
<a href="#DEVPRIO">DEVPRIO</a> 8
<a href="#CPUPRIO">CPUPRIO</a> 15
<a href="#SRVPRIO">SRVPRIO</a> 4
<a href="#TIMERINT">TIMERINT</a> DEFAULT
<a href="#TODDRAG">TODDRAG</a> 1.0
<a href="#DEVTMAX">DEVTMAX</a> 8
<a href="#DIAG8CMD">DIAG8CMD</a> disable
<a href="#SHCMDOPT">SHCMDOPT</a> disable
<a href="#DEFSYM">DEFSYM</a> TAPEDIR "<a href="#subs">$(HOME)</a>/tapes"
<a href="#AUTOMOUNT">AUTOMOUNT</a> $(TAPEDIR)
<a href="#AUTOMOUNT">AUTOMOUNT</a> +/tapes
<a href="#AUTOMOUNT">AUTOMOUNT</a> -/tapes/vault
<a href="#MODPATH">MODPATH</a> /usr/local/hercules
<a href="#LDMOD">LDMOD</a> dyncrypt
<a href="#PGMPRDOS">PGMPRDOS</a> restricted
<a href="#ECPSVM">ECPSVM</a> no
<a href="#SCSIMOUNT">SCSIMOUNT</a> no
<a href="#MOUNTED_TAPE_REINIT">MOUNTED_TAPE_REINIT</a> allow
<a href="#INCLUDE">INCLUDE</a> mydevs.cfg
<a href="#IGNORE">IGNORE</a> INCLUDE_ERRORS
<a href="#INCLUDE">INCLUDE</a> optdevs.cfg
#------------------------------------------------------------------
# <a href="#device_stmts">DEVICE STATEMENTS</a>
# (see supported <a href="#device_types_table">device types</a> table)
#------------------------------------------------------------------
0009 <a href="#consysc">3215-C</a> /
000A <a href="#1442">1442</a> adrdmprs.rdr
000C <a href="#3505">3505</a> jcl.txt ascii trunc
000D <a href="#3525">3525</a> pch00d.txt ascii
000E <a href="#1403">1403</a> prt00e.txt noclear
001E <a href="#1403">1403</a> 192.168.200.1:1403 sockdev
001F <a href="#3270">3270</a> * 192.168.0.1
0200.4 <a href="#3270">3270</a> * 192.168.0.0 255.255.255.0
0220.8 <a href="#3270">3270</a> GROUP1 192.168.100.0 255.255.255.0
0228.8 <a href="#3270">3270</a> GROUP2
0230.16 <a href="#3270">3270</a>
0000 <a href="#SYSG">SYSG</a> SYSGCONS
0100 <a href="#ckddasd">3390</a> disks/linux.dsk <a href="#shadow">sf=shadows/linux_*.dsk</a>
0120 <a href="#3380">3380</a> <a href="#ENHSYMINC">${DASD_PATH=dasd/}</a>mvsv5r.120
0121 <a href="#3380">3380</a> <a href="#ENHSYMINC">${DASD_PATH=dasd/}</a>mvsv5d.121
0122 <a href="#3380">3380</a> <a href="#ENHSYMINC">${DASD_PATH=dasd/}</a>mvswk1.122
0123 <a href="#3380">3380</a> 192.168.1.100
0140 <a href="#3370">3370</a> dosres.140
0141 <a href="#3370">3370</a> syswk1.141
0300 <a href="#3370">3370</a> sysres.300
0400 <a href="#CTCT">CTCT</a> 30880 192.168.100.2 30880 2048
0401 <a href="#CTCT">CTCT</a> 30881 192.168.100.2 30881 2048
0420.2 <a href="#CTCI">CTCI</a> 192.168.200.1 192.168.200.2
0430.2 <a href="#CTCI">CTCI</a> tun0
0440.2 <a href="#LCS">LCS</a> -n /dev/net/tun 192.168.200.2
0460.2 <a href="#PTP">PTP</a> 192.168.200.1 192.168.200.2/24
0470.2 <a href="#PTP">PTP</a> tun0
0A00.3 <a href="#QETH">QETH</a> iface /dev/net/tun
0E40 <a href="#CTCE">CTCE</a> 31880 192.168.1.202 32880
0E41 <a href="#CTCE">CTCE</a> 31882 192.168.1.202 32882
0580 <a href="#3420">3420</a> /dev/nst0 # <a href="#SCSI">SCSI</a> (Linux or Windows)
0581 <a href="#3420">3420</a> \\.\Tape0 # <a href="#SCSI">SCSI</a> (Windows only)
0582 <a href="#3420">3420</a> ickdsf.aws <a href="#noautomount">noautomount</a>
0583 <a href="#3420">3420</a> /cdrom/tapes/uaa196.tdf
0584-0587 <a href="#3420">3420</a> <a href="#subs">$(TAPEDIR)</a>/volumes.<a href="#subs">$(CUU)</a> maxsizeM=170 eotmargin=131072
0590 <a href="#3420">3480</a> /dev/nst0 <a href="#Quantum">--no-erg</a> <a href="#Quantum">--blkid-32</a> # <a href="#Quantum">Quantum DLT SCSI</a>
0020 <a href="#2703">2703</a> lport=32003 dial=IN lnctl=tele2 uctrans=yes term=tty skip=88C9DF iskip=0A
0023 <a href="#2703">2703</a> lport=3780 rhost=localhost rport=3781 dial=no
0045 <a href="#2703">2703</a> lport=32003 dial=IN lnctl=ibm1 term=2741 skip=5EDE code=ebcd
</pre></code>
</td></tr></table>
</center>
<h3>Comment lines</h3>
<p>
Blank lines, and lines beginning with a # sign
or an asterisk, are treated as comments.
<p>
<hr><!-- ---------------------------------------------------------------------------- -->
<a name="system_parameters"></a>
<h3>System parameters</h3>
<p>
Except for the ARCHLVL statements, system parameter statements may appear
in any order but must precede any device statements. Each system parameter
must be on a separate line. The following system parameters may be specified:
<dl>
<a name="ARCHLVL"></a>
<dt><code>ARCHLVL S/370 | ESA/390 | ESAME | <u>z/Arch</u></code>
<dd><p>
Specifies the initial architecture mode:<p>
<ul compact>
<li>use <code>S/370</code> for OS/360, VM/370, and MVS 3.8.
<li>use <code>ESA/390</code> for MVS/XA, MVS/ESA, OS/390, VM/ESA, VSE/ESA,
Linux/390, and ZZSA.
<li>use <code>z/Arch</code> or <code>ESAME</code> for z/OS and zLinux. This is the default.
</ul>
<p><code>ESAME</code> is similar to <code>z/Arch</code>.
When <code>z/Arch</code> or <code>ESAME</code> is specified,
the machine will always IPL in ESA/390 mode,
but is capable of being switched into z/Architecture mode after IPL.
This is handled automatically by all z/Architecture operating systems.
<p>
The <code>ESAME</code> mode is equivalent to z/Architecture mode at Architecture Level 2.
The <code>z/Arch</code> mode is equivalent to z/Architecture mode at Architecture Level 3.
The synonyms ALS0, ALS1, ALS2 and ALS3 may be used to specify S/370, ESA/390, ESAME or Z/Arch respectively.
<p>
Note: This statement used to be called <code>ARCHMODE</code> in previous versions of Hercules
but the use of <code>ARCHMODE</code> has been deprecated in favor of the new <code>ARCHLVL</code>
statement. Existing <code>ARCHMODE</code> statements should be changed to <code>ARCHLVL</code>
instead.
<p>
For the time being however, <code>ARCHMODE</code> is still accepted and is treated as
simply a synonym for the <code>ARCHLVL</code> statement.
<p>
<a name="ARCHLVL_FACILITY"></a>
<dt><code>ARCHLVL ENABLE | DISABLE | QUERY <em>facility</em> <em>[archmode]</em></code>
<dd><p>
Specifies a particular STFLE facility to be enabled or disabled, or a query of the current settings.
Use <code>QUERY ALL</code> to obtain a list of valid <code><em>facility</em></code> names
that may be used for the given archmode.
<p>
Alternatively, you can also specify the actual STFLE bit number to be turned off or on
(disabled or enabled) using the format <code><em>BITnn</em></code> where 'nn'
corresponds to the exact STFLE facility bit you wish to be forced on or off. A popular
one among the VM crowd is <code>ENABLE BIT44</code> to force the PFPO Facility bit on.
<p>
The optional <code><em>archmode</em></code> argument limits the enable,
disable or query function to a specific <a href="#ARCHLVL">architecture</a>.
It should be noted that attempts to enable or disable a facility that a given
architecture does not support are ignored without error. The default value is
whatever architecture mode was previously established by a preceding
<a href="#ARCHLVL">ARCHLVL</a> statement or the default mode if there was no
preceding ARCHLVL statement.
<p>
<a name="ASN_AND_LX_REUSE"></a>
<dt><code>ASN_AND_LX_REUSE <u>DISABLE</u> | ENABLE</code> <i>(deprecated)</i>
<dd><p>
Specifies that the ASN-and-LX-Reuse Facility (ALRF) is to be disabled
or enabled. The default is disabled. This is a z/Architecture-only
feature (it is always disabled for S/390 or ESA/390). Set this
to <code>ENABLE</code> if the operating system supports
this z/Architecture feature and the use of this feature is desired.
Set it to <code>DISABLE</code> or do not specify anything
if the operating system doesn't support this feature, and it
inadvertently sets CR0 bit 44 to 1, usually leading to unexpected
program interrupt when instructions such as LASP are issued.
<p>
<code>ASN_AND_LX_REUSE</code> may be abbreviated as <code>ALRF</code>.
<p>
<b>Note:</b> The <code>ASN_AND_LX_REUSE</code> statement has been superseded
by "<code>ARCHLVL ENABLE/DISABLE ASN_LX_REUSE</code>" and is thus deprecated.
Existing <code>ALRF</code> or <code>ASN_AND_LX_REUSE</code> statements
should be changed to use the new <a href="#ARCHLVL_FACILITY">ARCHLVL
facility</a> statement format instead.
<p>
<a name="AUTOMOUNT"></a>
<dt><code>AUTOMOUNT <em>[±]directory</em></code>
<dd><p>
Specifies the host system directory where the guest is allowed
or not allowed to automatically load virtual tape volumes from.
Prefix allowable directories with a '+' plus sign and unallowable
directories with a '-' minus sign. The default prefix if neither is
specified is the '+' plus sign (i.e. an allowable directory).
<p>
<i><b>Caution:</b> Enabling this feature may have security
consequences depending on which allowable host system directories you
specify as well as how your guest operating system enforces
authorized use of the Set Diagnose (X'4B') channel command code.
</i>
<p>
All host system virtual tape volumes to be "automounted" by the guest
must reside within one of the specified allowable host system directories
or any of its subdirectories while not also being within any of the
specified unallowable directories or any of their subdirectories,
in order for the guest-invoked automount to be accepted.
<p>
Note: specifying a disallowed automount directory does not preclude the
Hercules operator from manually mounting any desired file via the
<code>devinit</code> panel command -- even one in a currently defined
"disallowed" automount directory. The AUTOMOUNT statement only controls
guest-invoked automatic tape mounts and not manual tape mounts performed
by the Hercules operator.
<p>
All directories must be specified on separate statements, but as many
statements as needed may be specified in order to describe the desired
allowable/unallowable directories layout. For convenience, an
<code>automount</code> panel command is also provided to dynamically
add/remove new/existing allowable/unallowable automount
directories at any time.
<p>
The automount feature is activated whenever you specify at least
one allowable or unallowable directory. If only
unallowable directories are specified, then the current directory
becomes the only defined allowable automount directory by default.
<p>
All specified directories are always resolved to fully-qualified
absolute directory paths before being saved.
<p>
Refer to the description of the virtual tape device
'<a href="#noautomount">noautomount</a>' option for more information.
<p>
<a name="CCKD"></a>
<dt><code>CCKD <em>cckd-parameters</em></code>
<dd><p>
The CCKD command and initialization statement can be used to affect
cckd processing. The CCKD initialization statement is specified as
a Hercules configuration file statement and supports the same options
as the cckd panel command. Refer to the
<a href="cckddasd.html#cckdcommand">Compressed Dasd Emulation</a>
web page for more information.
<p>
<a name="CMPSCPAD"></a>
<dt><code>CMPSCPAD <em>alignment</em></code>
<dd><p>
The CMPSCPAD command and initialization statement is used to define
the zero padding storage alignment boundary for the CMPSC-Enhancement
Facility. It must be a power of 2 value ranging anywhere from 1 to 12.
<p>
<a name="CODEPAGE"></a>
<dt><code>CODEPAGE <em>mapping</em></code>
<dd><p>
Specifies the codepage conversion mapping table used for ASCII/EBCDIC translation.
<p>
<code>default</code> specifies traditional Hercules codepage mapping.
<p>
Other supported predefined codepage mappings are:
<p>
<blockquote>
<table border=1 cellpadding=3>
<tr>
<th rowspan=2>Mapping</th>
<th colspan=2>Description</th>
<th rowspan=2>Transparent?</th>
</tr>
<tr>
<th>ASCII</th>
<th>EBCDIC</th>
</tr>
<tr><td align="center"><code>437/037</code></td>
<td>437 PC United States</td>
<td>037 United States/Canada</td>
<td><center>no</center></td>
</tr>
<tr><td align="center"><code>437/500</code></td>
<td>437 PC United States</td>
<td>500 International</td>
<td><center>no</center></td>
</tr>
<tr><td align="center"><code>437/1047</code></td>
<td>437 PC United States</td>
<td>1047 Open Systems Latin 1</td>
<td><center>no</center></td>
</tr>
<tr><td align="center"><code>819/037</code></td>
<td>819 ISO-8859-1</td>
<td>037 United States/Canada</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/037v2</code></td>
<td>819 ISO-8859-1</td>
<td>037 United States/Canada version 2</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/273</code></td>
<td>819 ISO-8859-1</td>
<td>273 Austria/Germany</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/277</code></td>
<td>819 ISO-8859-1</td>
<td>277 Denmark/Norway</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/278</code></td>
<td>819 ISO-8859-1</td>
<td>278 Finland/Sweden</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/280</code></td>
<td>819 ISO-8859-1</td>
<td>280 Italy</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/284</code></td>
<td>819 ISO-8859-1</td>
<td>284 Spain</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/285</code></td>
<td>819 ISO-8859-1</td>
<td>285 United Kingdom</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/297</code></td>
<td>819 ISO-8859-1</td>
<td>297 France</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/500</code></td>
<td>819 ISO-8859-1</td>
<td>500 International</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>819/1047</code></td>
<td>819 ISO-8859-1</td>
<td>1047 Open Systems Latin 1</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>850/273</code></td>
<td>850 PC Latin 1</td>
<td>273 Austria/Germany</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>850/1047</code></td>
<td>850 PC Latin 1</td>
<td>1047 Open Systems Latin 1</td>
<td><center>no</center></td>
</tr>
<tr><td align="center"><code>1252/037</code></td>
<td>1252 Windows Latin 1</td>
<td>037 United States/Canada</td>
<td><center>no</center></td>
</tr>
<tr><td align="center"><code>1252/037v2</code></td>
<td>1252 Windows Latin 1</td>
<td>037 United States/Canada version 2</td>
<td><center>no</center></td>
</tr>
<tr><td align="center"><code>1252/1047</code></td>
<td>1252 Windows Latin 1</td>
<td>1047 Open Systems Latin 1</td>
<td><center>no</center></td>
</tr>
<tr><td align="center"><code>1252/1140</code></td>
<td>1252 Windows Latin 1</td>
<td>1140 United States/Canada with Euro</td>
<td><center>YES</center></td>
</tr>
<tr><td align="center"><code>ISOANSI/037</code></td>
<td>ISO ANSI</td>
<td>037 United States/Canada</td>
<td><center>YES</center></td>
</tr>
</table>
</blockquote>
<p>
The transparency column indicates whether translating from
ASCII to EBCDIC (or vice versa) and back again yields results
identical to the original text.
<p>
If no codepage is specified then the environment variable HERCULES_CP
will be inspected. If the environment variable is not found then
the traditional non-transparent <code>default</code> codepage mapping
is used.
<p>
Other codepages can be defined by means of the <code>cp_updt</code>
panel command (which is supported as a configuration file statement
as well). Enter the panel command <code>help cp_updt</code> for more
information.
<p>
<a name="CNSLPORT"></a>
<dt><code>CNSLPORT <i>nnnn</i></code> <i>-or-</i> <code><i>host:port</i></code>
<dd><p>
Specifies (typically) the port number (in decimal) to which tn3270
and telnet clients should connect. If an invalid value is specified
Hercules defaults to port 3270.
<p>
The <code>CNSLPORT</code> statement may also be specified as
<code>host:port</code>, where <code>host</code> identifies the
IP address of the host interface the telnet console server should
bind to (listen for connections on). If not specified the server
will accept connections from any host interface.
<p>
See the <a href="telnet.html">Telnet/tn3270 Console How-To</a>
for additional information about setting up a telnet or tn3270 client.
<p>
<a name="CONKPALV"></a>
<dt><code>CONKPALV <i>(idle,intv,count)</i></code>
<dd><p>
Specifies the tn3270 console and telnet clients keepalive option
values that control automatic detection of disconnected tn3270/telnet
client sessions.
<p>
<code><i>idle</i></code> specifies the number of seconds
of inactivity until the first keepalive probe is
sent (idle time until first probe, or probe frequency).
<br><code><i>intv</i></code>
specifies the interval in seconds between when successive
keepalive packets are sent if no acknowledgement is received from
the previous one (i.e. the timeout value of the probes themselves).
<br><code><i>count</i></code> specifies the number of unacknowledged
keepalive packets sent before the connection is considered to have
failed.
<p>
The default values for Windows are 3, 1, and 10. For non-Windows systems
it is 3, 1, and 9. That is, send the initial probe 3 seconds after the
connection goes idle and then wait no more than one second for it to be
responded to. If it is not responded to within one second, then send up
to 9 more probes (for a total of 10), each of which must also timeout
without being responded to before the client is considered as having
died and the connection thus automatically closed.
<p>
<i><b>Note:</b></i>
This is a built-in feature of TCP/IP and allows detection of
unresponsive TCP/IP <i>connections</i> and not idle clients.
That is to say, your connection will <i>not</i> be terminated
after 3 seconds of idle time. Your 3270 session can remain idle for
many minutes or hours or days without any data being transmitted.
If the TCP/IP <i>stack</i> at the other end of the connection --
not your 3270 client itself -- fails to respond to the
internal keepalive probe packets however, then it means that the
TCP/IP stack itself is down or there has been a physical break
in the connection.
<p>
Thus, even if your 3270 client is completely idle, your system's TCP/IP stack
itself should still respond to the keepalive probes sent by the TCP/IP stack
at the Hercules end of the link. If it doesn't, then TCP/IP will terminate
the tn3270/telnet session which will cause Hercules to disconnect the terminal.
<p>
The three values can also be modified on-demand via the <code>conkpalv</code>
panel command, which has the exact same syntax. Note that the syntax is
very unforgiving: no spaces are allowed anywhere within the parentheses
and each value must be separated from the other with a single comma.
<p>
<b>Please also note</b> that not all systems support being able to modify
all three values. That is, not all values may be modifiable. It is operating
system dependent which values you can change and which values you cannot.
On Windows for example, the <code><i>count</i></code> value is ignored
and cannot be changed from its default value of 10. Other systems may
ignore one or more or all three values and use platform defaults instead.
This is entirely system dependent. Check your system's documentation for details
regarding which values can be changed and which cannot as well as how to
adjust your system's default values.
<p>
<a name="CPUIDFMT"></a>
<dt><code>CPUIDFMT 0 | 1</code>
<dd><p>
Specifies the format of the CPU ID the STIDP instruction should store.
Refer to the <a href="#LPARNUM">LPARNUM</a> statement for more information.
<p>
<a name="CPUMODEL"></a>
<dt><code>CPUMODEL <em>xxxx</em></code>
<dd><p>
Specifies the 4 hexadecimal digit CPU machine type number (known prior
to ESA/390 as the model number) stored by the STIDP instruction.
<p>
<i><b>Note:</b></i> Hercules makes no attempt to emulate all aspects of,
or features of, a given CPU model. The CPUMODEL statement defines a purely
cosmetic value only. It defines only the value that the STIDP (Store CPU
ID) instruction stores, and nothing more.
<p>
<a name="CPUPRIO"></a>
<dt><code>CPUPRIO <em>nn</em></code>
<dd><p>
Specifies the priority of the CPU thread. Default is a nice value
of 15, which means a low priority such that I/O can be scheduled and
completed in favour of CPU cycles being burned. On Multi-CPU
systems, a real CPU can be "dedicated" to Hercules, by giving the
CPU thread a very high dispatching priority (-20).
See <a href="#thread_priorities">"Thread Priorities"</a>
below for more information.
<p>
<i><b>Caution:</b> CPUPRIO should not have a higher dispatching
priority than the TOD Clock and timer thread.</i>
</ol>
<p>
<a name="CPUSERIAL"></a>
<dt><code>CPUSERIAL <em>xxxxxx</em></code>
<dd><p>
Specifies the 6 hexadecimal digit CPU serial number stored by the
STIDP instruction. In BASIC mode, the high-order digit may be
replaced with the processor number when MAXCPU > 1; in LPAR mode,
the two high-order digits are replaced with either the LPAR number
or the CPU number and LPAR number with the full serial number
available via the STSI instruction.
The default serial number is 000001.
<p>
<a name="CPUVERID"></a>
<dt><code>CPUVERID <em>xx</em></code>
<dd><p>
Specifies the 2 hexadecimal digit CPU version code
stored by the STIDP instruction.
The default version code is FD when ARCHLVL S/370 or ARCHLVL ESA/390
is specified. For the z/Architecture mode, the version code is always
stored as 00 and the value specified here is ignored.
<p>
<a name="DEFSYM"></a>
<dt><code>DEFSYM <em>symbol</em> <em>value</em></code>
<dd><p>
Defines symbol <em>symbol</em> as to contain value <em>value</em>. The
symbol can then be the object of a substitution later in the configuration
file or for panel commands. If <em>value</em> contains blanks or spaces, then
it should be enclosed in double quotation marks ("). See
<a href="#subs">substitutions</a> for a more in-depth discussion
on this feature.
<p>
Substitution is available even in configuration statements,
meaning it is possible to perform substitution in the <em>DEFSYM</em> statement itself.
However, symbols are always defined as the last step in the process, so attempting
to self define a symbol will result in an empty string:
<code><pre>
DEFSYM FOO $(FOO)</pre></code>
Will set symbol FOO to ""
<p>
<a name="DEVPRIO"></a>
<dt><code>DEVPRIO <em>nn</em></code>
<dd><p>
Specifies the priority of the device threads. The default value is 8.
See <a href="#thread_priorities">"Thread Priorities"</a>
below for more information.
<p>
<i><b>Caution:</b> DEVPRIO should not have a higher dispatching
priority than the TOD Clock and timer thread.</i>
<p>
<a name="DEVTMAX"></a>
<dt><code>DEVTMAX -1 | 0 | <em>nnn</em></code>
<dd><p>
Specifies the maximum number of device threads allowed.
<p>Specify <code>-1</code> to cause 'one time only' temporary threads to be
created to service each I/O request to a device. Once the I/O request is
complete, the thread exits. Subsequent I/O to the same device will cause
another worker thread to be created again.
<p>Specify <code>0</code> to cause an unlimited number of 'semi-permanent'
threads to be created on an 'as-needed' basis. With this option, a thread
is created to service an I/O request for a device if one doesn't already
exist, but once the I/O is complete, the thread enters an idle state waiting
for new work. If a new I/O request for the device arrives before the timeout
period expires, the existing thread will be reused. The timeout value is
currently hard coded at 5 minutes. Note that this option can cause one thread
(or possibly more) to be created for each device defined in your
configuration. Specifying <code>0</code> means there is no limit to the
number of threads that can be created.
<p>Specify a value from <code>1</code> to <code><em>nnn</em></code> to set an upper limit
to the number of threads that can be created to service any I/O request to
any device. Like the <code>0</code> option, each thread, once done servicing
an I/O request, enters an idle state. If a new request arrives before the
timeout period expires, the thread is reused. If all threads are busy when
a new I/O request arrives however, a new thread is created <i>only</i> if the
specified maximum has not yet been reached. If the specified maximum number
of threads has already been reached, then the I/O request is placed in a queue
and will be serviced by the first available thread (i.e. by whichever thread
becomes idle first). This option was created to address a threading issue
(possibly related to the cygwin Pthreads implementation) on Windows systems.
<p>The default for Windows is <code>8</code>. The default for all other systems
is <code>0</code>.
<p>
<a name="DIAG8CMD"></a>
<dt><code>DIAG8CMD <u>DISABLE</u> | ENABLE [ECHO | <u>NOECHO</u>]</code>
<dd><p>
When <code>ENABLE</code> is specified, commands issued through the Diagnose 8 interface
will be executed by Hercules as Hercules commands. When set to <code>DISABLE</code>,
commands issued through the Diagnose 8 interface will generate a Specification
Exception program interrupt on the issuing CPU.
<p>An optional second argument can be given to request whether the commands
issued using the Diagnose 8 interface will be traced at the console. This may be
useful for programs that routinely issue panel commands using the Diagnose 8 interface.
When <code>ECHO</code> is specified, a message is issued as the panel is about to issue
the command, the command is redisplayed as if it was entered through the panel input
line, and a final message is issued to indicate the command completed. When <code>NOECHO</code>
is specified, no such messages are displayed and the command completes silently.
<p>The value of <code>ECHO</code> or <code>NOECHO</code> has no effect on
command output being placed into a response buffer if the Diagnose 8 interface
requested one.
<p>The default is <code>DISABLE NOECHO</code>
<p>
<i><b>Caution:</b> Enabling this feature may have security consequences.</i>
<p>
When this feature is enabled it is possible for guest operating systems
running under Hercules to issue commands directly to the host operating system
by means of the Hercules <code>sh</code> (shell) command. This ability may be
disabled via the <a href="#SHCMDOPT">SHCMDOPT</a> statement.
<p>
<a name="ECPSVM"></a>
<dt><code>ECPSVM YES | NO | LEVEL <em>nn</em></code>
<dd><p>
Specifies whether ECPS:VM (Extended Control Program Support : Virtual Machine)
support is to be enabled. If <code>YES</code> is specified, then the support
level reported to the operating system is <code>20</code>. The purpose of
ECPS:VM is to provide to the VM/370 Operating system a set of shortcut
facilities to perform hypervisor functions (CP Assists) and virtual
machine simulation (VM Assists). Although this feature does not affect
VM Operating system products operating in XA, ESA or z/Architecture mode,
it will affect VM/370 and VM/SP products running under VM/XA, VM/ESA or z/VM.
Running VM/370 and VM/SP products under VM/XA, VM/ESA or z/VM should be
done with ECPS:VM disabled. ECPS:VM should not be enabled in an AP or MP
environment. ECPS:VM has no effect on non-VM operating systems. It is
however recommended to disable ECPS:VM when running native non-VM operating
systems. If a specific LEVEL is specified, this value will be reported
to the operating system when it issues a Store ECPS:VM level, but it
doesn't otherwise alter the ECPS:VM facility operations. This is a partial
implementation.
<p>
<a name="ENGINES"></a>
<dt><code>ENGINES [<em>nn</em>*]<u>CP</u>|IL|AP|IP[,...]</code>
<dd><p>
Specifies the type of engine for each installed processor.
The default engine type is CP.
<p>
<em>nn</em>* is an optional repeat count.
Spaces are not permitted.
<p>
Examples:
<p>
<code>ENGINES CP,CP,AP,IP</code>
<br>specifies that processor engines 0 and 1 are of type CP, engine 2 is
type AP, and engine 3 is type IP.
<p>
<code>ENGINES 4*CP,2*AP,2*IP</code>
<br>specifies that the first four processor engines (engines 0-3) are of
type CP, the next two (engines 4-5) are of type AP, and the next two
(engines 6-7) are of type IP.
<p>
The number of installed processor engines is determined by the
<a href="#MAXCPU">MAXCPU</a> statement.
If the ENGINES statement specifies more than MAXCPU engines, the excess
engines are ignored. If fewer than MAXCPU engines are specified, the
remaining engines are set to type CP.
<p>
<a name="HERCPRIO"></a>
<dt><code>HERCPRIO <em>nn</em></code>
<dd><p>
Specifies the process priority for Hercules. The default is 0.
See <a href="#process_priorities">"Process Priorities"</a>
below for more information.
<p>
<a name="HTTPPORT"></a>
<dt><code>HTTP PORT <em>nnnn</em> [[NOAUTH] | [AUTH <em>userid password</em>]]</code>
<dd><p>
Specifies the port number (in decimal) on which the HTTP server
will listen. The port number must either be 80
or within the range 1024 - 65535 inclusive. The server is not start until a subsequent
<code><a href="#HTTPSTRT">HTTP START</a></code> statement is found.
<p>
<tt>AUTH</tt> indictates that a userid and password are required to access
the HTTP server, whereas <tt>NOAUTH</tt> indicates that a userid and password
are not required. The userid and password may be any valid string.
<p>
Note: <code>HTTPPORT nnnn [[NOAUTH] | [AUTH <em>userid password</em>]]</code> is still supported,
however, it has been deprecated.
<p>
<a name="HTTPROOT"></a>
<dt><code>HTTP ROOT <em>directory</em></code>
<dd><p>
Specifies the root directory where the HTTP server's files reside.
If not specified, the default value for Win32 builds of Hercules is the
directory where the Hercules executable itself is executing out of, and for
non-Win32 builds it is the directory specified as the default package
installation directory when the Hercules executable was built (which can
vary depending on how the Hercules package was built, but is usually
<tt>/usr/local/share/hercules/</tt>).
<p>
Note: <code>HTTPROOT <em>directory </em></code> is still supported, however, it has been deprecated.
<p>
<a name="HTTPSTRT"></a>
<dt><code>HTTP START</code>
<dd><p>
Starts the HTTP server. (Note: The server is no longer started by default.)
<p>
<a name="IGNORE"></a>
<dt><code>IGNORE INCLUDE_ERRORS</code>
<dd><p>
Indicates that errors caused by subsequent
<code><a href="#INCLUDE">INCLUDE</a></code> statements
for files which do not exist should instead be ignored rather
than causing startup to be aborted (as would otherwise normally
occur).
<p>
<a name="INCLUDE"></a>
<dt><code>INCLUDE <em>filepath</em></code>
<dd><p>
An <code>INCLUDE</code> statement tells Hercules configuration file
processing to treat the contents of the file specified by <em>filepath</em>
as if its contents had appeared in the configuration file at the point
where the <code>INCLUDE</code> statement appears.
<p>
Note that the included file may itself contain yet another
<code>INCLUDE</code> statement as long as the maximum nesting depth
(current 8) is not exceeded.
<p>
<a name="IODELAY"></a>
<dt><code>IODELAY <em>usec</em></code>
<dd><p>
Specifies the amount of time (in microseconds) to wait after
an I/O interrupt is ready to be set pending. This value can also be
set using the Hercules console. The purpose of this parameter is to
bypass a bug in the <b>Linux/390</b> and <b>zLinux</b> <code>dasd.c</code>
device driver. The problem is more apt to happen under Hercules than
on a real machine because we may present an I/O interrupt sooner than a
real machine.
<p>
NOTE : <a href="#OSTAILOR"><code>OSTAILOR LINUX</code></a> no longer sets
IODELAY to 800 since the problem described above is no longer present in
recent versions of the Linux kernel.
<p>
<a name="LDMOD"></a>
<dt><code>LDMOD <em>module list</em></code>
<dd><p>
Specifies additional modules that are to be loaded by the Hercules dynamic loader.
The default search order is with the hercules directory in the default DLL search
path. Most systems also support absolute filenames (ie names starting with '/'
or '.') in which case the default search path is not taken.
<p>
Multiple LDMOD statements may be used.
<p>
<a name="LEGACYSENSEID"></a>
<dt><code>LEGACYSENSEID <u>OFF</u> | <u>DISABLE</u> | ON | ENABLE</code>
<dd><p>
Specifies whether the SENSE ID CCW (X'E4') will be honored for
the devices that originally didn't support that feature. This
includes (but may not be limited to) 3410 and 3420 tape drives,
2311 and 2314 direct access storage devices,
and 2703 communication controllers.
<p>
Specify <code>ON</code> or <code>ENABLE</code> if your guest
operating system needs the Sense ID support to dynamically
detect those devices. Note that most current operating systems
will not detect those devices even though Sense ID is enabled
because those devices never supported the Sense ID in the first
place. So this mainly applies to custom built or modified versions
of guest operating systems that are aware of this specific Hercules
capability.
<p>
Because those legacy devices didn't originally support this command,
and for compatibility reasons, the default is <code>OFF</code>
or <code>DISABLE</code>.
<p>
<a name="LOADPARM"></a>
<dt><code>LOADPARM <em>xxxxxxxx</em></code>
<dd><p>
Specifies the eight-character IPL parameter which is used
by some operating systems to select system parameters.
<p>
<a name="LOGOPT"></a>
<dt><code>LOGOPT <u>TIMESTAMP</u> | NOTIMESTAMP</code>
<dd><p>
Sets Hercules log options. TIMESTAMP causes messages to the log
to be time stamped. NOTIMESTAMP prevents time stamping of log
messages. TIMESTAMP and NOTIMESTAMP may be abbreviated as
TIME and NOTIME respectively. The current resolution of the
stamp is one second.
<p>
The default is TIMESTAMP.
<p>
<a name="LPARNAME"></a>
<dt><code>LPARNAME <em>name</em></code>
<dd><p>
Specifies the LPAR name returned by DIAG X'204'. The default is
<code>HERCULES</code>.
<p>
<a name="LPARNUM"></a>
<dt><code>LPARNUM <em>xx</em> | BASIC</code>
<dd><p>
Specifies the one- or two-digit hexadecimal LPAR identification
number stored by the STIDP instruction, or BASIC.
<p>
If a one-digit number from 1 to F (hexadecimal) is specified,
then STIDP stores a format-0 CPU ID unless a subsequent
<a href="#CPUIDFMT">CPUIDFMT 1</a> statement is specified.
If zero or a two-digit hexadecimal number (except 10 hexadecimal)
is specified, then STIDP stores a format-1 CPU ID. For LPARNUM
10 the current <a href="#CPUIDFMT">CPUIDFMT</a> is not changed.
If LPARNUM is BASIC, then STIDP stores a basic-mode CPU ID.
<p>
The default is LPARNUM 1 with a format-0 CPU ID.
<p>
<a name="MAINSIZE"></a>
<dt><code>MAINSIZE <em>nnnn</em> |
<em>nnn</em>K |
<em>nnn</em>M |
<em>nnn</em>G |
<em>nnn</em>T |
<em>nnn</em>P |
<em>nnn</em>E</code>
<dd><p>
Specifies the main storage size in megabytes, where
<code><em>nnnn</em></code> is a decimal number. Or,
<code><em>nnnM</em></code> where <code><em>M</em></code>
is
<code>K</code> - Kilobytes,
<code>M</code> - Megabytes,
<code>G</code> - Gigabytes,
<code>T</code> - Terabytes,
<code>P</code> - Petabytes,
<code>E</code> - Exabytes.
The default on startup is 2M.
<p>
For storage sizes less than 16M, sizes not on a 4K boundary are
rounded up to the next 4K boundary. Otherwise, storage sizes not on
a 1M boundary are rounded up to the next 1M boundary.
<p>
The minimum size is 4K for archlvl als0 and als1 (S/370 and
ESA/390), and 8K for archlvl als2 (ESAME) and higher. A maximum of
64M may be specified for archlvl als0 (S/370), 2048M (2G) for
archlvl als1 (ESA/390), and 16E for archlvl als2 (ESAME) and higher.
<p>
<b>Notes:</b>
<ol><p><li>
The actual upper limit is determined by your host system's
architecture and operating system, the guest operating system, and
the amount of physical memory and available paging space. The total
of mainsize and xpndsize on host systems with a 32-bit architecture
will be limited to less than 4G; host systems with a 64-bit
architecture will be limited to less than 16E.
</li><p><li>
Using minimum storage sizes, storage sizes less than or not on a 64K
boundary for archlvl als1 (S/370), or on a 1M boundary for archlvl
als2 (ESA/390) and higher, it may be possible to generate error
conditions not covered by the Principles of Operations.
</li><p><li>
Use of storage sizes greater than supported by the guest operating
system may generate incorrect results or error conditions within the
guest operating system.
</li></ol>
<p>
<a name="MANUFACTURER"></a>
<dt><code>MANUFACTURER <em>name</em></code>
<dd><p>
Specifies the MANUFACTURER name returned the STSI instruction. The default is