Re: Registers in the RB

2024-02-05 Thread Joseph Reichman
Peter 

Thank you for explaining it I really think I get it 

I agree I can generalize a recovery I am changing file192 thinking of it as 
estate 

Including cases where there is abend in 

1) SVC 
2) PC 

For these I am going to locate the user registers and off set 

And include for all cases when appropriate 64 bit regs.  

Thank you again  

> On Feb 5, 2024, at 3:20 AM, Peter Relson 
> <056a472f7cb4-dmarc-requ...@listserv.ua.edu> wrote:
> 
> The fact that registers are saved (or at least land) in the "new RB" and the 
> PSW in the "old RB" was described many posts earlier. That applies in all 
> cases where a new (not "first") RB is created. Note that just when that 
> saving happens can be kind of funky for a case such as XCTL(X).
> 
> The problem that keeps cropping up in the posts is that the OP keeps making 
> judgments and assumptions that are not true (sometimes because they are 
> wrong, sometimes because they are incomplete). And these are under the guise 
> of enhancing a general recovery routine that never was a general recovery 
> routine, and based on the questions being asked will not be (because it won't 
> be suitable for an FRR). Now if it's a general ESTAE-type recovery routine, 
> perhaps that would be a reasonable goal.
> 
> If we want to be picky, System 0C1 is not an abend code. System 0C4 is not an 
> abend code. These are completion codes which might or might not result from 
> ABEND.
> For purposes of example the hardware gives control to the program check
> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
> 0C4 reason 4
> Well, not exactly. Let's try to be accurate. The program check FLIH issues 
> SOMETHING that results in recovery seeing a system completion code of 0C4 
> reason 4. That SOMETHING happens to be CALLRTM TYPE=PROGCK, about which I 
> will not provide any additional information. There is no ABEND at this point.
> 
> By the way there are more reason codes for 0C4 than 4,10,11 as of 
> z/Architecture.
> We keep saying that not everything that disrupts a running work unit creates 
> an RB. It is therefore obviously the case that the registers are saved 
> somewhere; they are not in a "new RB" when there is no new RB.
> 
> Consider the case where there was a program check when there is an FRR. RTM 
> understands how to convert a program interrupt code to a system completion 
> code. It does so, so that it can place that in the proper areas (such as the 
> SDWA and TCBCMPC and STCBCMPC), and it got the time of error regs from where 
> the PC FLIH put them. If the FRR retries, no new RB was ever involved.
> But let's say that all FRRs percolate, now this is where my hint comes in. 
> RTM issues an SVC D. This is unlike an application-issued (or other 
> system-issued) SVC D. But it is still an SVC D which is a type 2 SVC and thus 
> creates a new RB. Within this RB, the system places the time of error regs 
> that had been stashed earlier.If you want to find the time of error regs and 
> you can find RTM's SVRB, they are in there.
> 
> As to the question about high halves (and ARs for that matter), they are 
> saved in the XSB that corresponds to the RB that has the low halves.
> 
> There was mention about SVC D as being an SVC that can be issued in any 
> environment, such as being disabled (where normal SVCs cannot). That is not 
> accurate either (although it's not unreasonable to think of it that way). 
> When any SVC (x'D' is included) is issued in an improper-for-SVC environment, 
> the same thing happens - the SVC FLIH issues CALLRTM TYPE=SVCERR. You don't 
> get an RB for CALLRTM for a type 2 SVC (x'D' is included) issued in an 
> improper-for-SVC environment.  Flow then proceeds similar to the program 
> interrupt case through FRR processing. If an FRR retries (ignoring a nested 
> FRR), that's that, no "abend" SVC was successfully processed. If we need to 
> get to RTM 2 for ESTAE (or even task termination) processing, then the 
> special SVC D is issued.
> 
> Peter Relsonz/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: Registers in the RB

2024-02-05 Thread Binyamin Dissen
I have a suggestion.

Try writing an IPCS CLIST that does the formatting you want. Try it on
multiple dumps. When you get the CLIST worked out, then perhaps consider
putting it in a recovery routine.

On Sun, 4 Feb 2024 12:53:16 -0500 Joseph Reichman 
wrote:

:>And they are in the manual you previously 
:>
:>Posted ?
:>
:>
:>Just for clarity sake 
:>
:>Just ran  a small test 
:>
:>For the interrupt PSW which in the case of some PRB s might have a cde 
:>
:>The registers that go along with that RBOPSW 
:>Are always in the next rb 
:>
:>Regardless of the cause of the interrupt 
:>
:>Hope this is right 
:>
:>Thank you very much all 
:>
:>> On Feb 4, 2024, at 11:49?AM, Seymour J Metz  wrote:
:>> 
:>> ?Yes, expressed in hexadecimal. Systems Codes has a complete list of 
program interrupt codes that can cause an S0C4 if not intercepted.
:>> 
:>> --
:>> Shmuel (Seymour J.) Metz
:>> http://mason.gmu.edu/~smetz3
:>> ??? ?? ???
:>> ?? ???  ??
:>> 
:>> 
:>> From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
:>> Sent: Sunday, February 4, 2024 11:45 AM
:>> To: IBM-MAIN@LISTSERV.UA.EDU
:>> Subject: Re: Registers in the RB
:>> 
:>> 
:>> Seymour
:>> 
:>> When you say for example IC10 you are referring what would be in RBINTCOD 
correct ?
:>> 
:>>> On Feb 4, 2024, at 11:33?AM, Seymour J Metz  wrote:
:>>> ?Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely 
to be due to e.g., IC10, IC11. In MVT it's always IC04.
:>>> 
:>>> --
:>>> Shmuel (Seymour J.) Metz
:>>> http://mason.gmu.edu/~smetz3
:>>> ??? ?? ???
:>>> ?????? ???????  ??
:>>> 
:>>> 
:>>> From: IBM Mainframe Discussion List  on behalf 
of Joseph Reichman 
:>>> Sent: Sunday, February 4, 2024 11:11 AM
:>>> To: IBM-MAIN@LISTSERV.UA.EDU
:>>> Subject: Re: Registers in the RB
:>>> 
:>>> I’m trying to understand so that u don’t mess things up
:>>> 
:>>> The way Seymour explained it
:>>> 
:>>> For purposes of example the hardware gives control to the program check
:>>> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
:>>> 0C4 reason 4
:>>> 
:>>> Joe Reichman
:>>> 
:>>> 
:>>>> On Sun, Feb 4, 2024 at 11:06?AM Binyamin Dissen 

:>>>> wrote:
:>>>> 
:>>>> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
:>>>> wrote:
:>>>> 
:>>>> :>But thought S0C4 is a program check
:>>>> 
:>>>> It is.
:>>>> 
:>>>> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
:>>>> 
:>>>> An error recovery routine that messes up things is worse than none.
:>>>> 
:>>>> --
:>>>> Binyamin Dissen 
:>>>> 
http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
:>>>> 
:>>>> Director, Dissen Software, Bar & Grill - Israel
:>>>> 
:>>>> --
:>>>> 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
:>> 
:>> 
:>> --
:>> 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

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Registers in the RB

2024-02-05 Thread Peter Relson
The fact that registers are saved (or at least land) in the "new RB" and the 
PSW in the "old RB" was described many posts earlier. That applies in all cases 
where a new (not "first") RB is created. Note that just when that saving 
happens can be kind of funky for a case such as XCTL(X).

The problem that keeps cropping up in the posts is that the OP keeps making 
judgments and assumptions that are not true (sometimes because they are wrong, 
sometimes because they are incomplete). And these are under the guise of 
enhancing a general recovery routine that never was a general recovery routine, 
and based on the questions being asked will not be (because it won't be 
suitable for an FRR). Now if it's a general ESTAE-type recovery routine, 
perhaps that would be a reasonable goal.

If we want to be picky, System 0C1 is not an abend code. System 0C4 is not an 
abend code. These are completion codes which might or might not result from 
ABEND.
For purposes of example the hardware gives control to the program check
FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
0C4 reason 4
Well, not exactly. Let's try to be accurate. The program check FLIH issues 
SOMETHING that results in recovery seeing a system completion code of 0C4 
reason 4. That SOMETHING happens to be CALLRTM TYPE=PROGCK, about which I will 
not provide any additional information. There is no ABEND at this point.

By the way there are more reason codes for 0C4 than 4,10,11 as of 
z/Architecture.
We keep saying that not everything that disrupts a running work unit creates an 
RB. It is therefore obviously the case that the registers are saved somewhere; 
they are not in a "new RB" when there is no new RB.

Consider the case where there was a program check when there is an FRR. RTM 
understands how to convert a program interrupt code to a system completion 
code. It does so, so that it can place that in the proper areas (such as the 
SDWA and TCBCMPC and STCBCMPC), and it got the time of error regs from where 
the PC FLIH put them. If the FRR retries, no new RB was ever involved.
But let's say that all FRRs percolate, now this is where my hint comes in. RTM 
issues an SVC D. This is unlike an application-issued (or other system-issued) 
SVC D. But it is still an SVC D which is a type 2 SVC and thus creates a new 
RB. Within this RB, the system places the time of error regs that had been 
stashed earlier.If you want to find the time of error regs and you can find 
RTM's SVRB, they are in there.

As to the question about high halves (and ARs for that matter), they are saved 
in the XSB that corresponds to the RB that has the low halves. 

There was mention about SVC D as being an SVC that can be issued in any 
environment, such as being disabled (where normal SVCs cannot). That is not 
accurate either (although it's not unreasonable to think of it that way). When 
any SVC (x'D' is included) is issued in an improper-for-SVC environment, the 
same thing happens - the SVC FLIH issues CALLRTM TYPE=SVCERR. You don't get an 
RB for CALLRTM for a type 2 SVC (x'D' is included) issued in an 
improper-for-SVC environment.  Flow then proceeds similar to the program 
interrupt case through FRR processing. If an FRR retries (ignoring a nested 
FRR), that's that, no "abend" SVC was successfully processed. If we need to get 
to RTM 2 for ESTAE (or even task termination) processing, then the special SVC 
D is issued.

Peter Relsonz/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


Re: Registers in the RB

2024-02-04 Thread Seymour J Metz
CDE is irrelevant; an exit from an RB always gets the registers from the 
current registers and the exiting RB, and always gets the PSW from the previous 
RB.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Sunday, February 4, 2024 6:45 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB

That for all interrupts PSW and CDE if one exits is in old register in new

Thanks

> On Feb 4, 2024, at 6:40 PM, Seymour J Metz  wrote:
>
> Yes, general registers go in the new RB, PSW in the old. Whent the task is 
> not running the newest RB holds the PSW and the TCB holds the general 
> registers. I havent checked how the top halves are handled.
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Joseph Reichman 
> Sent: Sunday, February 4, 2024 12:53 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
>
> And they are in the manual you previously
>
> Posted ?
>
>
> Just for clarity sake
>
> Just ran  a small test
>
> For the interrupt PSW which in the case of some PRB s might have a cde
>
> The registers that go along with that RBOPSW
> Are always in the next rb
>
> Regardless of the cause of the interrupt
>
> Hope this is right
>
> Thank you very much all
>
>> On Feb 4, 2024, at 11:49 AM, Seymour J Metz  wrote:
>>
>> Yes, expressed in hexadecimal. Systems Codes has a complete list of program 
>> interrupt codes that can cause an S0C4 if not intercepted.
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>> עַם יִשְׂרָאֵל חַי
>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>
>> ____________
>> From: IBM Mainframe Discussion List  on behalf of 
>> Joseph Reichman 
>> Sent: Sunday, February 4, 2024 11:45 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Registers in the RB
>>
>>
>> Seymour
>>
>> When you say for example IC10 you are referring what would be in RBINTCOD 
>> correct ?
>>
>>>> On Feb 4, 2024, at 11:33 AM, Seymour J Metz  wrote:
>>> Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely 
>>> to be due to e.g., IC10, IC11. In MVT it's always IC04.
>>>
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> עַם יִשְׂרָאֵל חַי
>>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>>
>>> 
>>> From: IBM Mainframe Discussion List  on behalf of 
>>> Joseph Reichman 
>>> Sent: Sunday, February 4, 2024 11:11 AM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Registers in the RB
>>>
>>> I’m trying to understand so that u don’t mess things up
>>>
>>> The way Seymour explained it
>>>
>>> For purposes of example the hardware gives control to the program check
>>> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
>>> 0C4 reason 4
>>>
>>> Joe Reichman
>>>
>>>
>>>> On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
>>>> 
>>>> wrote:
>>>>
>>>> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
>>>> wrote:
>>>>
>>>> :>But thought S0C4 is a program check
>>>>
>>>> It is.
>>>>
>>>> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>>>>
>>>> An error recovery routine that messes up things is worse than none.
>>>>
>>>> --
>>>> Binyamin Dissen 
>>>> http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
>>>>
>>>> Director, Dissen Software, Bar & Grill - Israel
>>>>
>>>> --
>>>> For I

Re: Registers in the RB

2024-02-04 Thread Joseph Reichman
That for all interrupts PSW and CDE if one exits is in old register in new 

Thanks 

> On Feb 4, 2024, at 6:40 PM, Seymour J Metz  wrote:
> 
> Yes, general registers go in the new RB, PSW in the old. Whent the task is 
> not running the newest RB holds the PSW and the TCB holds the general 
> registers. I havent checked how the top halves are handled.
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> 
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Joseph Reichman 
> Sent: Sunday, February 4, 2024 12:53 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
> 
> And they are in the manual you previously
> 
> Posted ?
> 
> 
> Just for clarity sake
> 
> Just ran  a small test
> 
> For the interrupt PSW which in the case of some PRB s might have a cde
> 
> The registers that go along with that RBOPSW
> Are always in the next rb
> 
> Regardless of the cause of the interrupt
> 
> Hope this is right
> 
> Thank you very much all
> 
>> On Feb 4, 2024, at 11:49 AM, Seymour J Metz  wrote:
>> 
>> Yes, expressed in hexadecimal. Systems Codes has a complete list of program 
>> interrupt codes that can cause an S0C4 if not intercepted.
>> 
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>> עַם יִשְׂרָאֵל חַי
>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>> 
>> ____________
>> From: IBM Mainframe Discussion List  on behalf of 
>> Joseph Reichman 
>> Sent: Sunday, February 4, 2024 11:45 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Registers in the RB
>> 
>> 
>> Seymour
>> 
>> When you say for example IC10 you are referring what would be in RBINTCOD 
>> correct ?
>> 
>>>> On Feb 4, 2024, at 11:33 AM, Seymour J Metz  wrote:
>>> Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely 
>>> to be due to e.g., IC10, IC11. In MVT it's always IC04.
>>> 
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> עַם יִשְׂרָאֵל חַי
>>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>> 
>>> 
>>> From: IBM Mainframe Discussion List  on behalf of 
>>> Joseph Reichman 
>>> Sent: Sunday, February 4, 2024 11:11 AM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Registers in the RB
>>> 
>>> I’m trying to understand so that u don’t mess things up
>>> 
>>> The way Seymour explained it
>>> 
>>> For purposes of example the hardware gives control to the program check
>>> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
>>> 0C4 reason 4
>>> 
>>> Joe Reichman
>>> 
>>> 
>>>> On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
>>>> 
>>>> wrote:
>>>> 
>>>> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
>>>> wrote:
>>>> 
>>>> :>But thought S0C4 is a program check
>>>> 
>>>> It is.
>>>> 
>>>> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>>>> 
>>>> An error recovery routine that messes up things is worse than none.
>>>> 
>>>> --
>>>> Binyamin Dissen 
>>>> http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
>>>> 
>>>> Director, Dissen Software, Bar & Grill - Israel
>>>> 
>>>> --
>>>> 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: Registers in the RB

2024-02-04 Thread Seymour J Metz
Yes, general registers go in the new RB, PSW in the old. Whent the task is not 
running the newest RB holds the PSW and the TCB holds the general registers. I 
havent checked how the top halves are handled.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Sunday, February 4, 2024 12:53 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB

And they are in the manual you previously

Posted ?


Just for clarity sake

Just ran  a small test

For the interrupt PSW which in the case of some PRB s might have a cde

The registers that go along with that RBOPSW
Are always in the next rb

Regardless of the cause of the interrupt

Hope this is right

Thank you very much all

> On Feb 4, 2024, at 11:49 AM, Seymour J Metz  wrote:
>
> Yes, expressed in hexadecimal. Systems Codes has a complete list of program 
> interrupt codes that can cause an S0C4 if not intercepted.
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Joseph Reichman 
> Sent: Sunday, February 4, 2024 11:45 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
>
>
> Seymour
>
> When you say for example IC10 you are referring what would be in RBINTCOD 
> correct ?
>
>> On Feb 4, 2024, at 11:33 AM, Seymour J Metz  wrote:
>> Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely to 
>> be due to e.g., IC10, IC11. In MVT it's always IC04.
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>> עַם יִשְׂרָאֵל חַי
>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>
>> 
>> From: IBM Mainframe Discussion List  on behalf of 
>> Joseph Reichman 
>> Sent: Sunday, February 4, 2024 11:11 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Registers in the RB
>>
>> I’m trying to understand so that u don’t mess things up
>>
>> The way Seymour explained it
>>
>> For purposes of example the hardware gives control to the program check
>> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
>> 0C4 reason 4
>>
>> Joe Reichman
>>
>>
>>> On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
>>> wrote:
>>>
>>> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
>>> wrote:
>>>
>>> :>But thought S0C4 is a program check
>>>
>>> It is.
>>>
>>> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>>>
>>> An error recovery routine that messes up things is worse than none.
>>>
>>> --
>>> Binyamin Dissen 
>>> http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
>>>
>>> Director, Dissen Software, Bar & Grill - Israel
>>>
>>> --
>>> 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
>
>
> --
> 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: Registers in the RB

2024-02-04 Thread Joseph Reichman
And they are in the manual you previously 

Posted ?


Just for clarity sake 

Just ran  a small test 

For the interrupt PSW which in the case of some PRB s might have a cde 

The registers that go along with that RBOPSW 
Are always in the next rb 

Regardless of the cause of the interrupt 

Hope this is right 

Thank you very much all 

> On Feb 4, 2024, at 11:49 AM, Seymour J Metz  wrote:
> 
> Yes, expressed in hexadecimal. Systems Codes has a complete list of program 
> interrupt codes that can cause an S0C4 if not intercepted.
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> 
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Joseph Reichman 
> Sent: Sunday, February 4, 2024 11:45 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
> 
> 
> Seymour
> 
> When you say for example IC10 you are referring what would be in RBINTCOD 
> correct ?
> 
>> On Feb 4, 2024, at 11:33 AM, Seymour J Metz  wrote:
>> Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely to 
>> be due to e.g., IC10, IC11. In MVT it's always IC04.
>> 
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>> עַם יִשְׂרָאֵל חַי
>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>> 
>> 
>> From: IBM Mainframe Discussion List  on behalf of 
>> Joseph Reichman 
>> Sent: Sunday, February 4, 2024 11:11 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Registers in the RB
>> 
>> I’m trying to understand so that u don’t mess things up
>> 
>> The way Seymour explained it
>> 
>> For purposes of example the hardware gives control to the program check
>> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
>> 0C4 reason 4
>> 
>> Joe Reichman
>> 
>> 
>>> On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
>>> wrote:
>>> 
>>> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
>>> wrote:
>>> 
>>> :>But thought S0C4 is a program check
>>> 
>>> It is.
>>> 
>>> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>>> 
>>> An error recovery routine that messes up things is worse than none.
>>> 
>>> --
>>> Binyamin Dissen 
>>> http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
>>> 
>>> Director, Dissen Software, Bar & Grill - Israel
>>> 
>>> --
>>> 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
> 
> 
> --
> 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: Registers in the RB

2024-02-04 Thread Seymour J Metz
Yes, expressed in hexadecimal. Systems Codes has a complete list of program 
interrupt codes that can cause an S0C4 if not intercepted.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Sunday, February 4, 2024 11:45 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB


Seymour

When you say for example IC10 you are referring what would be in RBINTCOD 
correct ?

> On Feb 4, 2024, at 11:33 AM, Seymour J Metz  wrote:
> Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely to 
> be due to e.g., IC10, IC11. In MVT it's always IC04.
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Joseph Reichman 
> Sent: Sunday, February 4, 2024 11:11 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
>
> I’m trying to understand so that u don’t mess things up
>
> The way Seymour explained it
>
> For purposes of example the hardware gives control to the program check
> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
> 0C4 reason 4
>
> Joe Reichman
>
>
> On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
> wrote:
>
>> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
>> wrote:
>>
>> :>But thought S0C4 is a program check
>>
>> It is.
>>
>> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>>
>> An error recovery routine that messes up things is worse than none.
>>
>> --
>> Binyamin Dissen 
>> http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
>>
>> Director, Dissen Software, Bar & Grill - Israel
>>
>> --
>> 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


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Registers in the RB

2024-02-04 Thread Seymour J Metz
S0C4 was originally only for IC04, and in OS/VS it was only IC04, IC10 and 
IC11, but nowadays it can also be because of, e.g. IC28.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Binyamin Dissen 
Sent: Sunday, February 4, 2024 11:05 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB

On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
wrote:

:>But thought S0C4 is a program check

It is.

It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.

An error recovery routine that messes up things is worse than none.

--
Binyamin Dissen 
http://www.dissensoftware.com/

Director, Dissen Software, Bar & Grill - Israel

--
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: Registers in the RB

2024-02-04 Thread Joseph Reichman

Seymour 

When you say for example IC10 you are referring what would be in RBINTCOD 
correct ?

> On Feb 4, 2024, at 11:33 AM, Seymour J Metz  wrote:
> Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely to 
> be due to e.g., IC10, IC11. In MVT it's always IC04.
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> 
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Joseph Reichman 
> Sent: Sunday, February 4, 2024 11:11 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
> 
> I’m trying to understand so that u don’t mess things up
> 
> The way Seymour explained it
> 
> For purposes of example the hardware gives control to the program check
> FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
> 0C4 reason 4
> 
> Joe Reichman
> 
> 
> On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
> wrote:
> 
>> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
>> wrote:
>> 
>> :>But thought S0C4 is a program check
>> 
>> It is.
>> 
>> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>> 
>> An error recovery routine that messes up things is worse than none.
>> 
>> --
>> Binyamin Dissen 
>> http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
>> 
>> Director, Dissen Software, Bar & Grill - Israel
>> 
>> --
>> 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: Registers in the RB

2024-02-04 Thread Seymour J Metz
Since OS/VS, interrupt code 04 is less common amd an S0C4 is more likely to be 
due to e.g., IC10, IC11. In MVT it's always IC04.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Sunday, February 4, 2024 11:11 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB

I’m trying to understand so that u don’t mess things up

The way Seymour explained it

For purposes of example the hardware gives control to the program check
FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
0C4 reason 4

Joe Reichman


On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
wrote:

> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
> wrote:
>
> :>But thought S0C4 is a program check
>
> It is.
>
> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>
> An error recovery routine that messes up things is worse than none.
>
> --
> Binyamin Dissen 
> http://secure-web.cisco.com/1816mdJ8h5-_oO1Xw58w3a8lEY_-kExorCz4aYg_qWRPUg_S6L1Z7PSPpA_kZcoVdyWJRO7o8CZk3cdmof4xYFKWUq5F_354st8NqQ1H-DfhXLX7hOZMR91CjoL1YT6Mbzl6njAZmKFdodaka0a1fK4YYTFZC0MgMlnj3ZJIgBM_AqiHoqGC_AbIMpQH0IAacZQAZlVgvJf80mITj1INV2l7F5k_pFjt0QOTQKtvKl1ATyTUInntV2lYhaRLgGmYZAWVJIDYXYDUZJUKOWAxwAMDRvCZ_zlmMheKUwEgmhUqjkH-LZSn6EJ0dT3AX1KtXJ7SEVz6_Ju0n0gr_1s7lMc-k6E1u0vGItaEOADznerc8n-GIWT-wkJUZtCSSs1yckiVlCN-FkVRjnrgwLsd35OJUqktorRcnmAbG4EHP89E/http%3A%2F%2Fwww.dissensoftware.com
>
> Director, Dissen Software, Bar & Grill - Israel
>
> --
> 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: Registers in the RB

2024-02-04 Thread Joseph Reichman
I’m trying to understand so that u don’t mess things up

The way Seymour explained it

For purposes of example the hardware gives control to the program check
FLIH for interrupt code 4 the program check FLIH issues ABEND abend code
0C4 reason 4

Joe Reichman


On Sun, Feb 4, 2024 at 11:06 AM Binyamin Dissen 
wrote:

> On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
> wrote:
>
> :>But thought S0C4 is a program check
>
> It is.
>
> It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.
>
> An error recovery routine that messes up things is worse than none.
>
> --
> Binyamin Dissen 
> http://www.dissensoftware.com
>
> Director, Dissen Software, Bar & Grill - Israel
>
> --
> 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: Registers in the RB

2024-02-04 Thread Binyamin Dissen
On Sun, 4 Feb 2024 10:29:59 -0500 Joseph Reichman 
wrote:

:>But thought S0C4 is a program check 

It is.

It may be a pic-4,-10, or -11. If PIC-4, PSW was updated.

An error recovery routine that messes up things is worse than none.

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Registers in the RB

2024-02-04 Thread Seymour J Metz
No, if you get a system BEND 0C1 then the program interrupt code was 01; the is 
no program interrupt code 0C1.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Sunday, February 4, 2024 10:29 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB

Can you for proposed that I understand differentiate between a program check 
and abend
 S0C1 is a program check S0C4 is not

I understand the abend SVC 13 is not a program check
But thought S0C4 is a program check

Thank you

> On Feb 4, 2024, at 10:27 AM, Joseph Reichman  wrote:
>
> Seymour thanks
>
> This Manuel is from from 1987 ?
>
> Micheal was 1976
>
> Is this still valid ?
>
> I’ll read it in really not looking for easy way out
>
> Peter R said he answered in this general thread
>
> I did look back before posting
>
> The only thing I noticed was in the case of an abend for example 0F8 the type 
> of abend issued by the SVC FLIH the registers are in the next RB or ABend 
> SVCRB
>
> I thought in the case of a program check I.E. S0C1,4 etc it would be by that 
> I mean the registers and PSW in the PRB that represented that unit of work
>
> This program that abended was initiated by synch SVC 12 but I wasn’t looking 
> at the SVRB but the PRB
>
> Thanks
>
>> On Feb 4, 2024, at 10:14 AM, Seymour J Metz  wrote:
>>
>> The processing for SYNCH is the same whether it is  issued from a PRB or an 
>> SVRB; the caller's PSW goes into the old RB and the caller's general 
>> registers go into the new PRB.
>>
>> <http://.bitsavers.org/pdf/ibm/370/MVS_XA/LY28-1765-0_MVS_XA_Version_2_Release_2.0_System_Logic_Library_Supervisor_Control_Jun1987.pdf>
>>  is newer.
>>
>> Sometimes they get better.
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>> עַם יִשְׂרָאֵל חַי
>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>
>> ____________
>> From: IBM Mainframe Discussion List  on behalf of 
>> Michael Stein 
>> Sent: Sunday, February 4, 2024 4:06 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Registers in the RB
>>
>>>> On Sat, Feb 03, 2024 at 08:20:08PM -0500, Joseph Reichman wrote:
>>> It was my understanding probably erroneously that when a RB I guess I am
>>> talking about a PRB gets interrupted and that can happen in one of  two
>>> instances
>>>
>>> 1)An SVC
>>> 2)A Program check e.g. S0C1,4,
>>
>> There are many interrupts possible: External, I/O, Program, SVC plus a few
>> others.  Also including software caused like asynchronous exit routines.
>>
>> The bottom level of the system has to deal with these and one of it's
>> main concerns is where to save the state of whatever was running when
>> the interrupt happened.
>>
>> Since there are multiple CPUs and many many tasks & SRBs etc, it's
>> important that the state information (PSW & registers) are only saved
>> in areas others won't use at the same time otherwise they would get
>> overlay by another interrupt or processor leading to disaster.
>>
>> While the OS interrupt routines have processor related storage they can
>> only use this during the time they are disabled.  If they are going to
>> return to the interrupted work then they can restore them and return,
>> otherwise they must move/save the state elsewhere before they enable.
>>
>> For an OS task the registers and PSW are saved in task related control
>> blocks, a combination of the TCB and RBs.
>>
>> The SVC interrupt handler save state depending on the type of SVC:
>>
>> type 1: (required to hold local lock, so can use areas address space 
>> related))
>>   registers -> TCBGRS (?)
>>   PSW -> some address space related area (?)
>>
>> type 2,3,4: (doesn't require holding local lock so can't use address space
>>related area)
>>   . SVC caller's PSW & interupt code in top RB on TCB RB chain
>>   . gets SVRB, puts SVC issuer registers into this SVRB
>> and addes it to the top of the TCB RB chain
>>  so:
>>   . SVRB register contain the SVC issuer's registers
>>   . SVRB PSW is the SVC routines PSW
>>   . TCBGRS is the SVC routines registers
>>
>> Keep in mind that a type 2,3,4 SVC can issue another SVC (which will
>> if type 2,3,4 add 

Re: Registers in the RB

2024-02-04 Thread Seymour J Metz
The cited OS/VS2 PLM is for release 3.7;  It's backlevel for the MVS turnkey 
system, but I don't know of an online repository that has the 3.8 version with 
SU updates. Similarly, the cited OS/360 MVT PLM is for R17, way back-level for 
the 21,8 turnkey system, and I don' know of a more recent online copy.

Is there anybody in the DC metropolitan area willing to scan and OCR a bunch of 
manuals for bitsavers? I have dead trees that are not on their site.

0C4 is a system ABEND code that can occur as the result of, e,g., program 
interrupt codes 04, 10, 11; there is no program interrupt code 0C4.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Sunday, February 4, 2024 10:27 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB

Seymour thanks

This Manuel is from from 1987 ?

Micheal was 1976

Is this still valid ?

I’ll read it in really not looking for easy way out

Peter R said he answered in this general thread

I did look back before posting

The only thing I noticed was in the case of an abend for example 0F8 the type 
of abend issued by the SVC FLIH the registers are in the next RB or ABend SVCRB

I thought in the case of a program check I.E. S0C1,4 etc it would be by that I 
mean the registers and PSW in the PRB that represented that unit of work

This program that abended was initiated by synch SVC 12 but I wasn’t looking at 
the SVRB but the PRB

Thanks

> On Feb 4, 2024, at 10:14 AM, Seymour J Metz  wrote:
>
> The processing for SYNCH is the same whether it is  issued from a PRB or an 
> SVRB; the caller's PSW goes into the old RB and the caller's general 
> registers go into the new PRB.
>
> <http://.bitsavers.org/pdf/ibm/370/MVS_XA/LY28-1765-0_MVS_XA_Version_2_Release_2.0_System_Logic_Library_Supervisor_Control_Jun1987.pdf>
>  is newer.
>
> Sometimes they get better.
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Michael Stein 
> Sent: Sunday, February 4, 2024 4:06 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
>
>> On Sat, Feb 03, 2024 at 08:20:08PM -0500, Joseph Reichman wrote:
>> It was my understanding probably erroneously that when a RB I guess I am
>> talking about a PRB gets interrupted and that can happen in one of  two
>> instances
>>
>> 1)An SVC
>> 2)A Program check e.g. S0C1,4,
>
> There are many interrupts possible: External, I/O, Program, SVC plus a few
> others.  Also including software caused like asynchronous exit routines.
>
> The bottom level of the system has to deal with these and one of it's
> main concerns is where to save the state of whatever was running when
> the interrupt happened.
>
> Since there are multiple CPUs and many many tasks & SRBs etc, it's
> important that the state information (PSW & registers) are only saved
> in areas others won't use at the same time otherwise they would get
> overlay by another interrupt or processor leading to disaster.
>
> While the OS interrupt routines have processor related storage they can
> only use this during the time they are disabled.  If they are going to
> return to the interrupted work then they can restore them and return,
> otherwise they must move/save the state elsewhere before they enable.
>
> For an OS task the registers and PSW are saved in task related control
> blocks, a combination of the TCB and RBs.
>
> The SVC interrupt handler save state depending on the type of SVC:
>
> type 1: (required to hold local lock, so can use areas address space related))
>registers -> TCBGRS (?)
>PSW -> some address space related area (?)
>
> type 2,3,4: (doesn't require holding local lock so can't use address space
> related area)
>. SVC caller's PSW & interupt code in top RB on TCB RB chain
>. gets SVRB, puts SVC issuer registers into this SVRB
>  and addes it to the top of the TCB RB chain
>   so:
>. SVRB register contain the SVC issuer's registers
>. SVRB PSW is the SVC routines PSW
>. TCBGRS is the SVC routines registers
>
> Keep in mind that a type 2,3,4 SVC can issue another SVC (which will
> if type 2,3,4 add another SVRB).  Or it might issue the SYNCH SVC
> resulting in an RB being added to the RB chain (holding the SVC issuing
> SYNCH's PSW.  Where the SVCs routine registers go I don't know.
> Perhaps SYNCH with restore=y

Re: Registers in the RB

2024-02-04 Thread Joseph Reichman
Can you for proposed that I understand differentiate between a program check 
and abend 
 S0C1 is a program check S0C4 is not 

I understand the abend SVC 13 is not a program check 
But thought S0C4 is a program check 

Thank you 

> On Feb 4, 2024, at 10:27 AM, Joseph Reichman  wrote:
> 
> Seymour thanks
> 
> This Manuel is from from 1987 ?
> 
> Micheal was 1976
> 
> Is this still valid ?
> 
> I’ll read it in really not looking for easy way out
> 
> Peter R said he answered in this general thread
> 
> I did look back before posting
> 
> The only thing I noticed was in the case of an abend for example 0F8 the type 
> of abend issued by the SVC FLIH the registers are in the next RB or ABend 
> SVCRB
> 
> I thought in the case of a program check I.E. S0C1,4 etc it would be by that 
> I mean the registers and PSW in the PRB that represented that unit of work  
> 
> This program that abended was initiated by synch SVC 12 but I wasn’t looking 
> at the SVRB but the PRB
> 
> Thanks
> 
>> On Feb 4, 2024, at 10:14 AM, Seymour J Metz  wrote:
>> 
>> The processing for SYNCH is the same whether it is  issued from a PRB or an 
>> SVRB; the caller's PSW goes into the old RB and the caller's general 
>> registers go into the new PRB.
>> 
>> <http://.bitsavers.org/pdf/ibm/370/MVS_XA/LY28-1765-0_MVS_XA_Version_2_Release_2.0_System_Logic_Library_Supervisor_Control_Jun1987.pdf>
>>  is newer.
>> 
>> Sometimes they get better.
>> 
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>> עַם יִשְׂרָאֵל חַי
>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>> 
>> ____________
>> From: IBM Mainframe Discussion List  on behalf of 
>> Michael Stein 
>> Sent: Sunday, February 4, 2024 4:06 AM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Registers in the RB
>> 
>>>> On Sat, Feb 03, 2024 at 08:20:08PM -0500, Joseph Reichman wrote:
>>> It was my understanding probably erroneously that when a RB I guess I am
>>> talking about a PRB gets interrupted and that can happen in one of  two
>>> instances
>>> 
>>> 1)An SVC
>>> 2)A Program check e.g. S0C1,4,
>> 
>> There are many interrupts possible: External, I/O, Program, SVC plus a few
>> others.  Also including software caused like asynchronous exit routines.
>> 
>> The bottom level of the system has to deal with these and one of it's
>> main concerns is where to save the state of whatever was running when
>> the interrupt happened.
>> 
>> Since there are multiple CPUs and many many tasks & SRBs etc, it's
>> important that the state information (PSW & registers) are only saved
>> in areas others won't use at the same time otherwise they would get
>> overlay by another interrupt or processor leading to disaster.
>> 
>> While the OS interrupt routines have processor related storage they can
>> only use this during the time they are disabled.  If they are going to
>> return to the interrupted work then they can restore them and return,
>> otherwise they must move/save the state elsewhere before they enable.
>> 
>> For an OS task the registers and PSW are saved in task related control
>> blocks, a combination of the TCB and RBs.
>> 
>> The SVC interrupt handler save state depending on the type of SVC:
>> 
>> type 1: (required to hold local lock, so can use areas address space 
>> related))
>>   registers -> TCBGRS (?)
>>   PSW -> some address space related area (?)
>> 
>> type 2,3,4: (doesn't require holding local lock so can't use address space
>>related area)
>>   . SVC caller's PSW & interupt code in top RB on TCB RB chain
>>   . gets SVRB, puts SVC issuer registers into this SVRB
>> and addes it to the top of the TCB RB chain
>>  so:
>>   . SVRB register contain the SVC issuer's registers
>>   . SVRB PSW is the SVC routines PSW
>>   . TCBGRS is the SVC routines registers
>> 
>> Keep in mind that a type 2,3,4 SVC can issue another SVC (which will
>> if type 2,3,4 add another SVRB).  Or it might issue the SYNCH SVC
>> resulting in an RB being added to the RB chain (holding the SVC issuing
>> SYNCH's PSW.  Where the SVCs routine registers go I don't know.
>> Perhaps SYNCH with restore=yes is newer?
>> 
>> Also IRBs for asynchronous exit routines can be added to the RB chain.
>> In this case the interrupted registers will be in the

Re: Registers in the RB

2024-02-04 Thread Joseph Reichman
Seymour thanks 

This Manuel is from from 1987 ?

Micheal was 1976 

Is this still valid ? 

I’ll read it in really not looking for easy way out 

Peter R said he answered in this general thread 

I did look back before posting 

The only thing I noticed was in the case of an abend for example 0F8 the type 
of abend issued by the SVC FLIH the registers are in the next RB or ABend SVCRB 

I thought in the case of a program check I.E. S0C1,4 etc it would be by that I 
mean the registers and PSW in the PRB that represented that unit of work  

This program that abended was initiated by synch SVC 12 but I wasn’t looking at 
the SVRB but the PRB 

Thanks 

> On Feb 4, 2024, at 10:14 AM, Seymour J Metz  wrote:
> 
> The processing for SYNCH is the same whether it is  issued from a PRB or an 
> SVRB; the caller's PSW goes into the old RB and the caller's general 
> registers go into the new PRB.
> 
> <http://.bitsavers.org/pdf/ibm/370/MVS_XA/LY28-1765-0_MVS_XA_Version_2_Release_2.0_System_Logic_Library_Supervisor_Control_Jun1987.pdf>
>  is newer.
> 
> Sometimes they get better.
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> 
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Michael Stein 
> Sent: Sunday, February 4, 2024 4:06 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Registers in the RB
> 
>> On Sat, Feb 03, 2024 at 08:20:08PM -0500, Joseph Reichman wrote:
>> It was my understanding probably erroneously that when a RB I guess I am
>> talking about a PRB gets interrupted and that can happen in one of  two
>> instances
>> 
>> 1)An SVC
>> 2)A Program check e.g. S0C1,4,
> 
> There are many interrupts possible: External, I/O, Program, SVC plus a few
> others.  Also including software caused like asynchronous exit routines.
> 
> The bottom level of the system has to deal with these and one of it's
> main concerns is where to save the state of whatever was running when
> the interrupt happened.
> 
> Since there are multiple CPUs and many many tasks & SRBs etc, it's
> important that the state information (PSW & registers) are only saved
> in areas others won't use at the same time otherwise they would get
> overlay by another interrupt or processor leading to disaster.
> 
> While the OS interrupt routines have processor related storage they can
> only use this during the time they are disabled.  If they are going to
> return to the interrupted work then they can restore them and return,
> otherwise they must move/save the state elsewhere before they enable.
> 
> For an OS task the registers and PSW are saved in task related control
> blocks, a combination of the TCB and RBs.
> 
> The SVC interrupt handler save state depending on the type of SVC:
> 
> type 1: (required to hold local lock, so can use areas address space related))
>registers -> TCBGRS (?)
>PSW -> some address space related area (?)
> 
> type 2,3,4: (doesn't require holding local lock so can't use address space
> related area)
>. SVC caller's PSW & interupt code in top RB on TCB RB chain
>. gets SVRB, puts SVC issuer registers into this SVRB
>  and addes it to the top of the TCB RB chain
>   so:
>. SVRB register contain the SVC issuer's registers
>. SVRB PSW is the SVC routines PSW
>. TCBGRS is the SVC routines registers
> 
> Keep in mind that a type 2,3,4 SVC can issue another SVC (which will
> if type 2,3,4 add another SVRB).  Or it might issue the SYNCH SVC
> resulting in an RB being added to the RB chain (holding the SVC issuing
> SYNCH's PSW.  Where the SVCs routine registers go I don't know.
> Perhaps SYNCH with restore=yes is newer?
> 
> Also IRBs for asynchronous exit routines can be added to the RB chain.
> In this case the interrupted registers will be in the IRB register save
> area and the interrupted PSW will be in what was the top RB before the
> IRB was added.
> 
> I don't know if IBM makes available current logic manuals but old ones
> exist like:
> 
> https://archive.org/details/bitsavers_ibm370OSVSystemLogicLibraryVol4Rel3.7Jul76_23459458
> 
> It's not clear how much change has happened since then, but some of the
> basic concepts likely haven't changed all that much.  Look up how the
> SVC interrupt handler works...
> 
> Or an yet older manual for MVT, no SRBs just tasks, usually only one CPU,
> but similar TCB/RB structures:
> 
> https://ia903101.us.archive.org/20/items/b

Re: Registers in the RB

2024-02-04 Thread Seymour J Metz
Where registers are stored depends on the type of interrupt, and there are five 
types, not just two.

In the case of a program check*, what happens depends on the type, state and 
whether it is covered by a match [E]SPIE. In the case of a program check 
resulting in an S0Cx or S0Dx ABEND, the PSW is stored in the failing RB and the 
general registers are stored in the new ABEND SVRB.

* ABEND S0C4 is not a program check.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Saturday, February 3, 2024 8:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Registers in the RB

It was my understanding probably erroneously that when a RB I guess I am
talking about a PRB gets interrupted and that can happen in one of  two
instances

1)  An SVC
2)  A Program check e.g. S0C1,4,

Then if the interrupt is because of an SVC the program registers will be
saved in the new SVRB if it's because of the program check then it will be
saved in that RB

Just was looking at my abended rb in SDWARBAD which took off via a synch
macro and I deliberately abended it with a s0c1 the RBOPSW matched SDWAEC1

However the registers were in the next RB

If anyone can clarify this issue I would be very grateful


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: Registers in the RB

2024-02-04 Thread Seymour J Metz
The processing for SYNCH is the same whether it is  issued from a PRB or an 
SVRB; the caller's PSW goes into the old RB and the caller's general registers 
go into the new PRB.

<http://.bitsavers.org/pdf/ibm/370/MVS_XA/LY28-1765-0_MVS_XA_Version_2_Release_2.0_System_Logic_Library_Supervisor_Control_Jun1987.pdf>
 is newer.

Sometimes they get better.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of 
Michael Stein 
Sent: Sunday, February 4, 2024 4:06 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Registers in the RB

On Sat, Feb 03, 2024 at 08:20:08PM -0500, Joseph Reichman wrote:
> It was my understanding probably erroneously that when a RB I guess I am
> talking about a PRB gets interrupted and that can happen in one of  two
> instances
>
> 1)An SVC
> 2)A Program check e.g. S0C1,4,

There are many interrupts possible: External, I/O, Program, SVC plus a few
others.  Also including software caused like asynchronous exit routines.

The bottom level of the system has to deal with these and one of it's
main concerns is where to save the state of whatever was running when
the interrupt happened.

Since there are multiple CPUs and many many tasks & SRBs etc, it's
important that the state information (PSW & registers) are only saved
in areas others won't use at the same time otherwise they would get
overlay by another interrupt or processor leading to disaster.

While the OS interrupt routines have processor related storage they can
only use this during the time they are disabled.  If they are going to
return to the interrupted work then they can restore them and return,
otherwise they must move/save the state elsewhere before they enable.

For an OS task the registers and PSW are saved in task related control
blocks, a combination of the TCB and RBs.

The SVC interrupt handler save state depending on the type of SVC:

type 1: (required to hold local lock, so can use areas address space related))
registers -> TCBGRS (?)
PSW -> some address space related area (?)

type 2,3,4: (doesn't require holding local lock so can't use address space
 related area)
. SVC caller's PSW & interupt code in top RB on TCB RB chain
. gets SVRB, puts SVC issuer registers into this SVRB
  and addes it to the top of the TCB RB chain
   so:
. SVRB register contain the SVC issuer's registers
. SVRB PSW is the SVC routines PSW
. TCBGRS is the SVC routines registers

 Keep in mind that a type 2,3,4 SVC can issue another SVC (which will
 if type 2,3,4 add another SVRB).  Or it might issue the SYNCH SVC
 resulting in an RB being added to the RB chain (holding the SVC issuing
 SYNCH's PSW.  Where the SVCs routine registers go I don't know.
 Perhaps SYNCH with restore=yes is newer?

Also IRBs for asynchronous exit routines can be added to the RB chain.
In this case the interrupted registers will be in the IRB register save
area and the interrupted PSW will be in what was the top RB before the
IRB was added.

I don't know if IBM makes available current logic manuals but old ones
exist like:

 
https://archive.org/details/bitsavers_ibm370OSVSystemLogicLibraryVol4Rel3.7Jul76_23459458

It's not clear how much change has happened since then, but some of the
basic concepts likely haven't changed all that much.  Look up how the
SVC interrupt handler works...

Or an yet older manual for MVT, no SRBs just tasks, usually only one CPU,
but similar TCB/RB structures:

https://ia903101.us.archive.org/20/items/bitsavers_ibm360osR1TSupervisorRel17ProgramLogicNov1968_55700209/Y28-6659-3_MVT_Supervisor_Rel_17_Program_Logic_Nov1968.pdf

PS: Do the manuals get worse the newer they are?

--
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: Registers in the RB

2024-02-04 Thread Michael Stein
On Sat, Feb 03, 2024 at 08:20:08PM -0500, Joseph Reichman wrote:
> It was my understanding probably erroneously that when a RB I guess I am
> talking about a PRB gets interrupted and that can happen in one of  two
> instances
> 
> 1)An SVC
> 2)A Program check e.g. S0C1,4,

There are many interrupts possible: External, I/O, Program, SVC plus a few
others.  Also including software caused like asynchronous exit routines.

The bottom level of the system has to deal with these and one of it's
main concerns is where to save the state of whatever was running when
the interrupt happened.

Since there are multiple CPUs and many many tasks & SRBs etc, it's
important that the state information (PSW & registers) are only saved
in areas others won't use at the same time otherwise they would get
overlay by another interrupt or processor leading to disaster.

While the OS interrupt routines have processor related storage they can
only use this during the time they are disabled.  If they are going to
return to the interrupted work then they can restore them and return,
otherwise they must move/save the state elsewhere before they enable.

For an OS task the registers and PSW are saved in task related control
blocks, a combination of the TCB and RBs.

The SVC interrupt handler save state depending on the type of SVC:

type 1: (required to hold local lock, so can use areas address space related))
registers -> TCBGRS (?)
PSW -> some address space related area (?)

type 2,3,4: (doesn't require holding local lock so can't use address space
 related area)
. SVC caller's PSW & interupt code in top RB on TCB RB chain
. gets SVRB, puts SVC issuer registers into this SVRB
  and addes it to the top of the TCB RB chain
   so:
. SVRB register contain the SVC issuer's registers
. SVRB PSW is the SVC routines PSW
. TCBGRS is the SVC routines registers

 Keep in mind that a type 2,3,4 SVC can issue another SVC (which will
 if type 2,3,4 add another SVRB).  Or it might issue the SYNCH SVC
 resulting in an RB being added to the RB chain (holding the SVC issuing
 SYNCH's PSW.  Where the SVCs routine registers go I don't know.
 Perhaps SYNCH with restore=yes is newer?

Also IRBs for asynchronous exit routines can be added to the RB chain.
In this case the interrupted registers will be in the IRB register save
area and the interrupted PSW will be in what was the top RB before the
IRB was added.

I don't know if IBM makes available current logic manuals but old ones
exist like:

 
https://archive.org/details/bitsavers_ibm370OSVSystemLogicLibraryVol4Rel3.7Jul76_23459458

It's not clear how much change has happened since then, but some of the
basic concepts likely haven't changed all that much.  Look up how the
SVC interrupt handler works...

Or an yet older manual for MVT, no SRBs just tasks, usually only one CPU,
but similar TCB/RB structures:

https://ia903101.us.archive.org/20/items/bitsavers_ibm360osR1TSupervisorRel17ProgramLogicNov1968_55700209/Y28-6659-3_MVT_Supervisor_Rel_17_Program_Logic_Nov1968.pdf

PS: Do the manuals get worse the newer they are?

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Registers in the RB

2024-02-04 Thread Peter Relson
It was my understanding probably erroneously that when a RB I guess I am
talking about a PRB gets interrupted and that can happen in one of  two
instances

1)    An SVC
2)    A Program check e.g. S0C1,4
It is true that the understanding is erroneous. There are many more cases where 
any RB can be interrupted, and it is not true that interrupt by SVC necessarily 
creates a new RB.

I'm not going to answer beyond that since "asked and answered" would apply. 
That answer has been provided previously in the same general thread. But as a 
hint: SVC D is an SVC that creates an SVRB.
Peter Relsonz/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


Registers in the RB

2024-02-03 Thread Joseph Reichman
It was my understanding probably erroneously that when a RB I guess I am
talking about a PRB gets interrupted and that can happen in one of  two
instances

1)  An SVC
2)  A Program check e.g. S0C1,4,

Then if the interrupt is because of an SVC the program registers will be
saved in the new SVRB if it's because of the program check then it will be
saved in that RB

Just was looking at my abended rb in SDWARBAD which took off via a synch
macro and I deliberately abended it with a s0c1 the RBOPSW matched SDWAEC1 

However the registers were in the next RB

If anyone can clarify this issue I would be very grateful 


thanks

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN