Re: Program SDWA Registers
The SVRB for DEATACH contains the registers for the calling program; I still don't know whether that is the register set you want. Note: check carefully which words are supposed to be pointers to other words. Confusing, e.g., an ECB with the address of an ECB, will certainly cause issues. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of Joseph Reichman Sent: Tuesday, October 30, 2018 3:14 PM To: IBM-MAIN@listserv.ua.edu Subject: Re: Program SDWA Registers The ones from the user program having register values from IGC062 doesn’t do me much good > On Oct 30, 2018, at 3:12 PM, Seymour J Metz wrote: > > Which program registers? In general you will have a chain of contexts, and > you can't find the right one without a precise definition of which one you > need. > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > > From: IBM Mainframe Discussion List on behalf of > Joseph Reichman > Sent: Monday, October 29, 2018 10:13 PM > To: IBM-MAIN@listserv.ua.edu > Subject: Program SDWA Registers > > Hi > > > > I just got abend while doing a DETACH normally I look at offset hex +18 > SDWAGRSV for the program registers this time however the registers belonged > to IGC062 and mine was at SDWA offset hex +88 > > > > I was running under TESTAUTH so I was able to recognize it my question is > programmatically is there a way to determine were the program registers are > > > > > > Thanks > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Program SDWA Registers
The ones from the user program having register values from IGC062 doesn’t do me much good > On Oct 30, 2018, at 3:12 PM, Seymour J Metz wrote: > > Which program registers? In general you will have a chain of contexts, and > you can't find the right one without a precise definition of which one you > need. > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > > From: IBM Mainframe Discussion List on behalf of > Joseph Reichman > Sent: Monday, October 29, 2018 10:13 PM > To: IBM-MAIN@listserv.ua.edu > Subject: Program SDWA Registers > > Hi > > > > I just got abend while doing a DETACH normally I look at offset hex +18 > SDWAGRSV for the program registers this time however the registers belonged > to IGC062 and mine was at SDWA offset hex +88 > > > > I was running under TESTAUTH so I was able to recognize it my question is > programmatically is there a way to determine were the program registers are > > > > > > Thanks > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Program SDWA Registers
Which program registers? In general you will have a chain of contexts, and you can't find the right one without a precise definition of which one you need. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 From: IBM Mainframe Discussion List on behalf of Joseph Reichman Sent: Monday, October 29, 2018 10:13 PM To: IBM-MAIN@listserv.ua.edu Subject: Program SDWA Registers Hi I just got abend while doing a DETACH normally I look at offset hex +18 SDWAGRSV for the program registers this time however the registers belonged to IGC062 and mine was at SDWA offset hex +88 I was running under TESTAUTH so I was able to recognize it my question is programmatically is there a way to determine were the program registers are Thanks -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Program SDWA Registers
I can only say that maybe even if I don’t require it go into supervisor state and issue a SETFRR with Enabled unlocked task I don’t know if I’ll go there but the registers associated with the creators of the ESTAE are good enough as the base registers are intact enough to point to my retry to clean up resources Thanks On Oct 30, 2018, at 7:47 AM, Peter Relson wrote: >> programmatically is there a way to determine were the program registers > are > > In general, no. But specifically, "programmatically", sure (not > necessarily easily). > > -- The SDWA for an FRR has the time-of-error registers. > -- The SDWA for an ESTAE has the time-of-error registers and (we can think > of it like this) registers associated with the ESTAE-creator (I use the > term 'associate' loosely). > so neither of those are the registers at the time of the "call" (or, more > correct, the issuance of the DETACH SVC 62). > > How the routine that you called saved registers totally depends on the > routine. > DETACH is a type 2 SVC, thus runs as an SVRB. Therefore the system has > saved registers and PSW of the invoker of the SVC across the SVRB (the > newest RB, pointed to by PSATOLD->TCBRBP, has the regs) and the RB that > the SVRB's RBLINKB field points to (the calling program's RB, has the > PSW). > > Of course these are the RB's at the time that DETACH is running. By the > time recovery gets control for ESTAE-type recovery, it's different because > RTM's SVC D SVRB is in there as is the SYNCH-target RB for your ESTAE. > > Peter Relson > z/OS Core Technology Design > > > -- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: Program SDWA Registers
>programmatically is there a way to determine were the program registers are In general, no. But specifically, "programmatically", sure (not necessarily easily). -- The SDWA for an FRR has the time-of-error registers. -- The SDWA for an ESTAE has the time-of-error registers and (we can think of it like this) registers associated with the ESTAE-creator (I use the term 'associate' loosely). so neither of those are the registers at the time of the "call" (or, more correct, the issuance of the DETACH SVC 62). How the routine that you called saved registers totally depends on the routine. DETACH is a type 2 SVC, thus runs as an SVRB. Therefore the system has saved registers and PSW of the invoker of the SVC across the SVRB (the newest RB, pointed to by PSATOLD->TCBRBP, has the regs) and the RB that the SVRB's RBLINKB field points to (the calling program's RB, has the PSW). Of course these are the RB's at the time that DETACH is running. By the time recovery gets control for ESTAE-type recovery, it's different because RTM's SVC D SVRB is in there as is the SYNCH-target RB for your ESTAE. Peter Relson z/OS Core Technology Design -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN