Yes, hardware translation uses the translation tables maintained by the
software.  If the translation tables indicate a specific virtual page
does not have a corresponding real memory frame, it returns a program
check; it is up to the software how to respond to the program check:
assign a frame, page-in the page from auxiliary memory, return an error
to the program, etc.

There's more to it than that, of course.  But the developers of z/OS
decided that 31-bit programs should be minimally impacted by 64-bit
addressability.

On 2019-11-22 5:23 p.m., Paul Gilmartin wrote:
> On 2019-11-22, at 08:14:13, Dougie Lawson wrote:
>> ABEND0C4 PIC38 is the fun one. You can't step into any 32-bit address as
>> the 32nd bit was reserved by the MVS to MVS/XA change to mark whether we
>> were in 24-bit or 31-bit.
>>
>> So the 64-bit guys decided that the easiest fix was to completely disallow
>> any address from 8000000 through to 8FFFFFFF, which is an extremely good
>> idea to avoid breaking 31-bit code.
>>
> Do I understand correctly that enforcement is entirely by
> software; those addresses are quite acceptable to the hardware?
>
>> They added PIC3A and PIC3B for the 64-bit page and segment exceptions (and
>> we've seen a few of those with Db2).
> -- gil


Gary Weinhold
Senior Application Architect
DATAKINETICS | Data Performance & Optimization
Phone:+1.613.523.5500 x216
Email: weinh...@dkl.com
Visit us online at www.DKL.com
E-mail Notification: The information contained in this email and any 
attachments is confidential and may be subject to copyright or other 
intellectual property protection. If you are not the intended recipient, you 
are not authorized to use or disclose this information, and we request that you 
notify us by reply mail or telephone and delete the original message from your 
mail system.

Reply via email to