somitcw@yahoo.com [hercules-390]
2018-04-29 02:05:29 UTC
A Hercules user, Peppe A.K.A. Giuseppe Vitillaro, reported an issue on
group hercules-os380 which identified another issue.
His Hercules configuration file had his initial ARCHLVL before MAINSIZE.
His MAINSIZE was rejected with a message that MAINSIZE was invalid.
S/370-24bit and S/370-31bit both have instructions that access 31-bit real
memory: ISKE, SSKE, RRBE, and TB.
S/370-24bit and S/370-31bit both use extended IDAW for 31-bit I/O real addresses.
Hercules has been trying to allow the Hercules configuration file to be scrambled.
One line of code appears to break both IBM most current S/370-24bit Principles of
Operation and Hercules attempt to allow a scrambled configuration file.
My test:
HHC01413I Hercules version 4.0.0.9176-SDL-g4ee084f9 (4.0.0.9176)
HHC01414I (C) Copyright 1999-2018 by Roger Bowler, Jan Jaeger, and others
HHC01417I ** The SoftDevLabs version of Hercules **
HHC01415I Build date: Apr 3 2018 at 16:34:16
HHC01417I Built with: Microsoft Visual Studio 2008 (MSVC 150030729 1)
HHC01417I Build type: Windows MSVC AMD64 host architecture build
HHC01417I Modes: S/370 ESA/390 z/Arch
HHC01417I Max CPU Engines: 64
...
* * * following line is how Hercules starts, it is not from any command * * *
Processor CP00: architecture mode z/Arch
...
HHC00811I Processor CP00: architecture mode S/370
HHC02204I ARCHLVL set to S/370 HHC02204I LPARNUM set to BASIC HHC01451E Invalid value 160 specified for MAINSIZE HHC01441E Config file[46] conf/Turnkey_MVS.conf: error processing statement: MAINSIZE 160
Playing:
HHC01603I archlvl s370
HHC00811I Processor CP00: architecture mode S/370
HHC02204I ARCHLVL set to S/370
HHC02204I LPARNUM set to BASIC
HHC01603I mainsize 65
HHC01451E Invalid value 65 specified for mainsize
HHC01603I mainsize 64
HHC17003I MAIN storage is 64M (mainsize); storage is not locked
HHC01603I archlvl esame
HHC00811I Processor CP00: architecture mode z/Arch
HHC02204I ARCHLVL set to z/Arch
HHC02204I LPARNUM set to 1
HHC02204I CPUIDFMT set to 0
HHC01603I mainsize 65
HHC17003I MAIN storage is 65M (mainsize); storage is not locked
HHC01603I archlvl s370
HHC00811I Processor CP00: architecture mode S/370
HHC02204I ARCHLVL set to S/370
HHC02204I LPARNUM set to BASIC
group hercules-os380 which identified another issue.
His Hercules configuration file had his initial ARCHLVL before MAINSIZE.
His MAINSIZE was rejected with a message that MAINSIZE was invalid.
S/370-24bit and S/370-31bit both have instructions that access 31-bit real
memory: ISKE, SSKE, RRBE, and TB.
S/370-24bit and S/370-31bit both use extended IDAW for 31-bit I/O real addresses.
Hercules has been trying to allow the Hercules configuration file to be scrambled.
One line of code appears to break both IBM most current S/370-24bit Principles of
Operation and Hercules attempt to allow a scrambled configuration file.
My test:
HHC01413I Hercules version 4.0.0.9176-SDL-g4ee084f9 (4.0.0.9176)
HHC01414I (C) Copyright 1999-2018 by Roger Bowler, Jan Jaeger, and others
HHC01417I ** The SoftDevLabs version of Hercules **
HHC01415I Build date: Apr 3 2018 at 16:34:16
HHC01417I Built with: Microsoft Visual Studio 2008 (MSVC 150030729 1)
HHC01417I Build type: Windows MSVC AMD64 host architecture build
HHC01417I Modes: S/370 ESA/390 z/Arch
HHC01417I Max CPU Engines: 64
...
* * * following line is how Hercules starts, it is not from any command * * *
Processor CP00: architecture mode z/Arch
...
HHC00811I Processor CP00: architecture mode S/370
HHC02204I ARCHLVL set to S/370 HHC02204I LPARNUM set to BASIC HHC01451E Invalid value 160 specified for MAINSIZE HHC01441E Config file[46] conf/Turnkey_MVS.conf: error processing statement: MAINSIZE 160
https://github.com/hercules-390/hyperion/blob/master/hsccmd.c
/* Validate storage sizes by architecture; minimums handled in * config.c */
if ( (!mainsize && sysblk.maxcpu > 0) || /* 0 only valid if MAXCPU 0 */
( sysblk.arch_mode == ARCH_370 && /* 64M maximum for S/370 support */
The GIT version of spinhawk, hercules-3.13, doesn't show this glitch.
What's going on? Why?/* Validate storage sizes by architecture; minimums handled in * config.c */
if ( (!mainsize && sysblk.maxcpu > 0) || /* 0 only valid if MAXCPU 0 */
( sysblk.arch_mode == ARCH_370 && /* 64M maximum for S/370 support */
The GIT version of spinhawk, hercules-3.13, doesn't show this glitch.
Playing:
HHC01603I archlvl s370
HHC00811I Processor CP00: architecture mode S/370
HHC02204I ARCHLVL set to S/370
HHC02204I LPARNUM set to BASIC
HHC01603I mainsize 65
HHC01451E Invalid value 65 specified for mainsize
HHC01603I mainsize 64
HHC17003I MAIN storage is 64M (mainsize); storage is not locked
HHC01603I archlvl esame
HHC00811I Processor CP00: architecture mode z/Arch
HHC02204I ARCHLVL set to z/Arch
HHC02204I LPARNUM set to 1
HHC02204I CPUIDFMT set to 0
HHC01603I mainsize 65
HHC17003I MAIN storage is 65M (mainsize); storage is not locked
HHC01603I archlvl s370
HHC00811I Processor CP00: architecture mode S/370
HHC02204I ARCHLVL set to S/370
HHC02204I LPARNUM set to BASIC