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.