Closed ivan-w closed 6 years ago
There is a lot that is weird here. Look at the PSW for CP0. It is in a wait state with external interrupts disabled; which is higly unusual. I/O mask enabled. If message 851indicates the summary status, that is strange too. The interrupts are queued for channel set 0, right? PSW address 4 is also unusual.
Why is the PSW not shown for CP1?
Yes.. Channel Set 0 (that's what the leading 0 stands for when in S/370 mode)... But I agree, a bunch of stuff that look very weird in the "ipending" output !
Ok.. Update on that... I managed to get it to work eventually.. I think I might have messed during CP nucleus generation at some point... I still have a problem (but it's transient) : I get a bunch of :
TURN ON THE NON-IPL CPU'S INTERVAL TIMER
I'll look why I'm getting that ! Anyway, I'll close this issue (User Error)
During IPL it would loop issuing "turn on the interval timer" if e.g., you IPL in a virtual machine where you have SET TIMER OFF. Presumably your AP is not getting enough "juice".
Actually I'm in MP mode... But the CPU may be a bit too fast - Making CP think that the interval timer isn't moving ! Eventually the system IPL continues - and everything seems to then proceed normally. So right now, I'm thinking it might be an artifact of CP not being designed to run a CPU that is about 50 times as fast as a 4381 P03 !
I'm still encountering some times when the IPL gets stuck... (and the weird ipending) - but it's not systematic... But once the IPL completes, everything seems to work normally (but there is no load on the guest).
update Actually, the behavior seems to be fairly dependent on the system type.. Setting it to "3090" seems to eleviate the "Turn on the Interval timer" thing.... It still doesn't fix the occasional failure to IPL... But it may be something else entirely !
While trying to generate the S/370 hypervisor in MP or AP mode, it fails to IPL if more than 1 processor is present in the configuration. Apparently, I/O interrupts are being presented to the wrong processor(s) and/or are not generating the interrupt on the correct processor (the Channel Set on which the I/O devices are connected).
"ipending" shows as follows :
CP01 should NOT have any I/O pending (there is no device on channel set 0001) - and CP00 is obviously not getting the interrupt either (although the mask and state indicates the interrupt should occur).
Also the "config mask" and "waiting mask" look suspicious !