¿ªÔÆÌåÓý


Re: Can a VM machine ...

 

Yup!

When I added STK4400 support to the Cray VM Station, worked with the MVS group, and the Cray side, I had to add IUCV to the VM Station.? Upto that point in time we had been using VMCF.?

The VM Station was its own unique OS (like RSCS, VS1, or MVS).? We did it all up to and including our own CCW programming.

On Sun, Nov 20, 2022, 08:52 laddiehanus via <laddiehanus=[email protected]> wrote:
I worked at StorageTek on tape libraries and virtual tape from 1984 to 2017 with a 6 year vacation. The 4400 and newer tape libraries under worked on vm by using IUCV for sending a command to a service machine that ran a modified version of HSC which was the MVS Host Software Component that controlled the tape library. The tape library had a 3270 connection that was used by HSC to communicate with the library.? I don¡¯t remember?the data shipped along the 3270 connection?. Suffice it to say that the was a mount command and unmount?command. It also required VM/SP so I don¡¯t know if something similar could be done on older releases of VM. This is what the customer saw so I can share this. What I know about the internals I can¡¯t share due to my employment contract that I signed when I started there. And I respect that. Every little bit?is left of STK is owned by Oracle who bought Sun. Which bought STK


As for diag 8 hercules will process it and will do the devinit to mount. The issue is what will CP will do when the status is presented to it by hercules.

And diag 8 option is documented on the website for hercules go read it how it is enabled in other words RTFM.

Next?Hercules has implemented a CCW that came from the p/390 and still exists in z/PDT I believe. Grab the source zip file from SDL hercules and there should be a readme on it and a sample program. Caution: writing a channel program you need to know about how I/O works and can be very difficult to debug. I can¡¯t help you due to my employment contract with my current employer?

Have a great day

Laddie Hanus









On Saturday, November 19, 2022, 11:34 AM, Bertram Moshier <herc370390vm@...> wrote:

Dave,

No, I'm talking about something like the STK4400.? I was the lead programmer at Cray and also the VM programmer for making a STK4400 talk to both the Cray and IBM system.? In the end, we supported both MVS and VM.
Thank you.

On Sat, Nov 19, 2022, 11:28 Dave McGuire <mcguire@...> wrote:
On 11/19/22 12:06, Bertram Moshier wrote:
> I know this would not be possible with real iron, but might be with
> emulation

? ?Many 3480/3490/etc drives ("square tapes" to you IBMers ;)) have
media changers on them.? We have several of those at LSSM.? I'm pretty
sure they can change media under host control.

? ?Unless you're talking about something different..

? ? ? ? ? ? ?-Dave

--
Dave McGuire, AK4HZ
New Kensington, PA







Re: Can a VM machine ...

 

I worked at StorageTek on tape libraries and virtual tape from 1984 to 2017 with a 6 year vacation. The 4400 and newer tape libraries under worked on vm by using IUCV for sending a command to a service machine that ran a modified version of HSC which was the MVS Host Software Component that controlled the tape library. The tape library had a 3270 connection that was used by HSC to communicate with the library. ?I don¡¯t remember?the data shipped along the 3270 connection?. Suffice it to say that the was a mount command and unmount?command. It also required VM/SP so I don¡¯t know if something similar could be done on older releases of VM. This is what the customer saw so I can share this. What I know about the internals I can¡¯t share due to my employment contract that I signed when I started there. And I respect that. Every little bit?is left of STK is owned by Oracle who bought Sun. Which bought STK


As for diag 8 hercules will process it and will do the devinit to mount. The issue is what will CP will do when the status is presented to it by hercules.

And diag 8 option is documented on the website for hercules go read it how it is enabled in other words RTFM.

Next?Hercules has implemented a CCW that came from the p/390 and still exists in z/PDT I believe. Grab the source zip file from SDL hercules and there should be a readme on it and a sample program. Caution: writing a channel program you need to know about how I/O works and can be very difficult to debug. I can¡¯t help you due to my employment contract with my current employer?

Have a great day

Laddie Hanus









On Saturday, November 19, 2022, 11:34 AM, Bertram Moshier <herc370390vm@...> wrote:

Dave,

No, I'm talking about something like the STK4400.? I was the lead programmer at Cray and also the VM programmer for making a STK4400 talk to both the Cray and IBM system.? In the end, we supported both MVS and VM.
Thank you.

On Sat, Nov 19, 2022, 11:28 Dave McGuire <mcguire@...> wrote:
On 11/19/22 12:06, Bertram Moshier wrote:
> I know this would not be possible with real iron, but might be with
> emulation

? ?Many 3480/3490/etc drives ("square tapes" to you IBMers ;)) have
media changers on them.? We have several of those at LSSM.? I'm pretty
sure they can change media under host control.

? ?Unless you're talking about something different..

? ? ? ? ? ? ?-Dave

--
Dave McGuire, AK4HZ
New Kensington, PA







Re: Can a VM machine ...

 

Tony Harminc wrote:
Fish wrote:
Tony Harminc wrote:
[...]
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
it 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.
Ah. I see where you're coming from now.

Well gosh, Tony. By that definition then, IBM's VM has *never* provided full virtualization (hint: STIDP), so why the big deal about EPSW?


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.
Nope. I absolutely *hate* the Intel architecture, and have never found the real need to ever learn it (thank goodness!). Mark Gaubatz seems to be quite familiar with it, and uses that knowledge/skill to find bugs in Microsoft's Visual C/C++ compiler (most often in their optimization logic). He tells me about it all the time.

Me? I'm not interested in debugging their compiler or stepping through their generated assembler code or, at ANY time, ever coding anything in it. I leave that to Mark and others. If I come across a situation where my C/C++ code misbehaves when optimized (whereas it doesn't when not optimized), I would just report it and then disable optimizations for that particular function and move on. I have ZERO interest in the Intel architecture. It truly SUCKS IMHO.

Now Motorola's 68XXX and 88XXX architectures are pretty nice IMO. I messed with both of them many eons ago at one of my former employers.

But Intel? YUCK! :)

(I mean, little endian?! Come on!)

--
"Fish" (David B. Trout)
Software Development Laboratories

mail: fish@...


Re: Can a VM machine ...

 

¿ªÔÆÌåÓý

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

?

?

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 ...

?

On Sat, 19 Nov 2022 at 22:44, Fish Fish <david.b.trout@...> wrote:

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.

?


Re: Can a VM machine ...

 

On Sat, 19 Nov 2022 at 22:44, Fish Fish <david.b.trout@...> wrote:
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.


Re: Can a VM machine ...

 

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@...


Re: Can a VM machine ...

 

On Sat, 19 Nov 2022 at 20:41, Fish Fish <david.b.trout@...> wrote:
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.


Re: Can a VM machine ...

 

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@...


Re: Can a VM machine ...

 

On Sat, 19 Nov 2022 at 16:23, Fish Fish <david.b.trout@...> wrote:
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.


Re: Can a VM machine ...

 

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@...


Re: Can a VM machine ...

 

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@...


Re: Can a VM machine ...

 

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

On Sat, Nov 19, 2022, 3:51 PM Aaron Finerman <arfinerman@...> wrote:
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,??

On Sat, Nov 19, 2022 at 2:56 PM Fish Fish <david.b.trout@...> wrote:
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@...










Re: Can a VM machine ...

 

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,??

On Sat, Nov 19, 2022 at 2:56 PM Fish Fish <david.b.trout@...> wrote:
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@...










Re: Can a VM machine ...

 

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@...


Re: Can a VM machine ...

 

I just asked because no documentation I could find says that " diagnose 8 instructions executed in supervisor state" can be sent to Hercules.?
Bob

On Sat, Nov 19, 2022, 2:29 PM Fish Fish <david.b.trout@...> wrote:
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@...










Re: Can a VM machine ...

 

"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

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,


On Sat, Nov 19, 2022 at 12:57 PM Dave Wade <dave.g4ugm@...> wrote:

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

?

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 19 November 2022 17:45
To: [email protected]
Subject: Re: [h390-vm] Can a VM machine ...

?

"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

?

On Sat, Nov 19, 2022 at 12:21 PM Joe Monk <joemonk64@...> wrote:

"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

?

On Sat, Nov 19, 2022 at 11:06 AM Bertram Moshier <herc370390vm@...> wrote:

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.?


Re: Can a VM machine ...

 

To the best my knowledge, CMS always runs in supervisor?state. But it does not run with key zero.?
Best regards,


On Sat, Nov 19, 2022 at 12:57 PM Dave Wade <dave.g4ugm@...> wrote:

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

?

From: [email protected] <[email protected]> On Behalf Of Joe Monk
Sent: 19 November 2022 17:45
To: [email protected]
Subject: Re: [h390-vm] Can a VM machine ...

?

"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

?

On Sat, Nov 19, 2022 at 12:21 PM Joe Monk <joemonk64@...> wrote:

"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

?

On Sat, Nov 19, 2022 at 11:06 AM Bertram Moshier <herc370390vm@...> wrote:

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.?


Re: Can a VM machine ...

 

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@...


Re: Can a VM machine ...

 

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@...


Re: Can a VM machine ...

 


From: hercules-390@... [mailto:hercules-390@...] On
Behalf Of Dave Wade
Sent: Tuesday, September 16, 2008 22:16?
To: hercules-390@...
Subject: RE: [hercules-390] Automation form the Operating system to the
Hercules Console (VM)



Hercules supports the use of DIAGNOSE 8 (DIAG8) to issue commands to
Hercules and the underlying OS. The DIAG8CMD and SHCMDOPT entries in the
config file need to be set to enable this.

On VM we have an HCP command which allows commands to be passed back to
Hercules, and depending on which options are set in the config you may or
may 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.aws

devinit 480 c:\hercules\tapes\ssp.aws

HHCTA998I Device 0480: c:\hercules\tapes\ssp.aws is a AWS Format tape file

HHCPN098I Device 0:0480 initialized

Ready; T=0.01/0.03 19:01:13

att 480 * 181

TAPE 480 ATTACH TO MAINT 181

Ready; T=0.01/0.01 19:01:23

tape scan

SCANNING....

SSP FORTRAN A1

SSP1 FORTRAN A1

SSP2 FORTRAN A1

SSP18 FORTRAN A1

SSP3 FORTRAN A1

.....

and also

hcp 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 from
within a VM back to CP then usually the OS mods that support this when MVS
et al is run in VM will work in Hercules to pass commands back to Herc......

Dave Wade G4UGM
Illegitimi Non Carborundum




On Sat, Nov 19, 2022 at 12:11 PM Bertram Moshier <herc370390vm@...> wrote:
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.

On Sat, Nov 19, 2022, 12:04 Joe Monk <joemonk64@...> wrote:
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

On Sat, Nov 19, 2022 at 12:01 PM Bertram Moshier <herc370390vm@...> wrote:
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

On Sat, Nov 19, 2022, 11:45 Joe Monk <joemonk64@...> wrote:
"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

On Sat, Nov 19, 2022 at 12:21 PM Joe Monk <joemonk64@...> wrote:
"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

On Sat, Nov 19, 2022 at 11:06 AM Bertram Moshier <herc370390vm@...> wrote:
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.?