Bill,

It seems that you are saying that the Extended Addressability Guide is
incorrect, in that it shows the first user private area beginning at 2G and
extending to 2T.  What you are saying is that the storage area beginning at
2G and extending to 4G is reserved, and the first user private area begins
at 4G.  Is this correct?

John P. Baker

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]]
On Behalf Of Bill Fairchild
Sent: Thursday, December 09, 2010 7:34 AM
To: [email protected]
Subject: Re: z/OS IARV64

Mostly correct.

You represented bit 31 incorrectly, and you have too many nibbles.  It
should be xxxxxxxx_8xxxxxxx.  Bit 31 can be on in virtual addresses above
xxxxxxx1_00000000 (e.g.,12345678_9ABCDEF0), but any addresses between
00000000_7FFFFFFF and 00000001_00000000 will cause a program interrupt.
IARV64 will return only valid addresses when asked to get new storage above
the bar.

The main reason for disallowing bit 31 within the 2G range from
00000000_7FFFFFFF to 00000001_00000000 was not that it was used as a flag
bit, but rather that it is used by the hardware to signal 31-bit addressing
for addresses between 00000000 and 7FFFFFFF when the CPU is running in
31-bit addressing mode.

z/OS is the only operating system produced by IBM that I know of that
enforces this rule.  The invalid range is not invalid under VM, VS1 (if it
still exists), DOS/VS (or whatever it is called now), TPF, etc.

Bill Fairchild
Rocket Software

Reply via email to