Re: CDE Extension for RMODE 64

2023-12-27 Thread Peter Relson

R15 has bit 63 on I would assume


Yes, reg 15 would be set up to be suitable for use by BSM 0,15 (AKA 
"pointer-defined")
hence having bit 63 on when you want the target to be AMODE 64
(as you would need for an address above 2G).

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


Re: CDE Extension for RMODE 64

2023-12-26 Thread Joseph Reichman
R15 has bit 63 on I would assume 

> On Dec 26, 2023, at 8:10 AM, Joseph Reichman  wrote:
> 
> Thank you
> 
> Still working on CBT file 192 general recovery
> 
> Routine
> 
>> On Dec 26, 2023, at 8:08 AM, Peter Relson  wrote:
>> 
>> 
>> when you say not every CDE is built  by z/os are you referring to the 
>> IDENTIFY Macro...?
>> 
>> 
>> No I am not. IDENTIFY is part of z/OS.
>> I am referring to non-z/OS programs that obtain storage for CDE's and chain 
>> them into the z/OS control structures such as the job pack queue TCBJPQ.
>> 
>> 
>> Also I noticed that the retry address is only 4 bytes.
>> I guess then to  you would have to retry to a label in the program that has 
>> RP instruction
>> And have your recovery set it up before returning to RTM
>> 
>> 
>> You noticed correctly. Neither retry addresses nor (more broadly) recovery 
>> routines can be above 2G.
>> However, your guess is not what anyone is likely to do.
>> The CVTBSM0F field was provided for this purpose.
>> You set up 64-bit retry reg 15 to the address of your above-the-bar retry 
>> address.
>> You make sure that that reg 15 will be used for retry (SETRP with 
>> RETRY15=YES, if an FRR; RETRY15 does not apply for ESTAE-type retry so that 
>> case is fine without RETRY15=YES).
>> You set up the retry address to the address of CVTBSM0F (not the contents of 
>> CVTBSM0F, that would not work).
>> You make sure retry is AMODE 64.
>> 
>> Retry goes to CVTBSM0F, the instruction there which is BSM 0,X'F' takes you 
>> to the target located by reg 15.
>> 
>> The system trace entry for that retry contains the value from reg 15, not 
>> the address of CVTBSM0F.
>> 
>> Aside from the trace entry manipulation, you could accomplish this by 
>> yourself with some other register if you had a need.
>> 
>> 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: CDE Extension for RMODE 64

2023-12-26 Thread Joseph Reichman
Thank you 

Still working on CBT file 192 general recovery 

Routine 

> On Dec 26, 2023, at 8:08 AM, Peter Relson  wrote:
> 
> 
> when you say not every CDE is built  by z/os are you referring to the 
> IDENTIFY Macro...?
> 
> 
> No I am not. IDENTIFY is part of z/OS.
> I am referring to non-z/OS programs that obtain storage for CDE's and chain 
> them into the z/OS control structures such as the job pack queue TCBJPQ.
> 
> 
> Also I noticed that the retry address is only 4 bytes.
> I guess then to  you would have to retry to a label in the program that has 
> RP instruction
> And have your recovery set it up before returning to RTM
> 
> 
> You noticed correctly. Neither retry addresses nor (more broadly) recovery 
> routines can be above 2G.
> However, your guess is not what anyone is likely to do.
> The CVTBSM0F field was provided for this purpose.
> You set up 64-bit retry reg 15 to the address of your above-the-bar retry 
> address.
> You make sure that that reg 15 will be used for retry (SETRP with 
> RETRY15=YES, if an FRR; RETRY15 does not apply for ESTAE-type retry so that 
> case is fine without RETRY15=YES).
> You set up the retry address to the address of CVTBSM0F (not the contents of 
> CVTBSM0F, that would not work).
> You make sure retry is AMODE 64.
> 
> Retry goes to CVTBSM0F, the instruction there which is BSM 0,X'F' takes you 
> to the target located by reg 15.
> 
> The system trace entry for that retry contains the value from reg 15, not the 
> address of CVTBSM0F.
> 
> Aside from the trace entry manipulation, you could accomplish this by 
> yourself with some other register if you had a need.
> 
> 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: CDE Extension for RMODE 64

2023-12-26 Thread Peter Relson

when you say not every CDE is built  by z/os are you referring to the IDENTIFY 
Macro...?


No I am not. IDENTIFY is part of z/OS.
I am referring to non-z/OS programs that obtain storage for CDE's and chain 
them into the z/OS control structures such as the job pack queue TCBJPQ.


Also I noticed that the retry address is only 4 bytes.
I guess then to  you would have to retry to a label in the program that has RP 
instruction
And have your recovery set it up before returning to RTM


You noticed correctly. Neither retry addresses nor (more broadly) recovery 
routines can be above 2G.
However, your guess is not what anyone is likely to do.
The CVTBSM0F field was provided for this purpose.
You set up 64-bit retry reg 15 to the address of your above-the-bar retry 
address.
You make sure that that reg 15 will be used for retry (SETRP with RETRY15=YES, 
if an FRR; RETRY15 does not apply for ESTAE-type retry so that case is fine 
without RETRY15=YES).
You set up the retry address to the address of CVTBSM0F (not the contents of 
CVTBSM0F, that would not work).
You make sure retry is AMODE 64.

Retry goes to CVTBSM0F, the instruction there which is BSM 0,X'F' takes you to 
the target located by reg 15.

The system trace entry for that retry contains the value from reg 15, not the 
address of CVTBSM0F.

Aside from the trace entry manipulation, you could accomplish this by yourself 
with some other register if you had a need.

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


Re: CDE Extension for RMODE 64

2023-12-25 Thread Joseph Reichman
Peter 

Thanks when is you say not every CDE is built  by z/os are you referring to the 
IDENTIFY 

Macro which a user can could a CDE using a. Address in storage 

Also I noticed that the retry address is only 4 bytes 

I guess then to  you would have to retry to a label in the program that has RP 
instruction 

And have your recovery set it up before returning to RTM

Thanks 

> On Dec 25, 2023, at 12:18 PM, Joseph Reichman  wrote:
> 
> 
> Thank you 
> 
> Peter I started looking at it while trying to enhance the GRECOV 
> 
>>> On Dec 25, 2023, at 8:48 AM, Peter Relson  wrote:
>>> 
>> 
>> If bit CDCEX in the CDE  meaning there is an CDE extension would that imply
>> the module is RMODE 64  since CDXEntpt64 is a double word
>> 
>> 
>> A simple glance at a CDE in storage for a module that is not RMODE 64 would 
>> show you that this is not the case.
>> 
>> Every CDE built by z/OS has a CDX, as does every LPDE. The CDCDEX / LPDECDEX 
>> bit is on in each..
>> Not every CDE is necessarily built by z/OS (to our regret).
>> 
>> A module is RMODE 64 (or has an RMODE 64 extent) if it has an extent that is 
>> above 2G.
>> Extents are normally in the area pointed to by CDXLMJP of a major 
>> (non-alias) CDE.
>> Since those extents have only 4 bytes for the extent address, that won't cut 
>> it for RMODE 64.
>> 
>> A CDX (when it exists) might have an "XTL64". The interface parts of a CDX 
>> are mapped by IHACDX. The extent list 64 (mapped by IHAXTL64) has an 8-byte 
>> address for an extent.
>> 
>> There is also the fine point of whether you are talking about "is the module 
>> defined as RMODE 64" or "is the module in 64-bit storage" or "is some extent 
>> of the module in 64-bit storage".
>> 
>> The answer to the first question is within the directory entry. AMBLIST is 
>> one way to display that information (or doing a BLDL or a DESERV GET).
>> The answer to the second and third questions lies with looking at the XTL64.
>> If CDXXTLST64Addr is not 0 and if every extent is above 64 then you'd 
>> consider the answer to the second question to be "yes".
>> If CDXXTLST64Addr is not 0 and if some extent is above 64 then you'd 
>> consider the answer to the third question to be "yes".
>> If CDXXTLST64Addr is 0 then the answers to the 2nd and 3rd questions are 
>> "no".
>> 
>> It does happen to be the case that if you look at the extent list pointed to 
>> by CDXLMJP, if one of the extents has an address >= x'7000', that 
>> correlates to "the extent is actually above 2G" and in that same entry the 
>> length is "1" (these being indicators that the real extent definition is in 
>> the XTL64 because it does not fit in the XTLST.
>> 
>> 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: CDE Extension for RMODE 64

2023-12-25 Thread Peter Relson

If bit CDCEX in the CDE  meaning there is an CDE extension would that imply
the module is RMODE 64  since CDXEntpt64 is a double word


A simple glance at a CDE in storage for a module that is not RMODE 64 would 
show you that this is not the case.

Every CDE built by z/OS has a CDX, as does every LPDE. The CDCDEX / LPDECDEX 
bit is on in each..
Not every CDE is necessarily built by z/OS (to our regret).

A module is RMODE 64 (or has an RMODE 64 extent) if it has an extent that is 
above 2G.
Extents are normally in the area pointed to by CDXLMJP of a major (non-alias) 
CDE.
Since those extents have only 4 bytes for the extent address, that won't cut it 
for RMODE 64.

A CDX (when it exists) might have an "XTL64". The interface parts of a CDX are 
mapped by IHACDX. The extent list 64 (mapped by IHAXTL64) has an 8-byte address 
for an extent.

There is also the fine point of whether you are talking about "is the module 
defined as RMODE 64" or "is the module in 64-bit storage" or "is some extent of 
the module in 64-bit storage".

The answer to the first question is within the directory entry. AMBLIST is one 
way to display that information (or doing a BLDL or a DESERV GET).
The answer to the second and third questions lies with looking at the XTL64.
If CDXXTLST64Addr is not 0 and if every extent is above 64 then you'd consider 
the answer to the second question to be "yes".
If CDXXTLST64Addr is not 0 and if some extent is above 64 then you'd consider 
the answer to the third question to be "yes".
If CDXXTLST64Addr is 0 then the answers to the 2nd and 3rd questions are "no".

It does happen to be the case that if you look at the extent list pointed to by 
CDXLMJP, if one of the extents has an address >= x'7000', that correlates 
to "the extent is actually above 2G" and in that same entry the length is "1" 
(these being indicators that the real extent definition is in the XTL64 because 
it does not fit in the XTLST.

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


Re: CDE Extension for RMODE 64

2023-12-24 Thread Paul Gilmartin
On Sun, 24 Dec 2023 19:01:06 -0500, Joseph Reichman wrote:

>Just trying to figure if a module is rmode 64
> 
AMBLIST?

-- 
gil

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


Re: CDE Extension for RMODE 64

2023-12-24 Thread Joseph Reichman
Just trying to figure if a module is rmode 64

Joe Reichman


On Sun, Dec 24, 2023 at 7:00 PM Seymour J Metz  wrote:

> SPLIT? Or is that only 24/31?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf
> of Joseph Reichman 
> Sent: Sunday, December 24, 2023 6:34 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: CDE Extension for RMODE 64
>
> HI
>
> If bit CDCEX in the CDE  meaning there is an CDE extension would that imply
> the module is RMODE 64  since CDXEntpt64 is a double word
>
> 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: CDE Extension for RMODE 64

2023-12-24 Thread Seymour J Metz
SPLIT? Or is that only 24/31?

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


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman 
Sent: Sunday, December 24, 2023 6:34 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: CDE Extension for RMODE 64

HI

If bit CDCEX in the CDE  meaning there is an CDE extension would that imply
the module is RMODE 64  since CDXEntpt64 is a double word

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


CDE Extension for RMODE 64

2023-12-24 Thread Joseph Reichman
HI

If bit CDCEX in the CDE  meaning there is an CDE extension would that imply
the module is RMODE 64  since CDXEntpt64 is a double word

thanks

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