Keyboard Shortcuts
Likes
- H390-Vm
- Messages
Search
This group is for all folks running the original IBM VM/370 Release 6 operating system (or later (e.g. VMTCE (Community Edition)) on Hercules. Like the other early IBM operating systems this version has always been in the public domain and so can be freely distributed. The base version as supplied by IBM is lacking in many facilities. IBM solved this by providing additional extension products which were licensed and so are not available. There are however many user enhancements available which can be installed. In addition, in order to get users up and running quickly updated "releases" of VM/370 included the most popular updates are available for download, so novices can start to learn VM without having to delve into the system internals. It is intended that this wiki will provide information on the base release and these updates.
The available versions are here :-
?
?
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:
|
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
toggle quoted message
Show quoted text
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:
|
Re: Can a VM machine ...
Tony Harminc wrote:
Fish wrote:[...]Tony Harminc wrote: Ah. I see where you're coming from now.Is that maybe what you're referring to?No - not at all. Well gosh, Tony. By that definition then, IBM's VM has *never* provided full virtualization (hint: STIDP), so why the big deal about EPSW? 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.Oh, sorry - I thought all Windows people did.I'm not sure that even today i64 is 100% virtualizable,I have no idea. I don't know i64. 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:
? 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. ?
? 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: 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? 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 virtualizableEh? How so? This 100% virtualizable feature (even for privileged states,I'm not following you. Look at the early kluges with i86 and VMWare and such, thatWhat 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,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: 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 forPrecisely. <snip; EPSW = Extract PSW instruction> Where things go wrong is that later versions of Hercules haveBut 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 canYep. 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 beI 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: 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.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 machineCorrect. 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 supervisorTheir 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 inVIRTUAL 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:
|
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: |
Re: Can a VM machine ...
Aaron Finerman wrote:
To the best my knowledge, CMS always runs in supervisor state.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: |
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:
|
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:
|
Re: Can a VM machine ...
Bob Bolch wrote:
CMS (and other virtual machines) use Diagnose 8 toIndeed! -- *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 / CMSYes. 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 isHercules 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:
|