Tony, Sorry for the top post. I don¡¯t believe there are many people that understand I64/AMD64. No one codes in assembler for Windows. I don¡¯t believe the architecture is virtualizable in the same why 360/370 architecture is. I say this because most modern hypervisors won¡¯t run without the virtualization extensions enabled. Reading Wikipedia it appears there is some debate on this topic¡ ?
? I do know that with the 68010 Motorola modified the instruction set from the 68000 to make it virtualizable, but I don¡¯t know if any OS uses this¡ ?
? Dave ? ?
toggle quoted message
Show quoted text
From: [email protected] <[email protected]> On Behalf Of Tony Harminc Sent: 20 November 2022 04:22 To: [email protected] Subject: Re: [h390-vm] Can a VM machine ...? Tony Harminc wrote:
> What it does do is make the architecture no longer virtualizable > (without some feature like SIE).
Eh? How so?
> This 100% virtualizable feature (even for privileged states, > and for that matter I/O) was to my knowledge unique among the > architectures of the day, and may be still true.
I'm not following you.
> Look at the early kluges with i86 and VMWare and such, that > had to resort to paravirtualization, where the guest has to > cooperate (or the host zaps the guest code on the fly so that > it does).
What does that have to do with your claim that the introduction of new instructions that weren't defined in the original published version of the architecture's manuals somehow makes the architecture "longer virtualizable without some feature like SIE"? I'm not understanding your argument/reasoning.
The architecture should still be virtualizable (even *without* SIE) with or without the introduction of the new instructions. And if none of the new instructions are privileged instructions, the architecture should still be virtualizable (without SIE) without any modification at all to the hypervisor. Only if support for a new privileged instruction was needed would the hypervisor then need to be changed (to add support to simulate the privileged instruction).
Is that maybe what you're referring to?
I simply refer to the fact that part of ("full") virtualization is that the guest cannot discover using architected features whether or not it is running in a virtual environment. Note that the DIAG interface to CP (or Hercules, or an LPAR, for that matter) is not part of the architecture. Yes, of course the guest can probably, but not deterministically, discover that is running virtualized - most likely using timing tests. But not by finding a different result from an architected instruction. This is discussed in the VM books from the earliest days. > I'm not sure that even today i64 is 100% virtualizable, is it?
I have no idea. I don't know i64.
Oh, sorry - I thought all Windows people did. ?
|
Tony Harminc wrote:
> What it does do is make the architecture no longer virtualizable
> (without some feature like SIE).
Eh? How so?
> This 100% virtualizable feature (even for privileged states,
> and for that matter I/O) was to my knowledge unique among the
> architectures of the day, and may be still true.
I'm not following you.
> Look at the early kluges with i86 and VMWare and such, that
> had to resort to paravirtualization, where the guest has to
> cooperate (or the host zaps the guest code on the fly so that
> it does).
What does that have to do with your claim that the introduction of new instructions that weren't defined in the original published version of the architecture's manuals somehow makes the architecture "longer virtualizable without some feature like SIE"? I'm not understanding your argument/reasoning.
The architecture should still be virtualizable (even *without* SIE) with or without the introduction of the new instructions. And if none of the new instructions are privileged instructions, the architecture should still be virtualizable (without SIE) without any modification at all to the hypervisor. Only if support for a new privileged instruction was needed would the hypervisor then need to be changed (to add support to simulate the privileged instruction).
Is that maybe what you're referring to?
No - not at all.
I simply refer to the fact that part of ("full") virtualization is that the guest cannot discover using architected features whether or not it is running in a virtual environment. Note that the DIAG interface to CP (or Hercules, or an LPAR, for that matter) is not part of the architecture. Yes, of course the guest can probably, but not deterministically, discover that is running virtualized - most likely using timing tests. But not by finding a different result from an architected instruction. This is discussed in the VM books from the earliest days.
> I'm not sure that even today i64 is 100% virtualizable, is it?
I have no idea. I don't know i64.
Oh, sorry - I thought all Windows people did.
Tony H.
|
Tony Harminc wrote: [...] OK, fair enough. Thank you. What it does do is make the architecture no longer virtualizable (without some feature like SIE). Eh? How so? This 100% virtualizable feature (even for privileged states, and for that matter I/O) was to my knowledge unique among the architectures of the day, and may be still true. I'm not following you. Look at the early kluges with i86 and VMWare and such, that had to resort to paravirtualization, where the guest has to cooperate (or the host zaps the guest code on the fly so that it does). What does that have to do with your claim that the introduction of new instructions that weren't defined in the original published version of the architecture's manuals somehow makes the architecture "longer virtualizable without some feature like SIE"? I'm not understanding your argument/reasoning. The architecture should still be virtualizable (even *without* SIE) with or without the introduction of the new instructions. And if none of the new instructions are privileged instructions, the architecture should still be virtualizable (without SIE) without any modification at all to the hypervisor. Only if support for a new privileged instruction was needed would the hypervisor then need to be changed (to add support to simulate the privileged instruction). Is that maybe what you're referring to? I'm not sure that even today i64 is 100% virtualizable, is it? I have no idea. I don't know i64. -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
Tony Harminc wrote:
[...]
> I objected to porting EPSW way back when, but it seems to be
> a done deal that breaks the S/370 architecture, albeit not in
> any extreme way.
[...]
Your comment regarding it "breaking" the S/370 architecture however, is most definitely not true. It does NOT -- repeat, *NOT* -- break (violate) the [published] architecture.
OK, fair enough. What it does do is make the architecture no longer virtualizable (without some feature like SIE). This 100% virtualizable feature (even for privileged states, and for that matter I/O) was to my knowledge unique among the architectures of the day, and may be still true. Look at the early kluges with i86 and VMWare and such, that had to resort to paravirtualization, where the guest has to cooperate (or the host zaps the guest code on the fly so that it does). I'm not sure that even today i64 is 100% virtualizable, is it?
Tony H.
|
Tony Harminc wrote: In my view the key to all this is that there is no way for a program running in CMS (or any guest in a VM) to discover what the real PSW is, even if they are in virtual supervisor state. In S/370 versions of VM, there is simply no instruction that will provide the current PSW to the running code. The only way to see what the PSW *was* is to look at the old PSW from an interrupt, and that value will have been cooked up by CP to match the expected reality. Precisely. <snip; EPSW = Extract PSW instruction> Where things go wrong is that later versions of Hercules have back ported a large number of unprivileged S/390 and zArch instructions into the S/370 implementation, But only if/when specifically requested via enabling that specific Hercules facility (256): FACILITY ENABLE HERC_370_EXTENSION and EPSW is one of them. So indeed a CMS user program can issue that, and find out the horrible truth... Yep. But again, only if facility 256 is specifically enabled. Normally it is not enabled, so in normal situations 370 systems can never learn they are actually running inside the matrix. I objected to porting EPSW way back when, but it seems to be a done deal that breaks the S/370 architecture, albeit not in any extreme way. I was never crazy about it myself, but I have to admit that having *some* of the newer instructions available in 370 mode can certainly prove to be quite handy. But as designed (by Ivan Warren I think) it's an all or nothing sort of thing so EPSW came along for the ride. Your comment regarding it "breaking" the S/370 architecture however, is most definitely not true. It does NOT -- repeat, *NOT* -- break (violate) the [published] architecture. Yes, it does indeed introduce new instructions that never actually existed on any IBM S/370 machine (or published in any S/370 Principles of Operation manual), but that does not constitute a violation of the architecture. Even back in the days of S/370 IBM would occasionally introduce a new instruction that never existed before then. Was THAT a violation of the architecture? Did IBM "break" the architecture by doing so? Of course not. Adding new instructions to an existing architecture does not "break" the architecture. Only if a new instruction violates in some manner the way the architecture is supposed to behave would an architectural violation then occur. This was Ivan's argument and one with which I agree with 100%. Is it weird? (unusual?) Yes! Absolutely. It adds new instructions that never existed back then, and thus "just feels wrong" to purists like you and me. But it certainly does NOT violate the architecture. -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
Bob Bolch wrote:
> Not really. Supervisor state is virtualized for the CMS user.
> When an instruction requiring supervisor state is executed in
> a CMS machine, a privop occurs and CP is given control to
> simulate the privileged instruction.
Precisely!
The CMS user may *think* (believe) it is running in supervisor state, but in actuality it is not. It's "virtual" PSW (saved/maintained in its VM [user?] block) indicates it's in supervisor state, but when CP -- which is the only one in control of the REAL machine (actual hardware) always dispatches the virtual machine in *problem* state.
In my view the key to all this is that there is no way for a program running in CMS (or any guest in a VM) to discover what the real PSW is, even if they are in virtual supervisor state. In S/370 versions of VM, there is simply no instruction that will provide the current PSW to the running code. The only way to see what the PSW *was* is to look at the old PSW from an interrupt, and that value will have been cooked up by CP to match the expected reality.
In later VMs, the virtualization is largely done by SIE in millicode, and there is an Extract PSW instruction that is unprivileged and so can be used by any user program. But SIE delivers the virtualized PSW to EPSW, and of course that shows the virtual supervisor state, DAT mode, etc.
Where things go wrong is that later versions of Hercules have back ported a large number of unprivileged S/390 and zArch instructions into the S/370 implementation, and EPSW is one of them. So indeed a CMS user program can issue that, and find out the horrible truth...
I objected to porting EPSW way back when, but it seems to be a done deal that breaks the S/370 architecture, albeit not in any extreme way.
Tony H.
|
Bob Bolch wrote: Not really. Supervisor state is virtualized for the CMS user. When an instruction requiring supervisor state is executed in a CMS machine, a privop occurs and CP is given control to simulate the privileged instruction. Precisely! The CMS user may *think* (believe) it is running in supervisor state, but in actuality it is not. It's "virtual" PSW (saved/maintained in its VM [user?] block) indicates it's in supervisor state, but when CP -- which is the only one in control of the REAL machine (actual hardware) always dispatches the virtual machine in *problem* state. -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
Aaron Finerman wrote: When you run under VM, you are in a virtual machine and everything is virtualized. Correct. Even your PSW. No one on this forum needs a lesson on that. Well, what you say next makes me question that. Applications running under CMS are given control in supervisor state by default. Their virtual PSW indicates supervisor state, yes. But their *real* (actual) PSW is still in problem state. If the problem state bit in the PSW is off, you are in supervisor state. VIRTUAL supervisor state. There is no virtualized supervisor state in any architecture. Sure there is! That's the hallmark of VM! A virtual machine "sees" its PSW is in supervisor state, but the PSW it is seeing is NOT its *real* PSW. It's a fake ("virtual") one constructed by CP. The virtual machine's *real* (actual) PSW *always* remains in problem state. This is basic VM. -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
Not really. Supervisor state is virtualized for the CMS user. When an instruction requiring supervisor state is executed in a CMS machine, a privop occurs and CP is given control to simulate the privileged instruction.? Bob
toggle quoted message
Show quoted text
When you run under VM, you are in a virtual machine and everything is virtualized. No one on this forum needs a lesson on that. Applications running under CMS? are given control in supervisor?state by default. If the problem state bit in the PSW is off, you are in supervisor state. There is no virtualized?supervisor state in any architecture.? Best regards,??
Aaron Finerman wrote:
> To the best my knowledge, CMS always runs in supervisor state.
> But it does not run with key zero.
Then your knowledge needs updating. ;-)
CMS *thinks* it is running in supervisor state, but it actually doesn't. It simply runs in *virtualized* supervisor state. It *actually* in reality runs in problem state. All VM guests do. Only CP itself runs in real supervisor state, and then only when it actually needs to of course.
But I'm guessing you probably already knew that? Yes?
--
"Fish" (David B. Trout)
Software Development Laboratories
mail: fish@...
|
When you run under VM, you are in a virtual machine and everything is virtualized. No one on this forum needs a lesson on that. Applications running under CMS? are given control in supervisor?state by default. If the problem state bit in the PSW is off, you are in supervisor state. There is no virtualized?supervisor state in any architecture.? Best regards,??
toggle quoted message
Show quoted text
Aaron Finerman wrote:
> To the best my knowledge, CMS always runs in supervisor state.
> But it does not run with key zero.
Then your knowledge needs updating. ;-)
CMS *thinks* it is running in supervisor state, but it actually doesn't. It simply runs in *virtualized* supervisor state. It *actually* in reality runs in problem state. All VM guests do. Only CP itself runs in real supervisor state, and then only when it actually needs to of course.
But I'm guessing you probably already knew that? Yes?
--
"Fish" (David B. Trout)
Software Development Laboratories
mail: fish@...
|
Aaron Finerman wrote: To the best my knowledge, CMS always runs in supervisor state. But it does not run with key zero. Then your knowledge needs updating. ;-) CMS *thinks* it is running in supervisor state, but it actually doesn't. It simply runs in *virtualized* supervisor state. It *actually* in reality runs in problem state. All VM guests do. Only CP itself runs in real supervisor state, and then only when it actually needs to of course. But I'm guessing you probably already knew that? Yes? -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
I just asked because no documentation I could find says that " diagnose 8 instructions executed in supervisor state" can be sent to Hercules.? Bob
toggle quoted message
Show quoted text
Bob Bolch wrote:
> CMS (and other virtual machines) use Diagnose 8 to
> pass CP commands to CP for execution. Would those
> start going to Hercules instead? If so, that could
> cause some delightful explosions!!
Indeed! -- *IF* -- CMS's or other virtual machines' DIAG 8 instructions would end up being passed to Hercules for processing, but why would that happen? The Diagnose instruction is a privileged control instruction that CP itself would always intercept and handle itself on behalf of its virtual machine guest.
The only way a DIAG 8 would make it to Hercules would be if CP itself issued it.
--
"Fish" (David B. Trout)
Software Development Laboratories
mail: fish@...
|
"CMS executes in virtual supervisor state; so do applications you run under CMS. At the same time, CP is running in real problem state. This means that your virtual machine and the programs you run under CMS, can issue input/output and other privileged instructions. CP intercepts these instructions and simulates the functions of them for your virtual machine."
Joe
toggle quoted message
Show quoted text
On Sat, Nov 19, 2022 at 1:38 PM Aaron Finerman < arfinerman@...> wrote: To the best my knowledge, CMS always runs in supervisor?state. But it does not run with key zero.? Best regards,
Joe & Bob DIAG is a privileged instruction. CMS machines always run in problem state, so when they try and execute a Diagnose instruction they don¡¯t¡ Dave ? ? "This parameter specifies whether a command issued through Diagnose 8 will be executed by Hercules as a Hercules commands or not." ? On Sat, Nov 19, 2022 at 11:31 AM Bob Bolch <Bob@...> wrote: CMS (and other virtual machines) use Diagnose 8 to pass CP commands to CP for execution. Would those start going to Hercules instead? If so, that could cause some delightful explosions!! ? "I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?" DIAG8CMD ??DISABLE?| ENABLE ? [ECHO |?NOECHO]
When?ENABLE ?is specified the Hercules Diagnose 8 instruction command interface is enabled, allowing the guest to directly issue Hercules commands via the Diagnose 8 instruction. When set to?DISABLE ?all Diagnose 8 instructions cause a Specification Exception program interrupt to occur instead. An optional second argument can be given to request whether an audit trail of such commands should be created or not. When?ECHO ?is specified, a message is issued when the command is about to be issued, when the command is redisplayed (as is normally done when entered from the command line), as well as a final message indicating the command has finished executing. When?NOECHO ?is specified no such audit trail messages are displayed and the command instead completes silently (except for whatever messages the command itself may issue). Security Alert:??Enabling this feature has security consequences. When this feature is enabled it is possible for guest operating systems running under Hercules to issue commands directly to the host operating system by means of the?sh ?(host shell command) and?exec ?(execute Rexx script) commands. This ability may be disabled via the??statement's?NODIAG8 ?option. The value of?ECHO ?or?NOECHO ?has no effect on whether or not command output will be placed into the Diagnose 8 instruction's response buffer if the instruction requested one, nor does it cause the resulting audit trail messages from being placed into the response buffer either. The?ECHO ?option only impacts what is displayed on the hardware console (and what appears in the hardcopy logfile) but does not otherwise impact what is placed into the instruction's response buffer. The default is?DISABLE NOECHO ? Yes, its possible. Is it advisable? Joe ? Hello, I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes? I'm working on the VM Backup idea.? My thought is it would be great to automate the backup procedure by having the program have Hercules swap the tapes. I know this would not be possible with real iron, but might be with emulation Thank you for your time.?
|
To the best my knowledge, CMS always runs in supervisor?state. But it does not run with key zero.? Best regards,
toggle quoted message
Show quoted text
Joe & Bob DIAG is a privileged instruction. CMS machines always run in problem state, so when they try and execute a Diagnose instruction they don¡¯t¡ Dave ? ? "This parameter specifies whether a command issued through Diagnose 8 will be executed by Hercules as a Hercules commands or not." ? On Sat, Nov 19, 2022 at 11:31 AM Bob Bolch <Bob@...> wrote: CMS (and other virtual machines) use Diagnose 8 to pass CP commands to CP for execution. Would those start going to Hercules instead? If so, that could cause some delightful explosions!! ? "I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?" DIAG8CMD ??DISABLE?| ENABLE ? [ECHO |?NOECHO]
When?ENABLE ?is specified the Hercules Diagnose 8 instruction command interface is enabled, allowing the guest to directly issue Hercules commands via the Diagnose 8 instruction. When set to?DISABLE ?all Diagnose 8 instructions cause a Specification Exception program interrupt to occur instead. An optional second argument can be given to request whether an audit trail of such commands should be created or not. When?ECHO ?is specified, a message is issued when the command is about to be issued, when the command is redisplayed (as is normally done when entered from the command line), as well as a final message indicating the command has finished executing. When?NOECHO ?is specified no such audit trail messages are displayed and the command instead completes silently (except for whatever messages the command itself may issue). Security Alert:??Enabling this feature has security consequences. When this feature is enabled it is possible for guest operating systems running under Hercules to issue commands directly to the host operating system by means of the?sh ?(host shell command) and?exec ?(execute Rexx script) commands. This ability may be disabled via the??statement's?NODIAG8 ?option. The value of?ECHO ?or?NOECHO ?has no effect on whether or not command output will be placed into the Diagnose 8 instruction's response buffer if the instruction requested one, nor does it cause the resulting audit trail messages from being placed into the response buffer either. The?ECHO ?option only impacts what is displayed on the hardware console (and what appears in the hardcopy logfile) but does not otherwise impact what is placed into the instruction's response buffer. The default is?DISABLE NOECHO ? Yes, its possible. Is it advisable? Joe ? Hello, I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes? I'm working on the VM Backup idea.? My thought is it would be great to automate the backup procedure by having the program have Hercules swap the tapes. I know this would not be possible with real iron, but might be with emulation Thank you for your time.?
|
Bob Bolch wrote: CMS (and other virtual machines) use Diagnose 8 to pass CP commands to CP for execution. Would those start going to Hercules instead? If so, that could cause some delightful explosions!! Indeed! -- *IF* -- CMS's or other virtual machines' DIAG 8 instructions would end up being passed to Hercules for processing, but why would that happen? The Diagnose instruction is a privileged control instruction that CP itself would always intercept and handle itself on behalf of its virtual machine guest. The only way a DIAG 8 would make it to Hercules would be if CP itself issued it. -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
Bertram Moshier wrote: I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes? Yes. It can be done either indirectly if there's no Hercules DIAG 8 support in CP or directly if there is. If CP has support to talk to Hercules via DIAG 8 (and I believe Dave Wade mentions later in this thread that it does (via HCP)), then yes, it would be possible for your program to directly issue the necessary Hercules commands to mount whatever tape media you might want on whatever tape drive you want it to be mounted on. I'm working on the VM Backup idea. My thought is it would be great to automate the backup procedure by having the program have Hercules swap the tapes.
I know this would not be possible with real iron, but might be with emulation Hercules has two separate builtin features that has existed for a long while now to make automatically mounting tapes a bit easier. The first (which I would venture a guess is probably not what you want but nonetheless feel duty bound to mention anyway) is ACF (Automatic Cartridge Feeder) support: * Basically, you create an "ACF" file containing your list of tape files that you want Hercules to automatically "load" (devinit) next for you whenever the currently mounted tape is unloaded. E.g.: tapes\221105.het tapes\221106.het tapes\221107.het ...etc... And then in your configuration file, you would use: 0581 3490 @tapes\my581acf.txt where "my581acf.txt" is of course the name of that ACF file containing your list of tapes. The second feature (which MIGHT (but I don't know!) prove to be more useful to you) is the Hercules Automatic Operator (i.e. "HAO"): * With this feature you can create a simple HAO rule (or set of rules) to automatically reply to whatever tape mount might happen to be issued no matter what drive and no matter which tape. When your tape drive is defined as a tape drive device with a display (which I believe all 3480, 3490 and 3590 devices had/have) and your operating system (e.g. CP?) does I/O to a tape drive's "display" to display a message for the tape operator (which Hercules currently emulates by displaying a message to the Hercules panel (HMC)), and you have a proper HAO rule (or rules) defined, then HAO will, upon seeing that Hercules message being issued, automatically respond to it with the proper "devinit" command to mount the requested tape media onto the specified drive. Automatically! This particular feature is probably the better of the two for automating tape mounts in your case. Refer to the mentioned README for more information and a simple example rule. Of course, if you're wanting to handle everything yourself in your program, then you can simply pass on both features and issue the Hercules "devinit" command yourself to mount whatever tape media you want onto whatever drive you want it mounted on. Hope that helps! -- "Fish" (David B. Trout) Software Development Laboratories mail: fish@...
|
From: hercules-390@... [mailto:hercules-390@...] OnBehalf Of Dave WadeSent: Tuesday, September 16, 2008 22:16?To: hercules-390@...Subject: RE: [hercules-390] Automation form the Operating system to theHercules Console (VM)Hercules supports the use of DIAGNOSE 8 (DIAG8) to issue commands toHercules and the underlying OS. The DIAG8CMD and SHCMDOPT entries in theconfig file need to be set to enable this.On VM we have an HCP command which allows commands to be passed back toHercules, and depending on which options are set in the config you may ormay not be able to pass commands back to the underlying GUI.So on my VM MAINT user I can do :-hcp devinit 480 c:\hercules\tapes\ssp.awsdevinit 480 c:\hercules\tapes\ssp.awsHHCTA998I Device 0480: c:\hercules\tapes\ssp.aws is a AWS Format tape fileHHCPN098I Device 0:0480 initializedReady; T=0.01/0.03 19:01:13att 480 * 181TAPE 480 ATTACH TO MAINT 181Ready; T=0.01/0.01 19:01:23tape scanSCANNING....SSP FORTRAN A1SSP1 FORTRAN A1SSP2 FORTRAN A1SSP18 FORTRAN A1SSP3 FORTRAN A1.....and alsohcp sh ipconfig?sh ipconfig?Windows IP Configuration?Ethernet adapter Wireless Network Connection:?Connection-specific DNS Suffix . :?IP Address. . . . . . . . . . . . : 192.168.1.5?Subnet Mask . . . . . . . . . . . : 255.255.255.0?Default Gateway . . . . . . . . . : 192.168.1.64?Ready; T=0.01/1.61 19:10:42?As the format of the DIAG8 is the same used in VM to pass commands fromwithin a VM back to CP then usually the OS mods that support this when MVSet al is run in VM will work in Hercules to pass commands back to Herc......Dave Wade G4UGMIllegitimi Non Carborundum
toggle quoted message
Show quoted text
Hi,
I thought only? CP ran in supervisor state and everything else runs in problem state on the physical system.? Thus Diag 8 in a virtual system can't get to Herculesn but only to CP. While CP diag 8 would go to Hercules.
Bert.
Yep ... and your question was: :)
You can easily write a callable interface for your backup program to switch to supervisor key and issue DIAG 8. With the hercules CP mod and the config option I showed... You can issue a hercules command to change a tape...
Joe
Hello Joe,
Yes; but by CP (DMK) not aCMS program.? I say this because diag 8 from a virtual system is for issuing CP command.? ?Inside DMK/CP a diag 8 would go to Hercules.
Bert
" This parameter specifies whether a command issued through Diagnose 8 will be executed by Hercules as a Hercules commands or not."
Joe
On Sat, Nov 19, 2022 at 11:31 AM Bob Bolch < Bob@...> wrote: CMS (and other virtual machines) use Diagnose 8 to pass CP commands to CP for execution. Would those start going to Hercules instead? If so, that could cause some delightful explosions!! Bo Bolch
"I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?"
DIAG8CMD ??DISABLE?| ENABLE ? [ECHO |?NOECHO] When?ENABLE ?is specified the Hercules Diagnose 8 instruction command interface is enabled, allowing the guest to directly issue Hercules commands via the Diagnose 8 instruction. When set to?DISABLE ?all Diagnose 8 instructions cause a Specification Exception program interrupt to occur instead. An optional second argument can be given to request whether an audit trail of such commands should be created or not. When?ECHO ?is specified, a message is issued when the command is about to be issued, when the command is redisplayed (as is normally done when entered from the command line), as well as a final message indicating the command has finished executing. When?NOECHO ?is specified no such audit trail messages are displayed and the command instead completes silently (except for whatever messages the command itself may issue). Security Alert:??Enabling this feature has security consequences. When this feature is enabled it is possible for guest operating systems running under Hercules to issue commands directly to the host operating system by means of the?sh ?(host shell command) and?exec ?(execute Rexx script) commands. This ability may be disabled via the??statement's?NODIAG8 ?option. The value of?ECHO ?or?NOECHO ?has no effect on whether or not command output will be placed into the Diagnose 8 instruction's response buffer if the instruction requested one, nor does it cause the resulting audit trail messages from being placed into the response buffer either. The?ECHO ?option only impacts what is displayed on the hardware console (and what appears in the hardcopy logfile) but does not otherwise impact what is placed into the instruction's response buffer. The default is?DISABLE NOECHO
Yes, its possible. Is it advisable?
Joe Hello,
I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?
I'm working on the VM Backup idea.? My thought is it would be great to automate the backup procedure by having the program have Hercules swap the tapes.
I know this would not be possible with real iron, but might be with emulation
Thank you for your time.?
|
Hi,
I thought only? CP ran in supervisor state and everything else runs in problem state on the physical system.? Thus Diag 8 in a virtual system can't get to Herculesn but only to CP. While CP diag 8 would go to Hercules.
Bert.
toggle quoted message
Show quoted text
Yep ... and your question was: :)
You can easily write a callable interface for your backup program to switch to supervisor key and issue DIAG 8. With the hercules CP mod and the config option I showed... You can issue a hercules command to change a tape...
Joe
Hello Joe,
Yes; but by CP (DMK) not aCMS program.? I say this because diag 8 from a virtual system is for issuing CP command.? ?Inside DMK/CP a diag 8 would go to Hercules.
Bert
" This parameter specifies whether a command issued through Diagnose 8 will be executed by Hercules as a Hercules commands or not."
Joe
On Sat, Nov 19, 2022 at 11:31 AM Bob Bolch < Bob@...> wrote: CMS (and other virtual machines) use Diagnose 8 to pass CP commands to CP for execution. Would those start going to Hercules instead? If so, that could cause some delightful explosions!! Bo Bolch
"I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?"
DIAG8CMD ??DISABLE?| ENABLE ? [ECHO |?NOECHO] When?ENABLE ?is specified the Hercules Diagnose 8 instruction command interface is enabled, allowing the guest to directly issue Hercules commands via the Diagnose 8 instruction. When set to?DISABLE ?all Diagnose 8 instructions cause a Specification Exception program interrupt to occur instead. An optional second argument can be given to request whether an audit trail of such commands should be created or not. When?ECHO ?is specified, a message is issued when the command is about to be issued, when the command is redisplayed (as is normally done when entered from the command line), as well as a final message indicating the command has finished executing. When?NOECHO ?is specified no such audit trail messages are displayed and the command instead completes silently (except for whatever messages the command itself may issue). Security Alert:??Enabling this feature has security consequences. When this feature is enabled it is possible for guest operating systems running under Hercules to issue commands directly to the host operating system by means of the?sh ?(host shell command) and?exec ?(execute Rexx script) commands. This ability may be disabled via the??statement's?NODIAG8 ?option. The value of?ECHO ?or?NOECHO ?has no effect on whether or not command output will be placed into the Diagnose 8 instruction's response buffer if the instruction requested one, nor does it cause the resulting audit trail messages from being placed into the response buffer either. The?ECHO ?option only impacts what is displayed on the hardware console (and what appears in the hardcopy logfile) but does not otherwise impact what is placed into the instruction's response buffer. The default is?DISABLE NOECHO
Yes, its possible. Is it advisable?
Joe Hello,
I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?
I'm working on the VM Backup idea.? My thought is it would be great to automate the backup procedure by having the program have Hercules swap the tapes.
I know this would not be possible with real iron, but might be with emulation
Thank you for your time.?
|
Dave,
How does this mod 10 work?? I'm assuming you don't mean Diagnose 10.? Isn't diagnose x'0010' to release pages?
Bert.
toggle quoted message
Show quoted text
Gentles, ? That is why we have Hercules cp mod 10, the HCP command which allows a user ask CP to issue a DIAG 8 on the hardware it thinks it is running on. For many on here this will be Hercules, but if you are running VM under VM it¡¯s the next hypervisor up. It needs one of the non-G CP classes so its protected from some mi-use ? Dave ? ? Hello Joe, I can see how VM, itself, can talk to Hercule via Diag 8, but how would a guest OS or CMS program?? Wouldn't a Diag 8 in a virtual machine go to VM as a CP command instead of to Hercules.? You're correct it might be a security risk, but maybe it should be an option and up to the system's owner. ? "I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?" DIAG8CMD ??DISABLE?| ENABLE ? [ECHO |?NOECHO]
When?ENABLE ?is specified the Hercules Diagnose 8 instruction command interface is enabled, allowing the guest to directly issue Hercules commands via the Diagnose 8 instruction. When set to?DISABLE ?all Diagnose 8 instructions cause a Specification Exception program interrupt to occur instead. An optional second argument can be given to request whether an audit trail of such commands should be created or not. When?ECHO ?is specified, a message is issued when the command is about to be issued, when the command is redisplayed (as is normally done when entered from the command line), as well as a final message indicating the command has finished executing. When?NOECHO ?is specified no such audit trail messages are displayed and the command instead completes silently (except for whatever messages the command itself may issue). Security Alert:??Enabling this feature has security consequences. When this feature is enabled it is possible for guest operating systems running under Hercules to issue commands directly to the host operating system by means of the?sh ?(host shell command) and?exec ?(execute Rexx script) commands. This ability may be disabled via the??statement's?NODIAG8 ?option. The value of?ECHO ?or?NOECHO ?has no effect on whether or not command output will be placed into the Diagnose 8 instruction's response buffer if the instruction requested one, nor does it cause the resulting audit trail messages from being placed into the response buffer either. The?ECHO ?option only impacts what is displayed on the hardware console (and what appears in the hardcopy logfile) but does not otherwise impact what is placed into the instruction's response buffer. The default is?DISABLE NOECHO ? Yes, its possible. Is it advisable? Joe ? Hello, I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes? I'm working on the VM Backup idea.? My thought is it would be great to automate the backup procedure by having the program have Hercules swap the tapes. I know this would not be possible with real iron, but might be with emulation Thank you for your time.?
|
Yep ... and your question was: :)
You can easily write a callable interface for your backup program to switch to supervisor key and issue DIAG 8. With the hercules CP mod and the config option I showed... You can issue a hercules command to change a tape...
Joe
toggle quoted message
Show quoted text
Hello Joe,
Yes; but by CP (DMK) not aCMS program.? I say this because diag 8 from a virtual system is for issuing CP command.? ?Inside DMK/CP a diag 8 would go to Hercules.
Bert
" This parameter specifies whether a command issued through Diagnose 8 will be executed by Hercules as a Hercules commands or not."
Joe
On Sat, Nov 19, 2022 at 11:31 AM Bob Bolch < Bob@...> wrote: CMS (and other virtual machines) use Diagnose 8 to pass CP commands to CP for execution. Would those start going to Hercules instead? If so, that could cause some delightful explosions!! Bo Bolch
"I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?"
DIAG8CMD ??DISABLE?| ENABLE ? [ECHO |?NOECHO] When?ENABLE ?is specified the Hercules Diagnose 8 instruction command interface is enabled, allowing the guest to directly issue Hercules commands via the Diagnose 8 instruction. When set to?DISABLE ?all Diagnose 8 instructions cause a Specification Exception program interrupt to occur instead. An optional second argument can be given to request whether an audit trail of such commands should be created or not. When?ECHO ?is specified, a message is issued when the command is about to be issued, when the command is redisplayed (as is normally done when entered from the command line), as well as a final message indicating the command has finished executing. When?NOECHO ?is specified no such audit trail messages are displayed and the command instead completes silently (except for whatever messages the command itself may issue). Security Alert:??Enabling this feature has security consequences. When this feature is enabled it is possible for guest operating systems running under Hercules to issue commands directly to the host operating system by means of the?sh ?(host shell command) and?exec ?(execute Rexx script) commands. This ability may be disabled via the??statement's?NODIAG8 ?option. The value of?ECHO ?or?NOECHO ?has no effect on whether or not command output will be placed into the Diagnose 8 instruction's response buffer if the instruction requested one, nor does it cause the resulting audit trail messages from being placed into the response buffer either. The?ECHO ?option only impacts what is displayed on the hardware console (and what appears in the hardcopy logfile) but does not otherwise impact what is placed into the instruction's response buffer. The default is?DISABLE NOECHO
Yes, its possible. Is it advisable?
Joe Hello,
I'm wondering if it is possible for a VM machine / CMS program to have Hercules change tapes?
I'm working on the VM Backup idea.? My thought is it would be great to automate the backup procedure by having the program have Hercules swap the tapes.
I know this would not be possible with real iron, but might be with emulation
Thank you for your time.?
|