sdl-hercules-390 / hyperion Goto Github PK
View Code? Open in Web Editor NEWThe SDL Hercules 4.x Hyperion version of the System/370, ESA/390, and z/Architecture Emulator
License: Other
The SDL Hercules 4.x Hyperion version of the System/370, ESA/390, and z/Architecture Emulator
License: Other
Miscellaneous-Instruction-Extensions Facility (September, 2012)
The miscellaneous-instruction-extensions facility may be available on a model implementing the z/Architecture.
The facility provides additional instruction formats for the following new instructions:
• CLT (COMPARE LOGICAL AND TRAP)
• CLGT (COMPARE LOGICAL AND TRAP)
• RISBGN (ROTATE THEN INSERT SELECTED BITS)
Entropy Encoding Compression Facility (September, 2017)
The entropy-encoding-compression facility may be available on models implementing z/Architecture. When the facility is installed an additional entropy encoding/decoding step may be performed as part of COMPRESSION CALL.
Execution-Hint Facility (September, 2012)
The facility provides the means by which the program can provide hints which the CPU may take into consideration when deciding what information to maintain and use for storage-operand accesses and branch prediction.
The facility provides the following new instructions.
• BPP (BRANCH PREDICTION PRELOAD)
• BPRP (BRANCH PREDICTION RELATIVE PRELOAD)
• NIAI (NEXT INSTRUCTION ACCESS INTENT)
Additionally, new prefetch-intent codes are defined for the following instructions:
• PFD (PREFETCH DATA)
• PFDRL (PREFETCH DATA RELATIVE LONG).
Processor-Assist Facility (September, 2012)
Note: This issue depends on issue "MISSING: Transactional-Execution Facility" #28 being completed beforehand.
The processor-assist facility may be available on a model implementing z/Architecture. The facility provides the means by which the program can request that the processor perform an assist function. The program specifies which assist function is to be performed in an immediate (M3) field of the instruction.
The facility provides the following general instruction:
• PERFORM PROCESSOR ASSIST
The processor-assist functions provided include the following:
• Transaction-abort assist
Replace getenv
calls with get_symbol
instead, to make it easier to override an existing or non-existing environment variable setting (such as HERCULES_IFC
for example).
Our existing get_symbol
functionality already contains logic to call getenv
if the specified symbol is not defined to Hercules's existing symbol pool, so the end result should be completely transparent to the user and would provide much improved functionality not to mention easier debugging.
Load-Program-Parameter and CPU-Measurement Facilities (September, 2012)
The Load-Program-Parameter and CPU-Measurement Facilities may be available on a model implementing z/Architecture.
The Load-Program-Parameter Facility consists of the LOAD PROGRAM PARAMETER instruction, and one 64-bit program-parameter register. This facility is a prerequisite for the CPU-measurement sampling facility.
Bit 40 of the list of facility bits provided by the STORE FACILITY LIST EXTENDED instruction indicates the installation status of the load-program-parameter facility.
The CPU-measurement facility consists of two parts: a CPU-measurement counter facility and a CPU-measurement sampling facility.
The former provides a means to measure activities in the CPU and some shared peripheral processors; the latter provides a means to take a snapshot of the CPU at a specified sampling interval and requires the LOAD PROGRAM PARAMETER facility as a prerequisite.
Bits 67 and 68 of the list of facility bits provided by the STORE FACILITY LIST EXTENDED instruction indicate the installation status of the CPU-measurement counter facility and the CPU-measurement sampling facility, respectively.
The facilities together provide the following privileged instructions:
• LOAD PROGRAM PARAMETER
• EXTRACT COPROCESSOR-GROUP ADDRESS
• EXTRACT CPU COUNTER
• EXTRACT PERIPHERAL COUNTER
• LOAD CPU-COUNTER-SET CONTROLS
• LOAD PERIPHERAL-COUNTER-SET CONTROLS
• QUERY COUNTER INFORMATION
• SET CPU COUNTER
• SET PERIPHERAL COUNTER
Both facilities are described in detail in manual SA23-2260-03: "The Load-Program-Parameter and CPU-Measurement Counter Facilities".
ESA/390-Compatibility-Mode Facility (September, 2017)
The ESA/390-compatibility-mode (390-CM) facility may be available on a model implementing z/Architecture. A configuration operating in the ESA/390- compatibility mode provides an environment supporting a subset of DAT-off ESA/390 programs in a hybrid architectural mode.
See “ESA/390-Compatibility- Mode Facility” on page 5-111 of SA22-7832-11 for details.
Hi.
With Hercules version ga36e0bbc (8873, dated 2017-07-08) I reported an issue with “XCF signaling stopped working” (Issue #11).
With version g6359717a (8904, dated 2017-11-04) it seems that same issue is back. I have the same problem.
With version gb6106b1 (which was a private build at commit b6106b1 dated Jul 29, 2017 that includes the fix for Issue 11), everything with XCF was working fine for me.
Hercules configuration file for system E001:
0E24 CTCE 31880 localhost 31882
0E25 CTCE 31884 localhost 31886
Hercules configuration file for system E002:
0E24 CTCE 31882 localhost 31880
0E25 CTCE 31886 localhost 31884
Goran Eklof
mail: [email protected]
Insert-Reference-Bits-Multiple Facility (September, 2017)
The insert-reference-bits-multiple facility may be available on a model implementing z/Architecture. The facility provides the means by which the reference bits for 64 contiguous blocks of storage can be inspected in a single instruction.
When trying to compile on VMS, I get conflicts between the following typedefs in htypes.h and variants of the same typedefs in inttypes.h which is included if available before them:
typedef char int8_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;
It appears that this can be resolved using something like the following:
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#elif defined(HAVE_STDINT_H)
#include <stdint.h>
#else
list of several typedefs for those who have neither inttypes.h nor stdint.h
#endif
At least that works for me. It probably should be tested on other platforms too.
Miscellaneous-Instruction-Extensions Facility 2 (September, 2017)
The miscellaneous-instruction-extensions facility 2 may be available on a model implementing the z/Architecture. The facility provides the following additional instructions:
• ADD HALFWORD (AGH)
• BRANCH INDIRECT ON CONDITION
• MULTIPLY (MG, MGRK)
• MULTIPLY HALFWORD (MGH)
• MULTIPLY SINGLE (MSC, MSGC, MSGRKC, MSRKC)
• SUBTRACT HALFWORD (SGH)
Guarded-Storage Facility (September, 2017)
The guarded-storage facility may be available on a model implementing z/Architecture. The facility provides a means by which a problem-state program can designate an area of logical storage comprising guarded-storage sections. The facility includes the following instructions:
• LOAD GUARDED (LGG)
• LOAD LOGICAL AND SHIFT GUARDED (LLGFSG)
• LOAD GUARDED STORAGE CONTROLS (LGSC)
• STORE GUARDED STORAGE CONTROLS (STGSC)
When the facility is installed in the configuration, enabled by the control program, and the second operand of the LOAD GUARDED or LOAD LOGICAL AND SHIFT GUARDED designates a guarded-storage section, a guarded-storage event is recognized, and control is passed to a guarded-storage event handler. Otherwise, the respective instructions simply perform their defined load operations.
The guarded-storage facility is intended to be used by various programming languages that implement storage-reclamation techniques commonly referred to as garbage collection. All other instructions that access a range of guarded storage are unaffected by the facility, only the LGG and LLGFSG instructions are capable of generating a guarded-storage event.
The following link errors occur when attempting to build on Linux:
[...]
In file included from aes.c:43:
In file included from ../hercules.h:146:
../hstructs.h:19:10: fatal error: 'telnet.h' file not found
In file included from dyncrypt.c:28:
In file included from ../hercules.h:146:
../hstructs.h:19:10: fatal error: 'telnet.h' file not found
In file included from des.c:47:
In file included from ../hercules.h:146:
../hstructs.h:19:10: fatal error: 'telnet.h' file not found
1 error generated.
make[2]: *** [aes.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
1 error generated.
make[2]: *** [des.lo] Error 1
In file included from sha256.c:52:
In file included from ../hercules.h:146:
../hstructs.h:19:10: fatal error: 'telnet.h' file not found
1 error generated.
make[2]: *** [dyncrypt.lo] Error 1
1 error generated.
make[2]: *** [sha256.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Looks like I need to to adjust Herc's configure.ac
and Makefile.am
to pass the list of ext pkg include directories to dyncrypt's Makefile.am
.
Working on it...
Please take a look at issue #217 on the hercules-390/hyperion issues page as the same code is present in this fork.
While it looks likely that the issue arises only on Linux or other unix platforms and probably does not arise on Windows platforms, I suspect there is a desire here to ensure things work correctly on all platforms and that use is not made of undocumented features.
Vector-Enhancements Facility 1 (September, 2017)
The vector-enhancements facility 1 may be available on models implementing the vector facility for z/Architecture. The facility adds support for the following features and functions:
The facility also includes the following new instructions:
• VECTOR BIT PERMUTE
• VECTOR MULTIPLY SUM LOGICAL
• VECTOR NOT EXCLUSIVE OR
• VECTOR NAND
• VECTOR OR WITH COMPLEMENT
• VECTOR FP MAXIMUM
• VECTOR FP MINIMUM
The facility adds support for halfword, word, and doubleword elements to VECTOR POPULATION COUNT.
The facility adds support for BFP short format and BFP extended format elements to most instructions in chapter 24.
Decimal Floating Point Zoned-Conversion Facility (September, 2012)
The facility includes the following features and instructions:
1. In Chapter 8, “Decimal Instructions,” the zoned
format is defined to include the ASCII zone value
(0011 binary).
2. In Chapter 20, “Decimal-Floating-Point Instructions,”
the following new instructions are defined:
• CDZT (CONVERT FROM ZONED)
• CXZT (CONVERT FROM ZONED)
• CZDT (CONVERT TO ZONED)
• CZXT (CONVERT TO ZONED)
Message-Security-Assist Extension 5 (March, 2015)
The message-security-assist extension 5 provides support for deterministic pseudorandom-number seeding and generation that conforms to the National Institute of Standards and Technology (NIST) special publication 800-90A. The message-security-assist extension 5 may be available on models implementing the z/Architecture architectural mode. The extension provides the following instruction:
• PERFORM RANDOM NUMBER OPERATION (PRNO)
The PERFORM RANDOM NUMBER OPERATION instruction provides the following functions:
• PRNO-Query
• PRNO-SHA-512-DRNG
The message-security-assist extension 5 requires the secure-hash-algorithm (SHA-512) capabilities of the message-security-assist extension 2 as a prerequisite.
Note: The PERFORM RANDOM NUMBER OPERATION instruction was formerly named PERFORM PSEUDORANDOM NUMBER OPERATION. With the addition of the message-security-assist extension 7, the same instruction is also capable of generating true random numbers, hence the name change. The former mnemonic PPNO is deprecated, but is still retained.
Test-Pending-External-Interruption Facility (September, 2017)
The test-pending-external-interruption facility may be available on a model implementing z/Architecture. The facility provides the means by which a control program can determine whether one or more of a subset of external interruptions is pending in the CPU. The facility provides the TEST PENDING EXTERNAL INTERRUPTION instruction.
in hercules 3.13 working fine
in hyperion "unit check" and program abort
attachech traces from 3.13 and 4.00
devl00.hercules.3.13.trace.txt
devl00.hercules.4.00.trace.txt
PER Zero-Address-Detection Facility (August, 2010)
The PER zero-address-detection facility may be available on a model implementing z/Architecture. When the facility is installed and enabled, a PER zero-address-detection event is caused by execution of an instruction that accesses storage using an operand address formed from a general register containing zero.
Note: this issue is closely related to issue #33: "Trace-to-file feature".
When instruction tracing/stepping is enabled (t+
and s+
commands), Control, Floating Point and Access registers are not being displayed for some instructions which actually modify/use them. (See e.g. display_inst_regs
function in hscmisc.c
)
Edit: The problem also occurs when an instruction is displayed as a result of an interruption too, such as when e.g. an Operation Exception or Translation Specification Exception occurs. That is to say, the problem is not limited to just the t+
and s+
tracing/stepping commands. It is a general overall problem/issue with (design flaw in) the display_inst_regs
function itself.
Having the Control Registers also displayed whenever a program interrupt occurs for example, can be quite valuable information to have, as it can tell you in which address space the problem occurred for example.
The problem stems from the fact that the display_inst_regs
function is deciding whether or not to also display the "other" registers (CR, AR, FPR) based on tests for specific instruction opcodes, which overly complicates the logic and makes it it less reliable and harder to maintain (e.g. it's easy to overlook updating this function when new instructions are added to the architecture for example).
We need a more reliable, less error prone way to determine whether CR, AR, FPR should be traced or not for a given instruction. I'm thinking maybe an update to our existing OPCODE table might do the trick.
I propose adding (*)
a new regsmask parameter to our existing GENx370x390x900
and related macros, that defines which registers the given instruction uses or modifies. Then the display_inst_regs
function could then do a simple(?) table lookup to retrieve the mask, thereby reliably determining which registers should be displayed/traced.
(*)
And adjusting all "opcode table" related code that might be impacted by such a change too of course. That is to say, I haven't researched yet the ramifications (impact) that adding a new field to our opcode table might cause.
Note: Issue #167 "CCKD64 support needed for cckddump/cckdload utils" is a sub-project (sub-issue) of this issue.
This is just a single ToDo item on my long Hercules To-Do list.
Basically I need to either carefully modify existing Compressed CKD (CCKD) code to allow dasd image and shadow files to grow larger than 4GB (which is the current limit due to the use of 32-bit variables (e.g. file offsets) instead of 64-bit variables), or else I need to create a copy of the existing code and carefully modify it instead (thus creating a new CCKD64 device type, but leaving existing CCKD support intact).
OR... I need to design/develop brand new (from scratch) support for CCKD64 myself (since either way is going to cause an obvious incompatibility issue)
I'm currently leaning towards writing brand new code myself.
Message-Security-Assist Extension 8 (September, 2017)
The message-security-assist extension 8 may be available on models implementing the z/Architecture architectural mode. The message-security-assist extension 8 provides support for both ciphering and authentication of a message, and the authentication of additional data (other than the message). The message-security-assist extension 8 provides the following instruction:
• CIPHER MESSAGE WITH AUTHENTICATION (KMA)
The CIPHER MESSAGE WITH AUTHENTICATION instruction provides support for the Galois-counter-mode (GCM) of ciphering, as described in Reference [17.] on page xxx. Functions provided by the instruction include the following:
• KMA-Query
• KMA-GCM-AES-128
• KMA-GCM-AES-192
• KMA-GCM-AES-256
• KMA-GCM-encrypted-AES-128
• KMA-GCM-encrypted-AES-192
• KMA-GCM-encrypted-AES-256
I am running into a problem when I try to use FBA volumes larger than 3GB.
I can attach the volume to the guest machine but when I try to format the volume using ICKDSF it gives errors above block 799994 4K blocks (6399952 512B blocks).
I have tried different FBA device types with the same results.
Note that I've used CKD devices larger than 3GB without problems. It seems that this limit only occurs with FBA devices.
ICK30701I EQUIPMENT CHECK ON D001
CSW = D87B60 0E000000 CCW = 41DE33E8 20000006 FILEMASK = C4
SENSE = 10000000 00000000 00000000 00000000 00000000 00000000
ICK30699I I/O RETRY LIMIT EXCEEDED
ICK10710I I/O ERROR OCCURRED ON DEVICE D001
CSW = D87B60 0E000000 CCW = 41DE33E8 20000006 FILEMASK = C4
SENSE = 10000000 00000000 00000000 00000000 00000000 00000000
Hi,
I get the following error when running 'make check' on Linux for a 'debug build':
$ configure --enable-debug --enable-getoptwrapper --enable-ipv6 --enable-cckd-bzip2 --enable-het-bzip2 --enable-object-rexx --enable-regina-rexx --enable-interlocked-access-facility-2=yes --enable-optimization=no
$ make check
Making check in m4
make[1]: Entering directory '/home/maarten/src/fish-git-hyperion-topdir/build/m4'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/maarten/src/fish-git-hyperion-topdir/build/m4'
Making check in util
make[1]: Entering directory '/home/maarten/src/fish-git-hyperion-topdir/build/util'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/maarten/src/fish-git-hyperion-topdir/build/util'
Making check in html
make[1]: Entering directory '/home/maarten/src/fish-git-hyperion-topdir/build/html'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/maarten/src/fish-git-hyperion-topdir/build/html'
Making check in man
make[1]: Entering directory '/home/maarten/src/fish-git-hyperion-topdir/build/man'
make[1]: Nothing to be done for 'check'.
make[1]: Leaving directory '/home/maarten/src/fish-git-hyperion-topdir/build/man'
Making check in .
make[1]: Entering directory '/home/maarten/src/fish-git-hyperion-topdir/build'
make[1]: Leaving directory '/home/maarten/src/fish-git-hyperion-topdir/build'
../hyperion/tests/runtest -p .libs ../hyperion/tests
Files: ../hyperion/tests/agf.tst ../hyperion/tests/awsbsf.tst ../hyperion/tests/bfp-001-divtoint.tst ../hyperion/tests/bfp-002-loadr.tst ../hyperion/tests/bfp-003-loadfpi.tst ../hyperion/tests/bfp-004-cvttolog.tst ../hyperion/tests/bfp-005-cvttolog64.tst ../hyperion/tests/bfp-006-cvttofix.tst ../hyperion/tests/bfp-007-cvttofix64.tst ../hyperion/tests/bfp-008-cvtfrlog.tst ../hyperion/tests/bfp-009-cvtfrlog64.tst ../hyperion/tests/bfp-010-cvtfrfix.tst ../hyperion/tests/bfp-011-cvtfrfix64.tst ../hyperion/tests/bfp-012-loadtest.tst ../hyperion/tests/bfp-013-comps.tst ../hyperion/tests/bfp-014-divide.tst ../hyperion/tests/bfp-015-sqrt.tst ../hyperion/tests/bfp-016-add.tst ../hyperion/tests/bfp-017-loadl.tst ../hyperion/tests/bfp-018-subtract.tst ../hyperion/tests/bfp-019-multiply.tst ../hyperion/tests/bfp-020-multlonger.tst ../hyperion/tests/bfp-021-multadd.tst ../hyperion/tests/bfp-022-multsub.tst ../hyperion/tests/cipher.tst ../hyperion/tests/cmd-abs.tst ../hyperion/tests/cmd-rv.tst ../hyperion/tests/csxtr.tst ../hyperion/tests/digest.tst ../hyperion/tests/hetbsf.tst ../hyperion/tests/ilc.tst ../hyperion/tests/invpsw.tst ../hyperion/tests/kimd-hw.tst ../hyperion/tests/klmd-hw.tst ../hyperion/tests/kmac-hw.tst ../hyperion/tests/kmc-hw.tst ../hyperion/tests/kmctr-hw.tst ../hyperion/tests/kmf-hw.tst ../hyperion/tests/km-hw.tst ../hyperion/tests/kmo-hw.tst ../hyperion/tests/leapfrog.tst ../hyperion/tests/logicimm.tst ../hyperion/tests/mainsize.tst ../hyperion/tests/mhi.tst ../hyperion/tests/mvcle.tst ../hyperion/tests/pfpo.tst ../hyperion/tests/privop.tst ../hyperion/tests/problem.tst ../hyperion/tests/pr.tst ../hyperion/tests/runtest0.tst ../hyperion/tests/runtest4.tst ../hyperion/tests/semipriv.tst ../hyperion/tests/sigp.tst ../hyperion/tests/ssk370.tst ../hyperion/tests/sske370.tst ../hyperion/tests/sske390.tst ../hyperion/tests/sske.tst ../hyperion/tests/stfl.tst ../hyperion/tests/timeout.tst ../hyperion/tests/wild.tst ../hyperion/tests/zeos.tst
Variable ptrsize set to "8".
Variable platform set to "Linux".
Not variable assignment in argument string: ../hyperion/tests
Novalue in /home/maarten/src/fish-git-hyperion-topdir/hyperion/tests/redtest.rexx -- variable OKS
738 >>> oks = oks + 1
This is often caused by missing or misspelled *Testcase
Note that the verbs are case sensitive. E.g., *testcase is not correct.
767 +++ Signal Value lets_get_a_traceback
563 +++ Call test lastmsg.ix = rest, msgtype 'message mismatch. ' info , 'Want:' rest, 'Got: ' lastmsg.ix
348 +++ call msg 'Error'
266 +++ Call order
97 +++ Call procline l
Error 16 running "/home/maarten/src/fish-git-hyperion-topdir/hyperion/tests/redtest.rexx", line 767: Label not found
Error 16.1: Label "LETS_GET_A_TRACEBACK" not found
Makefile:2839: recipe for target 'check' failed
make: *** [check] Error 240
Constrained-Transactional-Execution Facility (September, 2012)
The constrained-transactional-execution facility may available on a model in which the transactional-execution facility is installed. The constrained-transactional-execution facility ensures that – in the absence of repeated interruptions or conflicts with other CPUs or the I/O subsystem – transactional execution will eventually complete; thus, an abort-handler routine is not required. The facility provides the TRANSACTION BEGIN (TBEGINC) general instruction.
Configuration-z/Architecture- Architectural-Mode Facility (September, 2017)
The configuration-z/Architecture-architectural-mode (CZAM) facility may be present on a model implementing z/Architecture. When the facility is installed in a configuration, the configuration is reset into the z/Architecture architectural mode (rather than into the ESA/390 architectural mode), and the configuration cannot be switched into the ESA/390 architectural mode.
The facility may be installed in a configuration operating in a logical partition and in a configuration operating as a guest of a logical partition.
Message-Security-Assist Extension 6 (September,2017)
The message-security-assist extension 6 may be available on models implementing the message-security assist. The extension provides the following additional functions for the COMPUTE INTERMEDIATE MESSAGE DIGEST and COMPUTE LAST MESSAGE DIGEST instructions.
MSA SHA-3 Hash Facility: This facility consists of the following four functions for generating message digests having a length of 224, 256, 384, and 512 bits, using the respective SHA-3 functions defined in Reference [21.] on page xxx.
• KIMD-SHA3-224
• KIMD-SHA3-256
• KIMD-SHA3-384
• KIMD-SHA3-512
• KLMD-SHA3-224
• KLMD-SHA3-256
• KLMD-SHA3-384
• KLMD-SHA3-512
MSA SHA-3 Extendable-Output Facility: This facility consists of the following functions for producing message digests having any desired length using the SHAKE-128 and SHAKE-256 functions described in Reference [21.] on page xxx.
• KIMD-SHAKE-128
• KIMD-SHAKE-256
• KLMD-SHAKE-128
• KLMD-SHAKE-256
Transactional-Execution Facility (September, 2012)
Note: Issue "MISSING: Processor-Assist Facility" #27 is dependent in this issue being completed beforehand.
The transactional-execution facility may be available on a model implementing z/Architecture. The facility provides the means by which a program can issue multiple instructions, the storage accesses of which either (a) appear to occur as a single concurrent operation or (b) do not appear to occur, as observed by other CPUs and by the channel subsystem.
The facility provides the following general instructions:
• EXTRACT TRANSACTION NESTING DEPTH
• NONTRANSACTIONAL STORE
• TRANSACTION ABORT
• TRANSACTION BEGIN
• TRANSACTION END
Hi. After installing Hercules pre-built version Hercules-4.0.0.8873-SDL-ga36e0bbc, XCF signaling stopped working in both my base sysplex.
With version Hercules-4.0.0.8845-SDL-g15c01ddb and some earlier versions both my base sysplex is working great.
I tested the newest version a couple of times and the first system in the plex is coming up fine but the second system get no contact with the first system. This happens every time I test. You can see the response in the last picture in the attached file. As soon I go back to the version Hercules-4.0.0.8845-SDL-g15c01ddb both my plex works fine again.
In the attached file I show how the CTCE's are configured in the two Hercules configuration files as well as the corresponding parmlib couple members for both systems.
Load-and-Trap Facility (September, 2012)
The facility adds instructions that can be used to assist the program in determining when a value of all zeros (an address for example) has been loaded into a designated register.
The facility provides the following new instructions:
• LAT (LOAD AND TRAP)
• LGAT (LOAD AND TRAP)
• LFHAT (LOAD HIGH AND TRAP)
• LLGFAT (LOAD LOGICAL AND TRAP)
• LLGTAT (LOAD LOGICAL THIRTY ONE BITS AND TRAP)
Hercules supports many Diagnose instructions (see ARCH_DEP(diagnose_call)
in source file diagnose.c
), some of which are Hercules-specific (FEATURE_HERCULES_DIAGCALLS
).
I personally feel all such diagnose instructions (whether Hercules-specific or not) should be documented somewhere in our documentation.
This is just another possible "TO-DO" item.
Hi,
trying to compile on macOS 10.12.2 I get the following error messages.
This issue was introduced with 2016-11-23 code changes:
::
::
4 warnings generated.
CC trace.lo
CC vector.lo
CC vm.lo
CC vmd250.lo
CC vstore.lo
CC w32util.lo
CC xstore.lo
CCLD libherc.la
*** Warning: Linking the shared library libherc.la against the
*** static library decNumber/lib/libdecNumber64.a is not portable!
*** Warning: Linking the shared library libherc.la against the
*** static library SoftFloat/lib/libSoftFloat64.a is not portable!
ld: warning: ignoring file decNumber/lib/libdecNumber64.a, file was built for archive which is not the architecture being linked (x86_64): decNumber/lib/libdecNumber64.a
ld: warning: ignoring file SoftFloat/lib/libSoftFloat64.a, file was built for archive which is not the architecture being linked (x86_64): SoftFloat/lib/libSoftFloat64.a
Undefined symbols for architecture x86_64:
"_decContextDefault", referenced from:
_z900_add_dfp_ext_reg in dfp.o
_z900_add_dfp_long_reg in dfp.o
_z900_compare_dfp_ext_reg in dfp.o
_z900_compare_dfp_long_reg in dfp.o
_z900_compare_and_signal_dfp_ext_reg in dfp.o
_z900_compare_and_signal_dfp_long_reg in dfp.o
_z900_compare_exponent_dfp_ext_reg in dfp.o
...
"_decNumberAdd", referenced from:
::
::
"_ui64_to_f64", referenced from:
_z900_convert_u64_to_bfp_long_reg in ieee.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libherc.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
MacBook:2016-11-23_hyperion-master$ clang -v
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
I am using the following compile/link parameters:
CFLAGS="-O3 -D_FORTIFY_SOURCE=0" CC="gcc" ./configure --enable-optimization="-O3 -mtune=native -fomit-frame-pointer -Wunreachable-code"
make
2016-11-19 code has no problem to compile !
Any advise to get around this issue ?
cheers Dirk
Side-Effect-Access Facility (September, 2017)
The side-effect-access facility may be available on a model implementing z/Architecture. When the facility is installed, the translation-exception identification (TEID) stored at real locations 168-175 during certain access exceptions contains an indication that the access was a side-effect access. A side-effect access is an implied access not directly associated with a storage operand of an instruction, is not an instruction fetch, is not a fetch of table information during ART or DAT, and is not a store of a trace entry. Additionally, when the side-effect-access facility is installed, an enhanced three-bit protection code is stored in the TEID.
Attempting to build Hyperion using VS2015 (with the default telnet32.lib
or telnet64.lib
libraries that now come delivered with the repository as of commit bd78204) results in an "unresolved external symbol" link error for vscprintf
and vsnprintf_s
:
[...]
console.c
Creating library msvc.AMD64.obj\hdt3270.lib and object msvc.AMD64.obj\hdt3270.exp
telnet64.lib(telnet.c.obj) : error LNK2001: unresolved external symbol __imp__vscprintf
telnet64.lib(telnet.c.obj) : error LNK2001: unresolved external symbol __imp__vsnprintf_s
msvc.AMD64.bin\hdt3270.dll : fatal error LNK1120: 2 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.EXE"' : return code '0x460'
Stop.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(46,5): error MSB3073: The command "makefile.bat RETAIL-X64 makefile.msvc 64 -a -title "** The unofficial SoftDevLabs version of Hercules **"" exited with code 2.
Vector Packed-Decimal Facility (September, 2017)
The vector-packed-decimal facility may be available on models implementing z/Architecture. When the facility is installed and enabled, vector decimal instructions are available, allowing operations on packed data in vector registers. The facility provides the following instructions:
• VECTOR ADD DECIMAL
• VECTOR COMPARE DECIMAL
• VECTOR CONVERT TO BINARY
• VECTOR CONVERT TO DECIMAL
• VECTOR DIVIDE DECIMAL
• VECTOR LOAD IMMEDIATE DECIMAL
• VECTOR LOAD RIGHTMOST WITH LENGTH
• VECTOR MULTIPLY DECIMAL
• VECTOR MULTIPLY AND SHIFT DECIMAL
• VECTOR PACK ZONED
• VECTOR PERFORM SIGN OPERATION DECIMAL
• VECTOR REMAINDER DECIMAL
• VECTOR SHIFT AND DIVIDE DECIMAL
• VECTOR SHIFT AND ROUND DECIMAL
• VECTOR STORE RIGHTMOST WITH LENGTH
• VECTOR SUBTRACT DECIMAL
• VECTOR TEST DECIMAL
• VECTOR UNPACK ZONED
Note: this issue is closely related to issue #32: "Instruction registers display is buggy/unreliable".
Instruction and I/O tracing is currently very slow (introduces a significant performance impact) due to, I believe, the fact that the current implementation always immediately formats and displays the trace information directly to the console while tracing is active (which is very inefficient not only because formatting a message itself is inefficient, but also because our entire message handling is itself incredibly inefficient, passing formatted messages through a pipe, etc).
I suspect the performance of instruction and I/O tracing would be dramatically improved if we would instead simply write the raw information to a disk file which could then be processed by an offline utility to selectively display the desired information.
Instruction-Execution-Protection Facility (September, 2017)
The instruction-execution-protection facility may be available on a model implementing z/Architecture. When the facility is installed and enabled, and an instruction is fetched from the primary or home address space, an instruction-execution-protection control in the leaf DAT-table entry used in the translation determines whether instructions may or may not be executed from the frame mapped by the entry.
The facility may be used by a control program to better segregate instructions from data. Improved system reliability and integrity may be realized by preventing the execution of instructions from storage locations intended to contain only data. For example, erroneously or maliciously modified data in a program stack can be prevented from being executed.
Note: issue #112 "HTHREADS thread-priorities implementation appears BORKED" appears to be closely related to this one.
Significant enhancements to Hercules's lock handling has been done over the years (mostly for integrity/error-checking purposes), resulting in a likely inefficient design and implementation (based on looking at the code), thereby slowing down all of Hercules given how much it (or any multi-threaded program, really!) relies on locks for controlled access to shared resources.
A detailed review, redesign and potential complete rewrite appears to very likely be in order.
One thing that might possibly be done right away is to have separate debug and non-debug versions of all locking functions to eliminate the overhead that exists in the current design, which currently tries hard to catch locking errors (which as we all know are otherwise notoriously difficult to catch).
But the most important change that could probably be made is to implement RW locking support in Windows and then leverage RW locking in all of Hercules.
POSIX pthreads has long supported RW locks (pthread_rwlock...
set of functions) but Windows only introduced "Slim Reader/Writer (SRW) Locks" starting with Windows Vista, and due to Windows XP being, at the time, our minimum supported platform, our hthreads implementation for Windows failed to support it (and we never bothered to try replacing our existing mutex locks with R/W locks anywhere within Hercules either as a result).
Now that the minimum supported platform for SoftDevLabs Hyperion has been changed to Windows Vista or greater however, concerned effort should be undertaken to provide native Windows R/W locking support via Windows's "Slim Reader/Writer (SRW) Locks" functions.
Bottom line: Hercules's HTHREADS implementation needs a lot of attention!
Hercules's facility table (FACTAB
in archlvl.c
) currently has the ASN-and-LX Reuse Facility defaulting to disabled:
#if defined(_FEATURE_ASN_AND_LX_REUSE)
FACILITY( ASN_LX_REUSE, 0, /*Z390*/ NONE, Z390, ALS2|ALS3 )
#endif
thereby requiring users to insert an ARCHLVL ENABLE ASN_LX_REUSE
statement into their Hercules configuration file when running an operating system that expects the facility to be present. (Otherwise such operating systems won't even IPL.)
The historical reason(s) for why it was decided to default the facility bit to off (disabled) is unimportant. What is important (IMO) is to correct the error by always defaulting to enabled, thereby reversing the requirement for our users to instead insert a ARCHLVL DISABLE ASN_LX_REUSE
statement into their Hercules configuration file when running an operating system that is incompatible with the facility (which are less common than those expecting it).
This issue is just a reminder ("TO-DO" item) so I can remember to change it and to give others an opportunity to comment on this issue before it is implemented.
Hercules currently supports many different networking device types:
Type | Description |
---|---|
2703 | Binary Synchronous (BSC/Bisync) communication line |
3088 | (generic type used in old/deprecated format device statements) |
3705 | Communications Controller running NCP |
CTCE | Enhanced Channel to Channel Emulation via TCP connection (true CTCA) |
CTCI | Channel to Channel link to host TCP/IP stack |
CTCT | Channel to Channel Emulation via TCP connection |
LCS | LAN Channel Station Emulation |
OSA | (synonym for QETH) |
OSD | (synonym for QETH) |
PTP | MPCPTP and/or MPCPTP6 Point-To-Point (PTP) |
QETH | OSA Express |
VMNET | SLIP (Serial Line Internet Protocol) |
Support for 3088 and VMNET are definitely going to be dropped, but what about, for example, CTCT? Does anyone actually use CTCT today?
As I recall it was created in an attempt to provide pseudo Channel-to-Channel support, i.e. the ability for two (or more??) Hercules systems to be able to directly communicate with one another just as a true CTC device did.
Unfortunately, as I also recall, it never did work right, and has since been replaced with CTCE, which does provide true CTC support, allowing you to connect multiple Hercules systems together in a sysplex.
Q1: Which Hercules networking communication device types do you personally still use?
Q2: Would anyone mind if support for CTCT were to be dropped?
Thanks!
Attempting to connect a telnet client to Hercules (on Linux) causes Hercules to immediately abort (exit to command line) with a libtool error:
/home/fish/hercules/hercules-0/.libs/lt-herclin: symbol lookup error: .libs/hdt3270.so: undefined symbol: telnet_init
Looking into it...
Multiple-Epoch Facility (September,2017)
The multiple-epoch facility may be available on a model implementing z/Architecture. The facility provides the means by which a nonzero epoch index may be stored in byte 0 of the operand of the STORE CLOCK EXTENDED instruction and in bits 9-15 of the trace entry formed by the TRACE (TRACG) instruction.
The multiple-epoch facility also provides four additional functions for the PERFORM TIMING FACILITY FUNCTION (PTFF) instruction:
• Query steering information extended
• Query TOD offset user extended
• Set TOD offset extended
• Set TOD offset user extended
Additionally, the multiple-epoch facility provides the clock-comparator sign control, allowing the comparisons of the clock comparator to be either signed or unsigned.
When the multiple-epoch facility is installed, the store-clock-fast and TOD-clock-steering facilities are also installed.
Order Preserving Compression Facility (September, 2017)
The order-preserving-compression facility may be available on models implementing z/Architecture. When the facility is installed the ordering of compressed symbols is the same as the ordering of uncompressed data when compression is performed by COMPRESSION CALL.
Message-Security-Assist Extension 7 (September, 2017)
The message-security-assist extension 7 may be available on models implementing the message-security-assist extension 5. The extension provides the following additional functions to the PERFORM RANDOM NUMBER OPERATION (PRNO) instruction related to true random number generation:
• PRNO-TRNG-Query-Raw-to-Conditioned Ratio
• PRNO-TRNG
There is a possible race condition in SCP command processing.
I say "possible" since the manner in which it is currently behaving might be correct. Further research is required to determine whether the current behavior is correct or not.
When multiple SCP guest commands are issued in rapid succession (by leveraging the now fixed 'cmdsep' feature), it is possible for one or more subsequent commands to be skipped/missed (not processed) while the current command is being processed.
The following log file extract illustrates this behavior:
The above .rc file was used to trigger the behavior. The guest O/S used was z/VM 6.3, but other modern operating systems (such as z/OS) behave similarly.
The test was performed on a Windows 7 x64 host running commit 424ba73 of Hyperion, dated Nov 11, 2017 (i.e. the cmdsep fix).
07:04:55 HHC01603I script "C:\Users\Fish\HercGUI\Configuration Files\scripts\cmdsep.rc.txt"
07:04:55 HHC02260I Script 1: begin processing file C:/Users/Fish/HercGUI/Configuration Files/scripts/cmdsep.rc.txt
07:04:55 HHC01603I msglvl -debug +emsgloc
07:04:55 HHC17012I MSGLEVEL = verbose nodebug emsgloc
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I * *********************************************************************
07:04:55 HHC01603I * *********************************************************************
07:04:55 HHC01603I * ********************** BEGIN TEST ***************************
07:04:55 HHC01603I * *********************************************************************
07:04:55 HHC01603I * *********************************************************************
07:04:55 HHC01603I *
07:04:55 HHC01603I cmdsep ^
07:04:55 HHC02204I CMDSEP set to ^
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I * -----------------------------------------------------------
07:04:55 HHC01603I * Each command individually with slight pause between each,
07:04:55 HHC01603I * so we can see what the correct response should look like.
07:04:55 HHC01603I * -----------------------------------------------------------
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC00160I SCP command: q e
07:04:55 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:55 07:04:55 Q E
07:04:55 07:04:55 PRT 000E DRAINED SYSTEM CLASS A
07:04:55 07:04:55 PRT 000E FORM STANDARD MANUAL SEP NO3800 FILEFCB LIMIT NONE
07:04:55 07:04:55 PRT 000E NOFOLD IMAGE IMAG3211 CHARS A11 FCB FCB1 INDEX 1 LPP 000
07:04:55 07:04:55 PRT 000E DEST OFF DEST - NONE - DEST - NONE - DEST - NONE -
07:04:55 07:04:55 PRT 000E AFP
07:04:55 HHC02263I Script 1: processing resumed...
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC00160I SCP command: q cons
07:04:55 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:55 07:04:55 Q CONS
07:04:55 07:04:55 CONS 0009 ON SYSC TERM START
07:04:55 07:04:55 0009 CL T NOCONT NOHOLD COPY 001 READY FORM STANDARD
07:04:55 07:04:55 0009 TO OPERATOR PRT DIST OPERATOR FLASHC 000 DEST OFF
07:04:55 07:04:55 0009 FLASH CHAR MDFY 0 FCB LPP OFF
07:04:55 07:04:55 0009 3215 NOEOF OPEN 0010 NOKEEP NOMSG NONAME
07:04:55 07:04:55 0009 SUBCHANNEL = 0005
07:04:55 HHC02263I Script 1: processing resumed...
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC00160I SCP command: q cplevel
07:04:55 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:55 07:04:55 Q CPLEVEL
07:04:55 07:04:55 z/VM Version 6 Release 3.0, service level 1302 (64-bit)
07:04:55 07:04:55 Generated at 08/07/13 11:42:58 PST
07:04:55 07:04:55 IPL at 11/12/17 06:43:01 PST
07:04:55 HHC02263I Script 1: processing resumed...
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC00160I SCP command: q dasd
07:04:55 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:55 07:04:55 Q DASD
07:04:55 07:04:55 DASD 0101 CP OWNED VMCOM1 12
07:04:55 07:04:55 DASD 0201 CP SYSTEM 630RL1 9
07:04:55 07:04:55 DASD 0301 CP OWNED M01RES 104
07:04:55 07:04:55 DASD 0901 CP OWNED M01S01 0
07:04:55 07:04:55 DASD 0902 CP OWNED M01P01 0
07:04:55 07:04:55 DASD 0903 CP SYSTEM M01W01 0
07:04:55 HHC02263I Script 1: processing resumed...
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC00160I SCP command: q osa
07:04:55 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:55 07:04:55 Q OSA
07:04:55 07:04:55 OSA 0600 ATTACHED TO TCPIP 0600 DEVTYPE OSA CHPID F0 OSD
07:04:55 07:04:55 OSA 0601 ATTACHED TO TCPIP 0601 DEVTYPE OSA CHPID F0 OSD
07:04:55 07:04:55 OSA 0602 ATTACHED TO TCPIP 0602 DEVTYPE OSA CHPID F0 OSD
07:04:55 HHC02263I Script 1: processing resumed...
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC01603I *
07:04:55 HHC00160I SCP command: q set
07:04:55 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:55 07:04:55 Q SET
07:04:55 07:04:55 MSG ON , WNG ON , EMSG ON , ACNT OFF, RUN ON
07:04:55 07:04:55 LINEDIT ON , TIMER OFF , ISAM OFF, ECMODE ON
07:04:55 07:04:55 ASSIST OFF , PAGEX OFF, AUTOPOLL OFF
07:04:55 07:04:55 IMSG ON , SMSG OFF , AFFINITY NONE , NOTRAN OFF
07:04:55 07:04:55 VMSAVE OFF, 370E OFF
07:04:55 07:04:55 STBYPASS OFF , STMULTI OFF 00/000
07:04:55 07:04:55 MIH OFF , VMCONIO OFF , CPCONIO OFF , SVCACCL OFF , CONCEAL OFF
07:04:55 07:04:55 MACHINE ESA, SVC76 CP, NOPDATA OFF, IOASSIST OFF
07:04:55 07:04:55 CCWTRAN ON, 370ACCOM OFF, TIMEBOMB IDLE
07:04:56 HHC02263I Script 1: processing resumed...
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC00160I SCP command: q stor
07:04:56 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:56 07:04:56 Q STOR
07:04:56 07:04:56 STORAGE = 5G CONFIGURED = 5G INC = 1M STANDBY = 0 RESERVED = 0
07:04:56 HHC02263I Script 1: processing resumed...
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC00160I SCP command: q sys
07:04:56 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:56 07:04:56 Q SYS
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0101 ATTACHED CPVOL 0012 VMCOM1
07:04:56 07:04:56 VMSERVP 0311 R/W , VMSERVP 0310 R/W , VMSERVP 0309 R/W
07:04:56 07:04:56 VMSERVP 0308 R/W , VMSERVP 0307 R/W , VMSERVP 0306 R/W
07:04:56 07:04:56 VMSERVP 0305 R/W , VMSERVP 0304 R/W , VMSERVP 0303 R/W
07:04:56 07:04:56 VMSERVP 0301 R/W , VMSERVP 0302 R/W , VMSERVP 0191 R/W
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0201 ATTACHED SYSTEM 0009 630RL1
07:04:56 07:04:56 DTCVSW1 0492 R/O , DTCVSW2 0492 R/O , TCPIP 0492 R/O
07:04:56 07:04:56 FTPSERVE 0492 R/O , DTCVSW1 0491 R/O , DTCVSW2 0491 R/O
07:04:56 07:04:56 TCPIP 0491 R/O , FTPSERVE 0491 R/O , EREP 0201 R/O
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0301 ATTACHED CPVOL 0104 M01RES
07:04:56 07:04:56 OPERATOR 0191 R/W , OPERATOR 0192 R/O , FTPSERVE 0191 R/W
07:04:56 07:04:56 TCPIP 0191 R/W , VMSERVR 0307 R/W , VMSERVR 0306 R/W
07:04:56 07:04:56 VMSERVR 0305 R/W , DTCVSW1 0191 R/W , VMSERVU 0305 R/W
07:04:56 07:04:56 VMSERVR 0304 R/W , DTCVSW2 0191 R/W , VMSERVU 0304 R/W
07:04:56 07:04:56 VMSERVR 0303 R/W , DTCVSW2 0198 R/O , DTCVSW1 0198 R/O
07:04:56 07:04:56 TCPIP 0198 R/O , FTPSERVE 0198 R/O , VMSERVU 0303 R/W
07:04:56 07:04:56 VMSERVR 0302 R/W , DTCVSW2 0592 R/O , DTCVSW1 0592 R/O
07:04:56 07:04:56 TCPIP 0592 R/O , FTPSERVE 0592 R/O , VMSERVU 0302 R/W
07:04:56 07:04:56 VMSERVR 0301 R/W , DTCVSW2 0591 R/O , DTCVSW1 0591 R/O
07:04:56 07:04:56 TCPIP 0591 R/O , FTPSERVE 0591 R/O , VMSERVU 0301 R/W
07:04:56 07:04:56 VMSERVR 0191 R/W , VMSERVU 0191 R/W , VMSERVS 0305 R/W
07:04:56 07:04:56 VMSERVS 0304 R/W , VMSERVS 0303 R/W , VMSERVS 0302 R/W
07:04:56 07:04:56 VMSERVS 0301 R/W , VMSERVS 0191 R/W , OPERSYMP 0191 R/W
07:04:56 07:04:56 OPERSYMP 0192 R/O , VMSERVS 0193 R/O , VMSERVU 0193 R/O
07:04:56 07:04:56 VMSERVR 0193 R/O , VMSERVP 0193 R/O , DISKACNT 0191 R/W
07:04:56 07:04:56 EREP 0191 R/W , DISKACNT 0401 R/O , OPERSYMP 0401 R/O
07:04:56 07:04:56 VMSERVS 0401 R/O , VMSERVP 0401 R/O , DTCVSW2 0401 R/O
07:04:56 07:04:56 VMSERVU 0401 R/O , DTCVSW1 0401 R/O , VMSERVR 0401 R/O
07:04:56 07:04:56 TCPIP 0401 R/O , FTPSERVE 0401 R/O , OPERATOR 0401 R/O
07:04:56 07:04:56 DISKACNT 0402 R/O , OPERSYMP 0402 R/O , VMSERVS 0402 R/O
07:04:56 07:04:56 VMSERVP 0402 R/O , DTCVSW2 0402 R/O , VMSERVU 0402 R/O
07:04:56 07:04:56 DTCVSW1 0402 R/O , VMSERVR 0402 R/O , TCPIP 0402 R/O
07:04:56 07:04:56 FTPSERVE 0402 R/O , OPERATOR 0402 R/O , DISKACNT 019E R/O
07:04:56 07:04:56 OPERSYMP 019E R/O , VMSERVS 019E R/O , VMSERVP 019E R/O
07:04:56 07:04:56 DTCVSW2 019E R/O , VMSERVU 019E R/O , DTCVSW1 019E R/O
07:04:56 07:04:56 VMSERVR 019E R/O , TCPIP 019E R/O , FTPSERVE 019E R/O
07:04:56 07:04:56 OPERATOR 019E R/O , DISKACNT 019D R/O , OPERSYMP 019D R/O
07:04:56 07:04:56 VMSERVS 019D R/O , VMSERVP 019D R/O , DTCVSW2 019D R/O
07:04:56 07:04:56 VMSERVU 019D R/O , DTCVSW1 019D R/O , VMSERVR 019D R/O
07:04:56 07:04:56 TCPIP 019D R/O , FTPSERVE 019D R/O , OPERATOR 019D R/O
07:04:56 07:04:56 EREP 0190 R/O , DISKACNT 0190 R/O , OPERSYMP 0190 R/O
07:04:56 07:04:56 VMSERVS 0190 R/O , VMSERVP 0190 R/O , DTCVSW2 0190 R/O
07:04:56 07:04:56 VMSERVU 0190 R/O , DTCVSW1 0190 R/O , VMSERVR 0190 R/O
07:04:56 07:04:56 TCPIP 0190 R/O , FTPSERVE 0190 R/O , OPERATOR 0190 R/O
07:04:56 07:04:56 SYSTEM 0003 R/O , SYSTEM 0001 R/O
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0901 ATTACHED CPVOL 0000 M01S01
07:04:56 07:04:56 DASD MDISKS NOT FOUND
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0902 ATTACHED CPVOL 0000 M01P01
07:04:56 07:04:56 DASD MDISKS NOT FOUND
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0903 ATTACHED SYSTEM 0000 M01W01
07:04:56 07:04:56 DASD MDISKS NOT FOUND
07:04:56 HHC02263I Script 1: processing resumed...
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC00160I SCP command: q t
07:04:56 HHC02262I Script 1: processing paused for 150 milliseconds...
07:04:56 07:04:56 Q T
07:04:56 07:04:56 TIME IS 07:04:56 PST SUNDAY 11/12/17
07:04:56 07:04:56 CONNECT= 00:00:58 VIRTCPU= 000:00.00 TOTCPU= 000:00.06
07:04:56 HHC02263I Script 1: processing resumed...
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC01603I * -----------------------------------------------------------
07:04:56 HHC01603I * Now do them all at once pausing slightly longer afterwards
07:04:56 HHC01603I * -----------------------------------------------------------
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC01603I *
07:04:56 HHC00160I SCP command: q e
07:04:56 HHC00160I SCP command: q cons
07:04:56 HHC00160I SCP command: q cplevel
07:04:56 HHC00160I SCP command: q dasd
07:04:56 HHC00160I SCP command: q osa
07:04:56 HHC00160I SCP command: q set
07:04:56 HHC00160I SCP command: q stor
07:04:56 HHC00160I SCP command: q sys
07:04:56 HHC00160I SCP command: q t
07:04:56 HHC02262I Script 1: processing paused for 1250 milliseconds...
07:04:56 07:04:56 Q E
07:04:56 07:04:56 PRT 000E DRAINED SYSTEM CLASS A
07:04:56 07:04:56 PRT 000E FORM STANDARD MANUAL SEP NO3800 FILEFCB LIMIT NONE
07:04:56 07:04:56 PRT 000E NOFOLD IMAGE IMAG3211 CHARS A11 FCB FCB1 INDEX 1 LPP 000
07:04:56 07:04:56 PRT 000E DEST OFF DEST - NONE - DEST - NONE - DEST - NONE -
07:04:56 07:04:56 PRT 000E AFP
07:04:56 07:04:56 Q DASD
07:04:56 07:04:56 DASD 0101 CP OWNED VMCOM1 12
07:04:56 07:04:56 DASD 0201 CP SYSTEM 630RL1 9
07:04:56 07:04:56 DASD 0301 CP OWNED M01RES 104
07:04:56 07:04:56 DASD 0901 CP OWNED M01S01 0
07:04:56 07:04:56 DASD 0902 CP OWNED M01P01 0
07:04:56 07:04:56 DASD 0903 CP SYSTEM M01W01 0
07:04:56 07:04:56 Q SYS
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0101 ATTACHED CPVOL 0012 VMCOM1
07:04:56 07:04:56 VMSERVP 0311 R/W , VMSERVP 0310 R/W , VMSERVP 0309 R/W
07:04:56 07:04:56 VMSERVP 0308 R/W , VMSERVP 0307 R/W , VMSERVP 0306 R/W
07:04:56 07:04:56 VMSERVP 0305 R/W , VMSERVP 0304 R/W , VMSERVP 0303 R/W
07:04:56 07:04:56 VMSERVP 0301 R/W , VMSERVP 0302 R/W , VMSERVP 0191 R/W
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0201 ATTACHED SYSTEM 0009 630RL1
07:04:56 07:04:56 DTCVSW1 0492 R/O , DTCVSW2 0492 R/O , TCPIP 0492 R/O
07:04:56 07:04:56 FTPSERVE 0492 R/O , DTCVSW1 0491 R/O , DTCVSW2 0491 R/O
07:04:56 07:04:56 TCPIP 0491 R/O , FTPSERVE 0491 R/O , EREP 0201 R/O
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0301 ATTACHED CPVOL 0104 M01RES
07:04:56 07:04:56 OPERATOR 0191 R/W , OPERATOR 0192 R/O , FTPSERVE 0191 R/W
07:04:56 07:04:56 TCPIP 0191 R/W , VMSERVR 0307 R/W , VMSERVR 0306 R/W
07:04:56 07:04:56 VMSERVR 0305 R/W , DTCVSW1 0191 R/W , VMSERVU 0305 R/W
07:04:56 07:04:56 VMSERVR 0304 R/W , DTCVSW2 0191 R/W , VMSERVU 0304 R/W
07:04:56 07:04:56 VMSERVR 0303 R/W , DTCVSW2 0198 R/O , DTCVSW1 0198 R/O
07:04:56 07:04:56 TCPIP 0198 R/O , FTPSERVE 0198 R/O , VMSERVU 0303 R/W
07:04:56 07:04:56 VMSERVR 0302 R/W , DTCVSW2 0592 R/O , DTCVSW1 0592 R/O
07:04:56 07:04:56 TCPIP 0592 R/O , FTPSERVE 0592 R/O , VMSERVU 0302 R/W
07:04:56 07:04:56 VMSERVR 0301 R/W , DTCVSW2 0591 R/O , DTCVSW1 0591 R/O
07:04:56 07:04:56 TCPIP 0591 R/O , FTPSERVE 0591 R/O , VMSERVU 0301 R/W
07:04:56 07:04:56 VMSERVR 0191 R/W , VMSERVU 0191 R/W , VMSERVS 0305 R/W
07:04:56 07:04:56 VMSERVS 0304 R/W , VMSERVS 0303 R/W , VMSERVS 0302 R/W
07:04:56 07:04:56 VMSERVS 0301 R/W , VMSERVS 0191 R/W , OPERSYMP 0191 R/W
07:04:56 07:04:56 OPERSYMP 0192 R/O , VMSERVS 0193 R/O , VMSERVU 0193 R/O
07:04:56 07:04:56 VMSERVR 0193 R/O , VMSERVP 0193 R/O , DISKACNT 0191 R/W
07:04:56 07:04:56 EREP 0191 R/W , DISKACNT 0401 R/O , OPERSYMP 0401 R/O
07:04:56 07:04:56 VMSERVS 0401 R/O , VMSERVP 0401 R/O , DTCVSW2 0401 R/O
07:04:56 07:04:56 VMSERVU 0401 R/O , DTCVSW1 0401 R/O , VMSERVR 0401 R/O
07:04:56 07:04:56 TCPIP 0401 R/O , FTPSERVE 0401 R/O , OPERATOR 0401 R/O
07:04:56 07:04:56 DISKACNT 0402 R/O , OPERSYMP 0402 R/O , VMSERVS 0402 R/O
07:04:56 07:04:56 VMSERVP 0402 R/O , DTCVSW2 0402 R/O , VMSERVU 0402 R/O
07:04:56 07:04:56 DTCVSW1 0402 R/O , VMSERVR 0402 R/O , TCPIP 0402 R/O
07:04:56 07:04:56 FTPSERVE 0402 R/O , OPERATOR 0402 R/O , DISKACNT 019E R/O
07:04:56 07:04:56 OPERSYMP 019E R/O , VMSERVS 019E R/O , VMSERVP 019E R/O
07:04:56 07:04:56 DTCVSW2 019E R/O , VMSERVU 019E R/O , DTCVSW1 019E R/O
07:04:56 07:04:56 VMSERVR 019E R/O , TCPIP 019E R/O , FTPSERVE 019E R/O
07:04:56 07:04:56 OPERATOR 019E R/O , DISKACNT 019D R/O , OPERSYMP 019D R/O
07:04:56 07:04:56 VMSERVS 019D R/O , VMSERVP 019D R/O , DTCVSW2 019D R/O
07:04:56 07:04:56 VMSERVU 019D R/O , DTCVSW1 019D R/O , VMSERVR 019D R/O
07:04:56 07:04:56 TCPIP 019D R/O , FTPSERVE 019D R/O , OPERATOR 019D R/O
07:04:56 07:04:56 EREP 0190 R/O , DISKACNT 0190 R/O , OPERSYMP 0190 R/O
07:04:56 07:04:56 VMSERVS 0190 R/O , VMSERVP 0190 R/O , DTCVSW2 0190 R/O
07:04:56 07:04:56 VMSERVU 0190 R/O , DTCVSW1 0190 R/O , VMSERVR 0190 R/O
07:04:56 07:04:56 TCPIP 0190 R/O , FTPSERVE 0190 R/O , OPERATOR 0190 R/O
07:04:56 07:04:56 SYSTEM 0003 R/O , SYSTEM 0001 R/O
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0901 ATTACHED CPVOL 0000 M01S01
07:04:56 07:04:56 DASD MDISKS NOT FOUND
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0902 ATTACHED CPVOL 0000 M01P01
07:04:56 07:04:56 DASD MDISKS NOT FOUND
07:04:56 07:04:56
07:04:56 07:04:56 DASD 0903 ATTACHED SYSTEM 0000 M01W01
07:04:56 07:04:56 DASD MDISKS NOT FOUND
07:04:56 07:04:56 Q T
07:04:56 07:04:56 TIME IS 07:04:56 PST SUNDAY 11/12/17
07:04:56 07:04:56 CONNECT= 00:00:59 VIRTCPU= 000:00.00 TOTCPU= 000:00.07
07:04:57 HHC02263I Script 1: processing resumed...
07:04:57 HHC01603I *
07:04:57 HHC01603I *
07:04:57 HHC01603I *
07:04:57 HHC01603I cmdsep off
07:04:57 HHC02204I CMDSEP set to OFF
07:04:57 HHC01603I *
07:04:57 HHC01603I * *********************************************************************
07:04:57 HHC01603I * *********************************************************************
07:04:57 HHC01603I * *********************** END TEST ****************************
07:04:57 HHC01603I * *********************************************************************
07:04:57 HHC01603I * *********************************************************************
07:04:57 HHC02264I Script 1: file C:/Users/Fish/HercGUI/Configuration Files/scripts/cmdsep.rc.txt processing ended
As you can see, several commands were skipped/missed (not processed by the guest).
As I explained, this may be correct behavior. I don't know. More research is needed.
I am simply creating this GitHub "Issue" for the benefit of others and so I don't forget to look into the "problem" in case it actually is a problem.
Out-of-source builds on Linux are not working yet.
Working on it...
When I try to compile with NO_IEEE_SUPPORT defined, compiling some modules (config.c for example) fails with:
%CC-E-ERRORMESSAGE, #error Floating point extension facility requires binary floating point
at line number 629 in file HERCULES_CODE:[FISH-2017-02-07]FEATCHK.H;1
It appears that this has been worked around historically in hyperion by commenting out
#define FEATURE_FLOATING_POINT_EXTENSION_FACILITY
in feat900.h, however this no longer done in this fork.
I try to put two commands in one line
cmdsep - looks like for this
but not work :-(
first I try to put SCP command - hercules send both commad as one
I try hercules command - the same
here is hercules log :
HHC01603I cmdsep ^
HHC02204I CMDSEP set to ^
HHC00160I SCP command: d a,l^.d r,l
IEE535I DISPLAY INVALID PARAMETER
HHC00160I SCP command: d a,l ^ .d r,l
IEE114I 11.34.34 2017.315 ACTIVITY 292
JOBS M/S TS USERS SYSAS INITS ACTIVE/MAX VTAM OAS
00001 00010 00000 00030 00011 00000/00010 00008
PIES PIES PIES NSW S JES2 JES2 IEFPROC NSW S
NET NET VTAM NSW S LLA LLA LLA NSW S
VLF VLF VLF NSW S DEVLSTRT DEVLSTRT MAIELCMD OWT S
TSO TSO STEP1 OWT S SDSF SDSF SDSF NSW S
TCPIP TCPIP TCPIP NSW SO FTPD1 STEP1 FTPD OWT AO
AOHERCLG AOHERCLG HERCLOG OWT S
HHC01603I capping ^ d r
HHC02299E Invalid command usage. Type 'help capping' for assistance.
HHC01603I cmdsep
HHC02203I CMDSEP : ^
Hi, I recently upgraded to 4.0.0.8745 and the shadow file names seem to have changed.
I use:
6C15 3390 D:/Hercules/MVS/ZOS/DLB001.3390-9.comp-z nofulltrackio sf=D:/Hercules/MVS/ZOS/DLB001_Shadow_0.3390-9.comp-z cu=3990-3
and in prior versions (4.00.0.8143) the shadow file were named DLB001_Shadow_1.3390-9.comp-z
With the current version of Hyperion I am now getting shadow files named DLB001_Shadow_0.3390-1.comp-z
.
The shadow number is going after the -
(dash) instead of the _
(underscore).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.