Keyboard Shortcuts
Likes
Search
VM/370 & SVC
#VMCE
¿ªÔÆÌåÓýGC20-1807 Looks right, for 202 & 203 but I think the SVC202 has been extended by mods. As SVC 8 is a OS/MFT call it won¡¯t be documented. ? Dave ? From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 05 February 2023 21:12 To: [email protected] Subject: [h390-vm] VM/370 & SVC #VMCE ? I've run into SVC 8, 202 and 203, and I'd like to know if there is a manual that contains all of them, and what they do. covers 0, 8, 12, 16, 20, & 24, but not 202 or 203. |
On Sun, 5 Feb 2023 at 16:11, Mark A. Stevens via groups.io
<marXtevens@...> wrote: The modern zVM docs explain a lot of what SVC 202 does, even though they deprecate it. Obviously VM/370+mods doesn't implement everything, but it's good background reading. (The above two docs have a huge amount of overlap. Probably the first one is best to get an understanding.) Tony H. |
Have a look here:? Beginning at page 257. Joe On Sun, Feb 5, 2023 at 3:58 PM Tony Harminc <tharminc@...> wrote: On Sun, 5 Feb 2023 at 16:11, Mark A. Stevens via |
On Sun, Feb 5, 2023 at 03:48 PM, Dave Wade wrote:
As SVC 8 is a OS/MFT call it won¡¯t be documented.Dave, Thanks for the pointer to GC20-1807-7_VM370_System_Programmers_Guide_Rel_6_4-81.pdf, Seems to start at p. 256. This is where I got the list from SY20-0886-1_VM370_Rel_6_Vol_1_Mar79.pdf,? Figure 4, page 1-17, the SVC Interrupt "box" shows (bolding by me) ... If PROBLEM MODE ? And ADSTOP SVC, simulate 'ADSTOP' to virtual machine ? And an SVC 76, verify the parameters and call DMKVER to build the error record. (A) ? And virtual machine IS In extended mode and/or Page 0 is not in storage, reflect interrupt to virtual machine ? Otherwise, fetch Page 0, move CP PSW to virtual SVCOPSW, and move SVCNPSW to the CP PSW ? If supervisor mode, run user-LPSW If SVC 0 (Impossible condition or fatal error), dump the machine If SVC 8 (Link Request), (B) pass control from one module to another If SVC 12 (Return Request), return control to calling module If SVC 16, release Save Area (C) If SVC 20, get next save area for (D) calling module If SVC 24, switch processing to main processor So ... that is why I gave the original list above. ?... Mark S. |
Mark,
To the best of my recollection, all SVCs issued in CMS other than those in the 200s? (e.g., 202, 203), are used by OS simulation.? Thus SVC 8 is from an OS LOAD macro.? SVC 10 is GETMAIN/FREEMAIN.? SVC 6 is LINK.? Thus those are documented in VS1 or VS2 documentation of the period.? There are several more. The SVC 8 documented posted here just a couple of messages ago is for CP's use of SVC 8.? That is NOT the same as what a CMS user will encounter, so disregard the documentation in that post. Regards, Bob |
On Sun, Feb 5, 2023 at 05:16 PM, Bob Polmanter wrote:
SVC 6 is LINKThat's the one I was looking for! So I need to go digging into the OS/VS* manuals. Oh bother. Now to find the proper manual "over there." Page 258 backs up your recollection. CMS supports selected SVC calls generated by as and DOS/VS macros, by simulating the effect of these macro calls. DMSITS is the initial SVC interrupt handler. If the SET DOS command has been issued, a flag in NUCON will indicate that DOS/VS macro simulation is to be used. Control is then passed to DMSITS. Otherwise, as macro simulation is assumed and DMSITS passes control to the appropriate OS simulation routine. ?... Mark S. |
Mark,
See: ? ? Note the last three manuals on that page ... Vol. 1 is for CP, Vol. 2 is for CMS ... Vol. 3 is for RSCS etc. SVC 202 and 203 are for CMS ... and are defined or described on page 2-7 of that Vol. 2 manual: ? There are overlapping SVC numbers between CP and CMS, because the CP ones only matter when you are running inside CP ... some DMKxxx modules;? CMS is running in a virtual machine (the DMSxxx modules) and has its own "set" of SVC numbers.? ?CMS also supports OS simulation so many SVC numbers come from OS/360 MVT ... to allow those OS compilers etc. to run under CMS.? ? If you "SET DOS ON" in CMS, that swaps in a different SVC table, to emulate DOS/VS SVC numbers. Hope that helps, Mark S. Waterbury |
On Sun, Feb 5, 2023 at 06:08 PM, Mark Waterbury wrote:
There are overlapping SVC numbers between CP and CMS, because the CP ones only matter when you are running inside CP ... some DMKxxx modules;? CMS is running in a virtual machine (the DMSxxx modules) and has its own "set" of SVC numbers.? ?CMS also supports OS simulation so many SVC numbers come from OS/360 MVT ... to allow those OS compilers etc. to run under CMS.? ?Mark, Thanks for the information. I was not aware of the overlap. I was aware of OS vs DOS for some stuff, but now I know about SVCs. My focus is on the OS simulation, since the assembler code I am working with is supposed to support OS(MVS) and CMS conventions. ?... Mark S. |
¿ªÔÆÌåÓýMark, If your work is on OS SVCs and you are familiar with OS please note that the OS emulation in CMS is based on OS/MVT release 21.8. I don¡¯t believe it was updated until VM/ESA (perhaps SP6) but this does mean some re-coding is needed if moving things from MVS Dave ? From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: 07 February 2023 02:02 To: [email protected] Subject: Re: [h390-vm] VM/370 & SVC #VMCE ? On Sun, Feb 5, 2023 at 06:08 PM, Mark Waterbury wrote:
Mark, |
On Sun, Feb 5, 2023 at 03:48 PM, Dave Wade wrote:
GC20-1807 Looks right, for 202 & 203 but I think the SVC202 has been extended by mods.I've found (and read) manuals for SVC 202/203, finally and that is taking me into the code, specifically DMSITS and DMSFNC. (Special thanks to Olaf for writing VMFEE EXEC.) File: $DMSITS? ASSEMBLE A1? RECFM: F LRECL:? 72(80) Lines:? 1549 Current:?? 340 ????? ....+....|....+|...2....+....3|...+....4....+....5....+....6....+....7.| ===== * THE HALFWORD CODE MAY BE EITHER POSITIVE OR NEGATIVE.? A NEGATIVE??? ? ===== * CODE SPECIFIES THE SAME ROUTINE AS A POSITIVE CODE, BUT THERE IS???? ? ===== * THE FOLLOWING DIFFERENCE:? IF THE CALLED ROUTINE GIVES AN ERROR????? ? ===== * RETURN (NON-ZERO REGISTER 15), THEN A POSITIVE CODE WILL CAUSE?????? ? ===== * DMSITS TO ABEND, WHILE A NEGATIVE CODE WILL CAUSE DMSITS TO RETURN?? ? ===== * TO THE POINT WHERE THE SVC WAS INVOKED.????????????????????????????? ? =====????????? LTR?? XR,XR?????????????????? IS THE CODE NEGATIVE??????????? ? =====????????? BP??? *+8???????????????????? SKIP IF POSITIVE??????????????? ? =====????????? OI??? NRMSAV+TYPFLAG-SSAVE,TPFERT SET ERROR RETURN FLAG?????? ? =====????????? LPR?? R15,XR????????????????? GET ABSOLUTE VALUE OF CODE????? ? =====????????? SPACE???????????????????????????????????????????????????????? ? ===== * THE ROUTINE NAME IS DETERMINED BY THE SECOND BYTE OF THE HALFWORD??? ? ===== * CODE.? THIS LEAVES SEVEN BITS OF THE FIRST BYTE WHICH MAY BE USED??? ? ===== * TO PASS INFORMATION TO THE SVC ROUTINE BY THE CALLER.??????????????? ? =====????????? N???? R15,=A(X'FF')?????????? GET ROUTINE CODE??????????????? ? =====????????? BZ??? NO203?????????????????? ZERO CODE IS ILLEGAL??????????? ? =====????????? L???? R14,=V(DMSFNC3)???????? POINT TO SVC 203 FUNCTION TABLE ? =====????????? C???? R15,0(,R14)???????????? DOES THIS EXCEED MAXIMUM CODE?? ? =====????????? BH??? NO203?????????????????? ILLEGAL IF IT DOES????????????? ???????????????????????????????????????????? I'm trying to find out if there is documentation on the SVC 203 halfword table. DMSITS has been extended by the person bright enough to add this bit. FSVIEW: DMSITS AUXHRC F1?????????????????? Lines 1-1/1 F80[1-79]? FSVIEW V1.2.5 HRC404DS V01 NUCEXT and SUBCOM support What I'm not finding is any external documentation on the table (DMSFNC) that SVC 203 (DMSITS) uses to determine what happens when I pick a particular halfword value. At this point, I'm reading through the assembler code for both of these routines to understand what is going on. So, if you bothered to read this far, if you know anything about SVC 203 and it's use of a halfword table to determine the function required ... I'm all ears. ?... Mark S. |
¿ªÔÆÌåÓýMark, ? Well as VM/370 always was source maintained I think the source is the only documentation on which entry goes where¡. This manual ? SY20-0887-1_vmLogicV2_Mar79.pdf ? Has some more info (sequential page 39) on how the table is used, but I am not sure its helpful¡. ? Dave ? From: [email protected] <[email protected]> On Behalf Of Mark A. Stevens via groups.io
Sent: Monday, May 29, 2023 11:16 PM To: [email protected] Subject: Re: [h390-vm] VM/370 & SVC #VMCE ? On Sun, Feb 5, 2023 at 03:48 PM, Dave Wade wrote:
I've found (and read) manuals for SVC 202/203, finally and that is taking me into the code, specifically DMSITS and DMSFNC. |
On Mon, May 29, 2023 at 06:12 PM, Dave Wade wrote:
Been there, read that. ;-) Good overview, but I'm done with milk and looking for meat :-D SO ... into the code I go. At least the code is documented. ?... Mark S. |
Hi Mark, I wrote the HRC404DS mod. Nucleus extensions first appeared?in VM/SP. IBM needed a way to relocate code containing CMS APIs that used the DC AL4(Error address), or sometimes just DC AL4(*+4). VM/SP started?allowing DC AL4(1) to specify?an error return address. Allowing that construct allowed any code containing the *+4 value to work, and to be relocatable. Bob Bolch On Mon, May 29, 2023 at 7:12?PM Dave Wade <dave.g4ugm@...> wrote:
|