-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
STHYI Instruction #531
Comments
Of course the problem can easily be circumvented by the Facility Disable BIT74. |
The Lines 1994 to 2015 in 5857860
Perhaps it's a privileged instruction and your guest is trying to execute it from Problem State code? (That's just a guess; I'm too lazy to check the manual right now to see whether it is indeed a privileged instruction or not.) OR... you could just manually disable that particular facility in your Hercules configuration file to see whether that fixes your problem or not:
I'm going to close this issue as "Invalid (likely user error)". If you feel this is wrong, please let me know and I'll re-open it (or you can yourself!) so we can investigate the matter further. I will readily admit I was mostly guessing regarding the implementation of both the STHYI Store Hypervisor Information and ESSA Extract and Set Storage Attributes instructions. My implementation could very well be very wrong. I don't believe it is, but then I'm no expert at these things either. |
Aaron, is your code issuing the The bit that Hercules is setting is so z/VM can know whether or not the hardware supports the instruction or not (since, looking at the manual, it appears the instruction can be executed in Problem state or Supervisor state), but whether or not the z/VM you're using supports it or not (or whether the z/VM you're using chooses to allow you to use it or not) is entirely up to z/VM, not Hercules. As you can see in our code, Hercules only throws the Program Check if z/VM chooses not to intercept it. So I think you need to try and determine why z/VM is choosing not to intercept it. Can we see the Hercules log message that's issued when the Program Check occurs? |
You posted the answer to the problem yourself. And that is: /* ............................. It is NOT a valid z/Architecture */
/* instruction and will always cause a program check when attempted */
/* to be executed natively. ........................................ */ All I'm saying is the bit should be default to off, meaning the instruction is not supported. zVM will turn it on, because it supports it. I run my own OS natively and it is always in supervisor state. There is no zVM involved. It always issues a STFLE and checks for bit 74 before issuing STHYI. It works fine under zVM. And I just disabled the bit74 and everything works fine. Just wanted to let you know. The bottom line is, no real hardware should turn bit 74 on, because STHYI is not supported on a real hardware. Here is the log:
|
<separated for emphasis>
Fair enough. I shall make the change to have the default for this facility to be off, QUESTION: Should the (Issue being re-opened (and correctly labeled as "Bug") to correct the addressed concerns) |
That's not a Hercules log. That's a copy of the text that is displayed on the Hercules HMC panel, which is something entirely different. The HMC only displays as much of a given message that will actually fit on the width of the screen too, whereas the logfile is never truncated and always contains the complete text of all messages that are issued. Besides that, what you posted are not even Hercules messages. They look like they're messages that some test program wrote to its terminal or something. I need to see the Program Interrupt messages that Hercules itself wrote to its HMC/logfile. All Operation Exception Program Interrupts should always be logged to both the Hercules console (HMC) as well as its logfile too. That is, as long as you're not doing something stupid like using |
I'm now thinking possibly "No". According to page 917 of manual SC24-6179-04 "zVM 6.3 CP Programming Services":
Which is something manual SC24-6272-03 "zVM 7.1 CP Programming Services" specifically doesn't say about the It seems confusing to me that one manual would say the instruction is an extension to z/Architecture while the other manual would purposely not say that for the other instruction. Who's right and who's wrong? Which manual is right and which manual is wrong? Or are they both right? Is one an extension to the architecture whereas the other is not? Or vice-versa or neither? (sigh!)
|
Hi Fish, |
STHYI = Store-Hypervisor-Information Facility (z/Arch facility 074) ESSA = Extract and Set Storage Attributes instruction (Hercules facility 274) Closes #531.
Closed by commit 9dfd46c. |
It appears that Hyperion by default is turning on facility bit 74 (STHYI) that is reserved for zVM. However, STHYI instruction is not supported and causes Operation Exception. Hercules does support many zVM exclusive instructions like Diagnose 0 and 8. But I don't think the bit should be on, if the instruction is not supported. This bit is off on Hercules 3.13.
The text was updated successfully, but these errors were encountered: