SDL-Hercules-390 / hyperion

The SDL Hercules 4.x Hyperion version of the System/370, ESA/390, and z/Architecture Emulator
Other
237 stars 89 forks source link

CTCE links dying with VM/Passthrough (PVM) #670

Open HackerSmacker opened 1 month ago

HackerSmacker commented 1 month ago

Hi folks,

I've ran into some hot water with a recent breaking change on Hercules, around the 4.6 mark; this change has seemingly broken PVM. I have tested the following configurations of PVM and found that SOME work:

PVM 2.1 (1993):

PVM 2.1 (1998):

Specifically, VM/ESA 2.4 (my hub node) can talk to any not-XA+ VM (so, any 370-type VM). This behavior seems to be correct -- I can have any non-XA version of VM talking to any other non-XA version of VM or an XA version of VM, but, two XA versions of VM cannot talk to each other. There are no protocol differences between the different versions of PVM I used -- I only used different versions to try to gain more "period-accurateness" since I am somewhat lacking in different versions of PVM (I only have 5 versions, 2 of which cannot talk to the other 3). I think this may be related to this issue here: https://github.com/SDL-Hercules-390/hyperion/issues/640 I recall being able to revive the links in the past by recreating the devices, but, it was not a permanent fix.

Version info:

HHC01413I Hercules version 4.7.0.11119-SDL-gf7d2360a
HHC01414I (C) Copyright 1999-2024 by Roger Bowler, Jan Jaeger, and others
HHC01417I ** The SDL 4.x Hyperion version of Hercules **
HHC01415I Build date: Jul  2 2024 at 15:01:43
HHC01417I Built with: GCC 13.2.1 20230801
HHC01417I Build type: GNU/Linux x86_64 host architecture build
HHC01417I Running on: server1 (Linux-6.6.8 x86_64) MP=32
HHC01417I Built with crypto external package version 1.0.0.52-ga5096e5
HHC01417I Built with decNumber external package version 3.68.0.102-g3aa2f45
HHC01417I Built with SoftFloat external package version 3.5.0.105-g4b0c326
HHC01417I Built with telnet external package version 1.0.0.63-g729f0b6

The link devices are defined as such, for example:

# VM/ESA 2.4
0441    CTCE    3501 127.0.0.1 3502

# z/VM 6.2
0441    CTCE    3502 127.0.0.1 3501

The device was initialized with CP SET RDEVICE 441 TYPE CTCA beforehand, though the autosense detects the correct device type.